Open
Description
What would you like to be added:
SessionPersistence should support client IP address mode. With this persistence method client will stick to the same BE for the configurable duration of time (Absolutetimeout). User should have an option to set IPMask as well which can be applied on client ip to persist clients from a subnet to stick to the same BE.
2 New fields are needed
IPMask
should be added inSessionPersistence
struct,ClientIPBasedSessionPersistence
should be a newSessionPersistenceType
.
type SessionPersistence struct {
// SessionName defines the name of the persistent session token
// which may be reflected in the cookie or the header. Users
// should avoid reusing session names to prevent unintended
// consequences, such as rejection or unpredictable behavior.
//
// Support: Implementation-specific
//
// +optional
// +kubebuilder:validation:MaxLength=128
SessionName *string `json:"sessionName,omitempty"`
// IPMask defines the IP mask to be applied on client this may be
// used to persist clients from a same subnet to stick to same session
//
// Support: Implementation-specific
//
// +optional
IPMask *string `json:"ipMask,omitempty"`
}
type SessionPersistenceType string
const (
// CookieBasedSessionPersistence specifies cookie-based session
// persistence.
//
// Support: Core
CookieBasedSessionPersistence SessionPersistenceType = "Cookie"
// HeaderBasedSessionPersistence specifies header-based session
// persistence.
//
// Support: Extended
HeaderBasedSessionPersistence SessionPersistenceType = "Header"
// ClientIPBasedSessionPersistence specifies Client IP based session
// persistence.
//
// Support: Implementation-specific
ClientIPBasedSessionPersistence SessionPersistenceType = "ClientIP"
)
Why this is needed:
This is needed to support client Ip Persistence in centralised way across gateway implementations.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Proposed
Status
Next