Documentation ¶
Index ¶
- Variables
- func Resource(resource string) kschema.GroupResource
- type API
- type APIAccess
- type APIAccessList
- type APIAccessSpec
- type APIAccessStatus
- type APIList
- type APIPortal
- type APIPortalList
- type APIPortalSpec
- type APIPortalStatus
- type APIRateLimit
- type APIRateLimitList
- type APIRateLimitSpec
- type APIRateLimitStatus
- type APIReference
- type APISpec
- type APIStatus
- type APIVersion
- type APIVersionList
- type APIVersionRef
- type APIVersionSpec
- type APIVersionStatus
- type AccessControlOAuthIntro
- type AccessControlOAuthIntroClientConfig
- type AccessControlPolicy
- type AccessControlPolicyAPIKey
- type AccessControlPolicyAPIKeyKey
- type AccessControlPolicyBasicAuth
- type AccessControlPolicyJWT
- type AccessControlPolicyList
- type AccessControlPolicyOIDC
- type AccessControlPolicyOIDCGoogle
- type AccessControlPolicySpec
- type AccessControlPolicyStatus
- type HTTPClientConfig
- type HTTPClientConfigTLS
- type OIDCConfigStatus
- type OpenAPISpec
- type OperationFilter
- type OperationMatcher
- type OperationSet
- type Override
- type Period
- type Server
- type Session
- type StateCookie
- type Strategy
- type TokenSource
- type UISpec
Constants ¶
This section is empty.
Variables ¶
var (
// AddToScheme applies the SchemeBuilder functions to a specified scheme.
AddToScheme = schemeBuilder.AddToScheme
)
var SchemeGroupVersion = kschema.GroupVersion{
Group: "hub.traefik.io",
Version: "v1alpha1",
}
SchemeGroupVersion is group version used to register these objects.
Functions ¶
func Resource ¶
func Resource(resource string) kschema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource.
Types ¶
type API ¶
type API struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ObjectMeta `json:"metadata,omitempty"` Spec APISpec `json:"spec,omitempty"` // The current status of this API. // +optional Status APIStatus `json:"status,omitempty"` }
API defines an HTTP interface that is exposed to external clients. It specifies the supported versions and provides instructions for accessing its documentation. Once instantiated, an API object is associated with an Ingress, IngressRoute, or HTTPRoute resource, enabling the exposure of the described API to the outside world.
func (*API) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new API.
func (*API) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*API) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type APIAccess ¶
type APIAccess struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // The desired behavior of this APIAccess. // +kubebuilder:validation:XValidation:message="groups and everyone are mutually exclusive",rule="(has(self.everyone) && has(self.groups)) ? !(self.everyone && self.groups.size() > 0) : true" Spec APIAccessSpec `json:"spec,omitempty"` // The current status of this APIAccess. // +optional Status APIAccessStatus `json:"status,omitempty"` }
APIAccess defines who can access to a set of APIs.
func (*APIAccess) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIAccess.
func (*APIAccess) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*APIAccess) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type APIAccessList ¶
type APIAccessList struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ListMeta `json:"metadata,omitempty"` Items []APIAccess `json:"items"` }
APIAccessList defines a list of APIAccesses.
func (*APIAccessList) DeepCopy ¶
func (in *APIAccessList) DeepCopy() *APIAccessList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIAccessList.
func (*APIAccessList) DeepCopyInto ¶
func (in *APIAccessList) DeepCopyInto(out *APIAccessList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*APIAccessList) DeepCopyObject ¶
func (in *APIAccessList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type APIAccessSpec ¶
type APIAccessSpec struct { // Groups are the consumer groups that will gain access to the selected APIs. // +optional Groups []string `json:"groups,omitempty"` // Everyone indicates that all users will have access to the selected APIs. // +optional Everyone bool `json:"everyone,omitempty"` // APISelector selects the APIs that will be accessible to the configured audience. // Multiple APIAccesses can select the same set of APIs. // This field is optional and follows standard label selector semantics. // An empty APISelector matches any API. // +optional APISelector *metav1.LabelSelector `json:"apiSelector,omitempty"` // APIs defines a set of APIs that will be accessible to the configured audience. // Multiple APIAccesses can select the same APIs. // When combined with APISelector, this set of APIs is appended to the matching APIs. // +optional // +kubebuilder:validation:MaxItems=100 // +kubebuilder:validation:XValidation:message="duplicated apis",rule="self.all(x, self.exists_one(y, x.name == y.name))" APIs []APIReference `json:"apis,omitempty"` // OperationFilter specifies the allowed operations on APIs and APIVersions. // If not set, all operations are available. // An empty OperationFilter prohibits all operations. // +optional OperationFilter *OperationFilter `json:"operationFilter,omitempty"` }
APIAccessSpec configures an APIAccess.
func (*APIAccessSpec) DeepCopy ¶
func (in *APIAccessSpec) DeepCopy() *APIAccessSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIAccessSpec.
func (*APIAccessSpec) DeepCopyInto ¶
func (in *APIAccessSpec) DeepCopyInto(out *APIAccessSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type APIAccessStatus ¶
type APIAccessStatus struct { Version string `json:"version,omitempty"` SyncedAt *metav1.Time `json:"syncedAt,omitempty"` // Hash is a hash representing the APIAccess. Hash string `json:"hash,omitempty"` }
APIAccessStatus is the status of an APIAccess.
func (*APIAccessStatus) DeepCopy ¶
func (in *APIAccessStatus) DeepCopy() *APIAccessStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIAccessStatus.
func (*APIAccessStatus) DeepCopyInto ¶
func (in *APIAccessStatus) DeepCopyInto(out *APIAccessStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type APIList ¶
type APIList struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ListMeta `json:"metadata,omitempty"` Items []API `json:"items"` }
APIList defines a list of APIs.
func (*APIList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIList.
func (*APIList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*APIList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type APIPortal ¶
type APIPortal struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // The desired behavior of this APIPortal. Spec APIPortalSpec `json:"spec,omitempty"` // The current status of this APIPortal. // +optional Status APIPortalStatus `json:"status,omitempty"` }
APIPortal defines a developer portal for accessing the documentation of APIs.
func (*APIPortal) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIPortal.
func (*APIPortal) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*APIPortal) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type APIPortalList ¶
type APIPortalList struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ListMeta `json:"metadata,omitempty"` Items []APIPortal `json:"items"` }
APIPortalList defines a list of APIPortals.
func (*APIPortalList) DeepCopy ¶
func (in *APIPortalList) DeepCopy() *APIPortalList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIPortalList.
func (*APIPortalList) DeepCopyInto ¶
func (in *APIPortalList) DeepCopyInto(out *APIPortalList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*APIPortalList) DeepCopyObject ¶
func (in *APIPortalList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type APIPortalSpec ¶
type APIPortalSpec struct { // Title is the public facing name of the APIPortal. // +optional Title string `json:"title,omitempty"` // Description of the APIPortal. // +optional Description string `json:"description,omitempty"` // TrustedURLs are the urls that are trusted by the OAuth 2.0 authorization server. // +kubebuilder:validation:MinItems=1 // +kubebuilder:validation:MaxItems=1 // +kubebuilder:validation:XValidation:message="must be a valid URLs",rule="self.all(x, isURL(x))" TrustedURLs []string `json:"trustedUrls"` // UI holds the UI customization options. // +optional UI *UISpec `json:"ui,omitempty"` }
APIPortalSpec configures an APIPortal.
func (*APIPortalSpec) DeepCopy ¶
func (in *APIPortalSpec) DeepCopy() *APIPortalSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIPortalSpec.
func (*APIPortalSpec) DeepCopyInto ¶
func (in *APIPortalSpec) DeepCopyInto(out *APIPortalSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type APIPortalStatus ¶
type APIPortalStatus struct { Version string `json:"version,omitempty"` SyncedAt *metav1.Time `json:"syncedAt,omitempty"` // OIDC is the OIDC configuration for accessing the exposed APIPortal WebUI. // +optional OIDC *OIDCConfigStatus `json:"oidc,omitempty"` // Hash is a hash representing the APIPortal. Hash string `json:"hash,omitempty"` }
APIPortalStatus is the status of an APIPortal.
func (*APIPortalStatus) DeepCopy ¶
func (in *APIPortalStatus) DeepCopy() *APIPortalStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIPortalStatus.
func (*APIPortalStatus) DeepCopyInto ¶
func (in *APIPortalStatus) DeepCopyInto(out *APIPortalStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type APIRateLimit ¶
type APIRateLimit struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // The desired behavior of this APIRateLimit. // +kubebuilder:validation:XValidation:message="groups and everyone are mutually exclusive",rule="(has(self.everyone) && has(self.groups)) ? !(self.everyone && self.groups.size() > 0) : true" Spec APIRateLimitSpec `json:"spec,omitempty"` // The current status of this APIRateLimit. // +optional Status APIRateLimitStatus `json:"status,omitempty"` }
APIRateLimit defines how group of consumers are rate limited on a set of APIs.
func (*APIRateLimit) DeepCopy ¶
func (in *APIRateLimit) DeepCopy() *APIRateLimit
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIRateLimit.
func (*APIRateLimit) DeepCopyInto ¶
func (in *APIRateLimit) DeepCopyInto(out *APIRateLimit)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*APIRateLimit) DeepCopyObject ¶
func (in *APIRateLimit) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type APIRateLimitList ¶
type APIRateLimitList struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ListMeta `json:"metadata,omitempty"` Items []APIRateLimit `json:"items"` }
APIRateLimitList defines a list of APIRateLimits.
func (*APIRateLimitList) DeepCopy ¶
func (in *APIRateLimitList) DeepCopy() *APIRateLimitList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIRateLimitList.
func (*APIRateLimitList) DeepCopyInto ¶
func (in *APIRateLimitList) DeepCopyInto(out *APIRateLimitList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*APIRateLimitList) DeepCopyObject ¶
func (in *APIRateLimitList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type APIRateLimitSpec ¶
type APIRateLimitSpec struct { // Limit is the maximum number of token in the bucket. // +kubebuilder:validation:XValidation:message="must be a positive number",rule="self >= 0" Limit int `json:"limit"` // Period is the unit of time for the Limit. // +optional // +kubebuilder:validation:XValidation:message="must be between 1s and 1h",rule="self >= duration('1s') && self <= duration('1h')" Period *Period `json:"period,omitempty"` // Strategy defines how the bucket state will be synchronized between the different Traefik Hub instances. // It can be, either "local" or "distributed". // +optional // +kubebuilder:validation:Enum=local;distributed Strategy Strategy `json:"strategy,omitempty"` // Groups are the consumer groups that will be rate limited. // Multiple APIRateLimits can target the same set of consumer groups, the most restrictive one applies. // When a consumer belongs to multiple groups, the least restrictive APIRateLimit applies. // +optional Groups []string `json:"groups,omitempty"` // Everyone indicates that all users will, by default, be rate limited with this configuration. // If an APIRateLimit explicitly target a group, the default rate limit will be ignored. // +optional Everyone bool `json:"everyone,omitempty"` // APISelector selects the APIs that will be rate limited. // Multiple APIRateLimits can select the same set of APIs. // This field is optional and follows standard label selector semantics. // An empty APISelector matches any API. // +optional APISelector *metav1.LabelSelector `json:"apiSelector,omitempty"` // APIs defines a set of APIs that will be rate limited. // Multiple APIRateLimits can select the same APIs. // When combined with APISelector, this set of APIs is appended to the matching APIs. // +optional // +kubebuilder:validation:MaxItems=100 // +kubebuilder:validation:XValidation:message="duplicated apis",rule="self.all(x, self.exists_one(y, x.name == y.name))" APIs []APIReference `json:"apis,omitempty"` }
APIRateLimitSpec configures an APIRateLimit. The rate limiter is implemented using the Token Bucket algorithm, meaning, a virtual bucket is refilled at a constant rate defined by Limit/Period: https://en.wikipedia.org/wiki/Token_bucket
func (*APIRateLimitSpec) DeepCopy ¶
func (in *APIRateLimitSpec) DeepCopy() *APIRateLimitSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIRateLimitSpec.
func (*APIRateLimitSpec) DeepCopyInto ¶
func (in *APIRateLimitSpec) DeepCopyInto(out *APIRateLimitSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type APIRateLimitStatus ¶
type APIRateLimitStatus struct { Version string `json:"version,omitempty"` SyncedAt *metav1.Time `json:"syncedAt,omitempty"` // Hash is a hash representing the APIRateLimit. Hash string `json:"hash,omitempty"` }
APIRateLimitStatus is the status of an APIRateLimit.
func (*APIRateLimitStatus) DeepCopy ¶
func (in *APIRateLimitStatus) DeepCopy() *APIRateLimitStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIRateLimitStatus.
func (*APIRateLimitStatus) DeepCopyInto ¶
func (in *APIRateLimitStatus) DeepCopyInto(out *APIRateLimitStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type APIReference ¶
type APIReference struct { // Name of the API. // +kubebuilder:validation:MaxLength=253 Name string `json:"name"` }
APIReference references an API.
func (*APIReference) DeepCopy ¶
func (in *APIReference) DeepCopy() *APIReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIReference.
func (*APIReference) DeepCopyInto ¶
func (in *APIReference) DeepCopyInto(out *APIReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type APISpec ¶
type APISpec struct { // OpenAPISpec defines the API contract as an OpenAPI specification. // +optional // +kubebuilder:validation:XValidation:message="path or url must be defined",rule="has(self.path) || has(self.url)" OpenAPISpec *OpenAPISpec `json:"openApiSpec,omitempty"` // Versions are the different APIVersions available. // +optional // +kubebuilder:validation:MaxItems=100 // +kubebuilder:validation:MinItems=1 Versions []APIVersionRef `json:"versions,omitempty"` }
APISpec describes the API.
func (*APISpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APISpec.
func (*APISpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type APIStatus ¶
type APIStatus struct { Version string `json:"version,omitempty"` SyncedAt *metav1.Time `json:"syncedAt,omitempty"` // Hash is a hash representing the API. Hash string `json:"hash,omitempty"` }
APIStatus is the status of the API.
func (*APIStatus) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIStatus.
func (*APIStatus) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type APIVersion ¶
type APIVersion struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // The desired behavior of this APIVersion. Spec APIVersionSpec `json:"spec,omitempty"` // The current status of this APIVersion. // +optional Status APIVersionStatus `json:"status,omitempty"` }
APIVersion defines a version of an API. +kubebuilder:printcolumn:name="Title",type=string,JSONPath=`.spec.title` +kubebuilder:printcolumn:name="Release",type=string,JSONPath=`.spec.release`
func (*APIVersion) DeepCopy ¶
func (in *APIVersion) DeepCopy() *APIVersion
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIVersion.
func (*APIVersion) DeepCopyInto ¶
func (in *APIVersion) DeepCopyInto(out *APIVersion)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*APIVersion) DeepCopyObject ¶
func (in *APIVersion) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type APIVersionList ¶
type APIVersionList struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ListMeta `json:"metadata,omitempty"` Items []APIVersion `json:"items"` }
APIVersionList defines a list of APIVersionList.
func (*APIVersionList) DeepCopy ¶
func (in *APIVersionList) DeepCopy() *APIVersionList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIVersionList.
func (*APIVersionList) DeepCopyInto ¶
func (in *APIVersionList) DeepCopyInto(out *APIVersionList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*APIVersionList) DeepCopyObject ¶
func (in *APIVersionList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type APIVersionRef ¶ added in v1.0.0
type APIVersionRef struct { // Name of the APIVersion. // +kubebuilder:validation:MaxLength=253 Name string `json:"name"` }
APIVersionRef references an APIVersion.
func (*APIVersionRef) DeepCopy ¶ added in v1.0.0
func (in *APIVersionRef) DeepCopy() *APIVersionRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIVersionRef.
func (*APIVersionRef) DeepCopyInto ¶ added in v1.0.0
func (in *APIVersionRef) DeepCopyInto(out *APIVersionRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type APIVersionSpec ¶
type APIVersionSpec struct { // Title is the public facing name of the APIVersion. // +optional Title string `json:"title,omitempty"` // Release is the version number of the API. // This value must follow the SemVer format: https://semver.org/ // +kubebuilder:validation:MaxLength=100 // +kubebuilder:validation:XValidation:message="must be a valid semver version",rule="self.matches(r\"\"\"^v?(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$\"\"\")" Release string `json:"release"` // OpenAPISpec defines the API contract as an OpenAPI specification. // +optional // +kubebuilder:validation:XValidation:message="path or url must be defined",rule="has(self.path) || has(self.url)" OpenAPISpec *OpenAPISpec `json:"openApiSpec,omitempty"` }
APIVersionSpec configures an APIVersion.
func (*APIVersionSpec) DeepCopy ¶
func (in *APIVersionSpec) DeepCopy() *APIVersionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIVersionSpec.
func (*APIVersionSpec) DeepCopyInto ¶
func (in *APIVersionSpec) DeepCopyInto(out *APIVersionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type APIVersionStatus ¶
type APIVersionStatus struct { Version string `json:"version,omitempty"` SyncedAt *metav1.Time `json:"syncedAt,omitempty"` // Hash is a hash representing the APIVersion. Hash string `json:"hash,omitempty"` }
APIVersionStatus is the status of an APIVersion.
func (*APIVersionStatus) DeepCopy ¶
func (in *APIVersionStatus) DeepCopy() *APIVersionStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIVersionStatus.
func (*APIVersionStatus) DeepCopyInto ¶
func (in *APIVersionStatus) DeepCopyInto(out *APIVersionStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AccessControlOAuthIntro ¶
type AccessControlOAuthIntro struct { // +kubebuilder:validation:Required ClientConfig AccessControlOAuthIntroClientConfig `json:"clientConfig"` // +kubebuilder:validation:Required TokenSource TokenSource `json:"tokenSource"` Claims string `json:"claims,omitempty"` ForwardHeaders map[string]string `json:"forwardHeaders,omitempty"` }
AccessControlOAuthIntro configures an OAuth 2.0 Token Introspection access control policy.
func (*AccessControlOAuthIntro) DeepCopy ¶
func (in *AccessControlOAuthIntro) DeepCopy() *AccessControlOAuthIntro
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessControlOAuthIntro.
func (*AccessControlOAuthIntro) DeepCopyInto ¶
func (in *AccessControlOAuthIntro) DeepCopyInto(out *AccessControlOAuthIntro)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AccessControlOAuthIntroClientConfig ¶
type AccessControlOAuthIntroClientConfig struct { HTTPClientConfig `json:",inline"` // URL of the Authorization Server. // +kubebuilder:validation:Required URL string `json:"url"` // Headers to set when sending requests to the Authorization Server. Headers map[string]string `json:"headers,omitempty"` // TokenTypeHint is a hint to pass to the Authorization Server. // See https://tools.ietf.org/html/rfc7662#section-2.1 for more information. TokenTypeHint string `json:"tokenTypeHint,omitempty"` }
AccessControlOAuthIntroClientConfig configures the OAuth 2.0 client for issuing token introspection requests.
func (*AccessControlOAuthIntroClientConfig) DeepCopy ¶
func (in *AccessControlOAuthIntroClientConfig) DeepCopy() *AccessControlOAuthIntroClientConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessControlOAuthIntroClientConfig.
func (*AccessControlOAuthIntroClientConfig) DeepCopyInto ¶
func (in *AccessControlOAuthIntroClientConfig) DeepCopyInto(out *AccessControlOAuthIntroClientConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AccessControlPolicy ¶
type AccessControlPolicy struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ObjectMeta `json:"metadata,omitempty"` Spec AccessControlPolicySpec `json:"spec,omitempty"` // The current status of this access control policy. // +optional Status AccessControlPolicyStatus `json:"status,omitempty"` }
AccessControlPolicy defines an access control policy. +kubebuilder:resource:scope=Cluster
func (*AccessControlPolicy) DeepCopy ¶
func (in *AccessControlPolicy) DeepCopy() *AccessControlPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessControlPolicy.
func (*AccessControlPolicy) DeepCopyInto ¶
func (in *AccessControlPolicy) DeepCopyInto(out *AccessControlPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AccessControlPolicy) DeepCopyObject ¶
func (in *AccessControlPolicy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AccessControlPolicyAPIKey ¶
type AccessControlPolicyAPIKey struct { // KeySource defines how to extract API keys from requests. // +kubebuilder:validation:Required KeySource TokenSource `json:"keySource"` // Keys define the set of authorized keys to access a protected resource. Keys []AccessControlPolicyAPIKeyKey `json:"keys,omitempty"` // ForwardHeaders instructs the middleware to forward key metadata as header values upon successful authentication. ForwardHeaders map[string]string `json:"forwardHeaders,omitempty"` }
AccessControlPolicyAPIKey configure an APIKey control policy.
func (*AccessControlPolicyAPIKey) DeepCopy ¶
func (in *AccessControlPolicyAPIKey) DeepCopy() *AccessControlPolicyAPIKey
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessControlPolicyAPIKey.
func (*AccessControlPolicyAPIKey) DeepCopyInto ¶
func (in *AccessControlPolicyAPIKey) DeepCopyInto(out *AccessControlPolicyAPIKey)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AccessControlPolicyAPIKeyKey ¶
type AccessControlPolicyAPIKeyKey struct { // ID is the unique identifier of the key. // +kubebuilder:validation:Required ID string `json:"id"` // Value is the SHAKE-256 hash (using 64 bytes) of the API key. // +kubebuilder:validation:Required Value string `json:"value"` // Metadata holds arbitrary metadata for this key, can be used by ForwardHeaders. Metadata map[string]string `json:"metadata,omitempty"` }
AccessControlPolicyAPIKeyKey defines an API key.
func (*AccessControlPolicyAPIKeyKey) DeepCopy ¶
func (in *AccessControlPolicyAPIKeyKey) DeepCopy() *AccessControlPolicyAPIKeyKey
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessControlPolicyAPIKeyKey.
func (*AccessControlPolicyAPIKeyKey) DeepCopyInto ¶
func (in *AccessControlPolicyAPIKeyKey) DeepCopyInto(out *AccessControlPolicyAPIKeyKey)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AccessControlPolicyBasicAuth ¶
type AccessControlPolicyBasicAuth struct { Users []string `json:"users,omitempty"` Realm string `json:"realm,omitempty"` StripAuthorizationHeader bool `json:"stripAuthorizationHeader,omitempty"` ForwardUsernameHeader string `json:"forwardUsernameHeader,omitempty"` }
AccessControlPolicyBasicAuth holds the HTTP basic authentication configuration.
func (*AccessControlPolicyBasicAuth) DeepCopy ¶
func (in *AccessControlPolicyBasicAuth) DeepCopy() *AccessControlPolicyBasicAuth
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessControlPolicyBasicAuth.
func (*AccessControlPolicyBasicAuth) DeepCopyInto ¶
func (in *AccessControlPolicyBasicAuth) DeepCopyInto(out *AccessControlPolicyBasicAuth)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AccessControlPolicyJWT ¶
type AccessControlPolicyJWT struct { SigningSecret string `json:"signingSecret,omitempty"` SigningSecretBase64Encoded bool `json:"signingSecretBase64Encoded,omitempty"` PublicKey string `json:"publicKey,omitempty"` JWKsFile string `json:"jwksFile,omitempty"` JWKsURL string `json:"jwksUrl,omitempty"` StripAuthorizationHeader *bool `json:"stripAuthorizationHeader,omitempty"` ForwardHeaders map[string]string `json:"forwardHeaders,omitempty"` TokenQueryKey string `json:"tokenQueryKey,omitempty"` Claims string `json:"claims,omitempty"` }
AccessControlPolicyJWT configures a JWT access control policy.
func (*AccessControlPolicyJWT) DeepCopy ¶
func (in *AccessControlPolicyJWT) DeepCopy() *AccessControlPolicyJWT
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessControlPolicyJWT.
func (*AccessControlPolicyJWT) DeepCopyInto ¶
func (in *AccessControlPolicyJWT) DeepCopyInto(out *AccessControlPolicyJWT)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AccessControlPolicyList ¶
type AccessControlPolicyList struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ListMeta `son:"metadata,omitempty"` Items []AccessControlPolicy `json:"items"` }
AccessControlPolicyList defines a list of access control policy.
func (*AccessControlPolicyList) DeepCopy ¶
func (in *AccessControlPolicyList) DeepCopy() *AccessControlPolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessControlPolicyList.
func (*AccessControlPolicyList) DeepCopyInto ¶
func (in *AccessControlPolicyList) DeepCopyInto(out *AccessControlPolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AccessControlPolicyList) DeepCopyObject ¶
func (in *AccessControlPolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AccessControlPolicyOIDC ¶
type AccessControlPolicyOIDC struct { Issuer string `json:"issuer,omitempty"` ClientID string `json:"clientId,omitempty"` Secret *corev1.SecretReference `json:"secret,omitempty"` RedirectURL string `json:"redirectUrl,omitempty"` LogoutURL string `json:"logoutUrl,omitempty"` DisableAuthRedirectionPaths []string `json:"disableAuthRedirectionPaths,omitempty"` AuthParams map[string]string `json:"authParams,omitempty"` StateCookie *StateCookie `json:"stateCookie,omitempty"` Session *Session `json:"session,omitempty"` Scopes []string `json:"scopes,omitempty"` ForwardHeaders map[string]string `json:"forwardHeaders,omitempty"` Claims string `json:"claims,omitempty"` }
AccessControlPolicyOIDC holds the OIDC authentication configuration.
func (*AccessControlPolicyOIDC) DeepCopy ¶
func (in *AccessControlPolicyOIDC) DeepCopy() *AccessControlPolicyOIDC
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessControlPolicyOIDC.
func (*AccessControlPolicyOIDC) DeepCopyInto ¶
func (in *AccessControlPolicyOIDC) DeepCopyInto(out *AccessControlPolicyOIDC)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AccessControlPolicyOIDCGoogle ¶
type AccessControlPolicyOIDCGoogle struct { ClientID string `json:"clientId,omitempty"` Secret *corev1.SecretReference `json:"secret,omitempty"` RedirectURL string `json:"redirectUrl,omitempty"` LogoutURL string `json:"logoutUrl,omitempty"` AuthParams map[string]string `json:"authParams,omitempty"` StateCookie *StateCookie `json:"stateCookie,omitempty"` Session *Session `json:"session,omitempty"` ForwardHeaders map[string]string `json:"forwardHeaders,omitempty"` // Emails are the allowed emails to connect. // +kubebuilder:validation:MinItems:=1 Emails []string `json:"emails,omitempty"` }
AccessControlPolicyOIDCGoogle holds the Google OIDC authentication configuration.
func (*AccessControlPolicyOIDCGoogle) DeepCopy ¶
func (in *AccessControlPolicyOIDCGoogle) DeepCopy() *AccessControlPolicyOIDCGoogle
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessControlPolicyOIDCGoogle.
func (*AccessControlPolicyOIDCGoogle) DeepCopyInto ¶
func (in *AccessControlPolicyOIDCGoogle) DeepCopyInto(out *AccessControlPolicyOIDCGoogle)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AccessControlPolicySpec ¶
type AccessControlPolicySpec struct { JWT *AccessControlPolicyJWT `json:"jwt,omitempty"` BasicAuth *AccessControlPolicyBasicAuth `json:"basicAuth,omitempty"` APIKey *AccessControlPolicyAPIKey `json:"apiKey,omitempty"` OIDC *AccessControlPolicyOIDC `json:"oidc,omitempty"` OIDCGoogle *AccessControlPolicyOIDCGoogle `json:"oidcGoogle,omitempty"` OAuthIntro *AccessControlOAuthIntro `json:"oAuthIntro,omitempty"` }
AccessControlPolicySpec configures an access control policy.
func (*AccessControlPolicySpec) DeepCopy ¶
func (in *AccessControlPolicySpec) DeepCopy() *AccessControlPolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessControlPolicySpec.
func (*AccessControlPolicySpec) DeepCopyInto ¶
func (in *AccessControlPolicySpec) DeepCopyInto(out *AccessControlPolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AccessControlPolicyStatus ¶
type AccessControlPolicyStatus struct { Version string `json:"version,omitempty"` SyncedAt metav1.Time `json:"syncedAt,omitempty"` SpecHash string `json:"specHash,omitempty"` }
AccessControlPolicyStatus is the status of the access control policy.
func (*AccessControlPolicyStatus) DeepCopy ¶
func (in *AccessControlPolicyStatus) DeepCopy() *AccessControlPolicyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessControlPolicyStatus.
func (*AccessControlPolicyStatus) DeepCopyInto ¶
func (in *AccessControlPolicyStatus) DeepCopyInto(out *AccessControlPolicyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTPClientConfig ¶
type HTTPClientConfig struct { // TLS configures TLS communication with the Authorization Server. TLS *HTTPClientConfigTLS `json:"tls,omitempty"` // TimeoutSeconds configures the maximum amount of seconds to wait before giving up on requests. // +kubebuilder:default:=5 TimeoutSeconds int `json:"timeoutSeconds,omitempty"` // MaxRetries defines the number of retries for introspection requests. // +kubebuilder:default:=3 MaxRetries int `json:"maxRetries,omitempty"` }
HTTPClientConfig configures HTTP clients.
func (*HTTPClientConfig) DeepCopy ¶
func (in *HTTPClientConfig) DeepCopy() *HTTPClientConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPClientConfig.
func (*HTTPClientConfig) DeepCopyInto ¶
func (in *HTTPClientConfig) DeepCopyInto(out *HTTPClientConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTPClientConfigTLS ¶
type HTTPClientConfigTLS struct { // CA sets the CA bundle used to sign the Authorization Server certificate. CA string `json:"ca,omitempty"` // InsecureSkipVerify skips the Authorization Server certificate validation. // For testing purposes only, do not use in production. InsecureSkipVerify bool `json:"insecureSkipVerify,omitempty"` }
HTTPClientConfigTLS configures TLS for HTTP clients.
func (*HTTPClientConfigTLS) DeepCopy ¶
func (in *HTTPClientConfigTLS) DeepCopy() *HTTPClientConfigTLS
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPClientConfigTLS.
func (*HTTPClientConfigTLS) DeepCopyInto ¶
func (in *HTTPClientConfigTLS) DeepCopyInto(out *HTTPClientConfigTLS)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OIDCConfigStatus ¶
type OIDCConfigStatus struct { // Generic indicates whether or not the APIPortal authentication relies on Generic OIDC. // +optional Generic bool `json:"generic,omitempty"` // Issuer is the OIDC issuer for accessing the exposed APIPortal WebUI. // +optional Issuer string `json:"issuer,omitempty"` // ClientID is the OIDC ClientID for accessing the exposed APIPortal WebUI. // +optional ClientID string `json:"clientId,omitempty"` // SecretName is the name of the secret containing the OIDC ClientSecret for accessing the exposed APIPortal WebUI. // +optional SecretName string `json:"secretName,omitempty"` // Scopes is the OIDC scopes for getting user attributes during the authentication to the exposed APIPortal WebUI. // +optional Scopes string `json:"scopes,omitempty"` // UserIDClaim is the name of the JWT claim containing the user ID. // +optional UserIDClaim string `json:"userIdClaim,omitempty"` // FirstnameClaim is the name of the JWT claim containing the user firstname. // +optional FirstnameClaim string `json:"firstnameClaim,omitempty"` // LastnameClaim is the name of the JWT claim containing the user lastname. // +optional LastnameClaim string `json:"lastnameClaim,omitempty"` // EmailClaim is the name of the JWT claim containing the user email. // +optional EmailClaim string `json:"emailClaim,omitempty"` // GroupsClaim is the name of the JWT claim containing the user groups. // +optional GroupsClaim string `json:"groupsClaim,omitempty"` // CompanyClaim is the name of the JWT claim containing the user company. // +optional CompanyClaim string `json:"companyClaim,omitempty"` // SyncedAttributes configure the user attributes to sync. // +optional SyncedAttributes []string `json:"syncedAttributes,omitempty"` }
OIDCConfigStatus is the OIDC configuration status.
func (*OIDCConfigStatus) DeepCopy ¶
func (in *OIDCConfigStatus) DeepCopy() *OIDCConfigStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OIDCConfigStatus.
func (*OIDCConfigStatus) DeepCopyInto ¶
func (in *OIDCConfigStatus) DeepCopyInto(out *OIDCConfigStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OpenAPISpec ¶
type OpenAPISpec struct { // URL is a Traefik Hub agent accessible URL for obtaining the OpenAPI specification. // The URL must be accessible via a GET request method and should serve a YAML or JSON document containing the OpenAPI specification. // +optional // +kubebuilder:validation:XValidation:message="must be a valid URL",rule="isURL(self)" URL string `json:"url,omitempty"` // Override holds data used to override OpenAPI specification. // +optional Override *Override `json:"override,omitempty"` // Path specifies the endpoint path within the Kubernetes Service where the OpenAPI specification can be obtained. // The Service queried is determined by the associated Ingress, IngressRoute, or HTTPRoute resource to which the API is attached. // It's important to note that this option is incompatible if the Ingress or IngressRoute specifies multiple backend services. // The Path must be accessible via a GET request method and should serve a YAML or JSON document containing the OpenAPI specification. // +optional // +kubebuilder:validation:MaxLength=255 // +kubebuilder:validation:XValidation:message="must start with a '/'",rule="self.startsWith('/')" // +kubebuilder:validation:XValidation:message="cannot contains '../'",rule="!self.matches(r\"\"\"(\\/\\.\\.\\/)|(\\/\\.\\.$)\"\"\")" Path string `json:"path,omitempty"` // OperationSets defines the sets of operations to be referenced for granular filtering in APIAccesses. // +optional // +kubebuilder:validation:MaxItems=100 OperationSets []OperationSet `json:"operationSets,omitempty"` }
OpenAPISpec defines the API contract as an OpenAPI specification.
func (*OpenAPISpec) DeepCopy ¶
func (in *OpenAPISpec) DeepCopy() *OpenAPISpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenAPISpec.
func (*OpenAPISpec) DeepCopyInto ¶
func (in *OpenAPISpec) DeepCopyInto(out *OpenAPISpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OperationFilter ¶
type OperationFilter struct { // Include defines the names of OperationSets that will be accessible. // +optional // +kubebuilder:validation:MaxItems=100 Include []string `json:"include,omitempty"` }
OperationFilter specifies the allowed operations on APIs and APIVersions.
func (*OperationFilter) DeepCopy ¶
func (in *OperationFilter) DeepCopy() *OperationFilter
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperationFilter.
func (*OperationFilter) DeepCopyInto ¶
func (in *OperationFilter) DeepCopyInto(out *OperationFilter)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OperationMatcher ¶
type OperationMatcher struct { // Path specifies the exact path of the operations to select. // +optional // +kubebuilder:validation:MaxLength=255 // +kubebuilder:validation:XValidation:message="must start with a '/'",rule="self.startsWith('/')" // +kubebuilder:validation:XValidation:message="cannot contains '../'",rule="!self.matches(r\"\"\"(\\/\\.\\.\\/)|(\\/\\.\\.$)\"\"\")" Path string `json:"path,omitempty"` // PathPrefix specifies the path prefix of the operations to select. // +optional // +kubebuilder:validation:MaxLength=255 // +kubebuilder:validation:XValidation:message="must start with a '/'",rule="self.startsWith('/')" // +kubebuilder:validation:XValidation:message="cannot contains '../'",rule="!self.matches(r\"\"\"(\\/\\.\\.\\/)|(\\/\\.\\.$)\"\"\")" PathPrefix string `json:"pathPrefix,omitempty"` // PathRegex specifies a regular expression pattern for matching operations based on their paths. // +optional PathRegex string `json:"pathRegex,omitempty"` // Methods specifies the HTTP methods to be included for selection. // +optional // +kubebuilder:validation:MaxItems=10 Methods *[]string `json:"methods,omitempty"` }
OperationMatcher defines criteria for matching an OpenAPI operation. +kubebuilder:validation:MinProperties=1 +kubebuilder:validation:XValidation:message="path, pathPrefix and pathRegex are mutually exclusive",rule="[has(self.path), has(self.pathPrefix), has(self.pathRegex)].filter(x, x).size() <= 1"
func (*OperationMatcher) DeepCopy ¶
func (in *OperationMatcher) DeepCopy() *OperationMatcher
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperationMatcher.
func (*OperationMatcher) DeepCopyInto ¶
func (in *OperationMatcher) DeepCopyInto(out *OperationMatcher)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OperationSet ¶
type OperationSet struct { // Name is the name of the OperationSet to reference in APIAccesses. // +kubebuilder:validation:MaxLength=253 Name string `json:"name"` // Matchers defines a list of alternative rules for matching OpenAPI operations. // +kubebuilder:validation:MaxItems=100 // +kubebuilder:validation:MinItems=1 Matchers []OperationMatcher `json:"matchers"` }
OperationSet gives a name to a set of matching OpenAPI operations. This set of operations can then be referenced for granular filtering in APIAccesses.
func (*OperationSet) DeepCopy ¶
func (in *OperationSet) DeepCopy() *OperationSet
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperationSet.
func (*OperationSet) DeepCopyInto ¶
func (in *OperationSet) DeepCopyInto(out *OperationSet)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Override ¶ added in v1.3.0
type Override struct { // +kubebuilder:validation:MaxItems=100 // +kubebuilder:validation:MinItems=1 Servers []Server `json:"servers"` }
func (*Override) DeepCopy ¶ added in v1.3.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Override.
func (*Override) DeepCopyInto ¶ added in v1.3.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Period ¶
Period describes the time window on which a limit applies. +kubebuilder:validation:Type=string +kubebuilder:validation:Format=duration
func (*Period) MarshalJSON ¶
MarshalJSON marshals the Period.
func (*Period) UnmarshalJSON ¶
UnmarshalJSON unmarshals the buffer into a Period.
type Server ¶ added in v1.3.1
type Server struct { // +kubebuilder:validation:XValidation:message="must be a valid URL",rule="isURL(self)" URL string `json:"url"` }
func (*Server) DeepCopy ¶ added in v1.3.1
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Server.
func (*Server) DeepCopyInto ¶ added in v1.3.1
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Session ¶
type Session struct { SameSite string `json:"sameSite,omitempty"` Secure bool `json:"secure,omitempty"` Domain string `json:"domain,omitempty"` Path string `json:"path,omitempty"` Refresh *bool `json:"refresh,omitempty"` }
Session holds session configuration.
func (*Session) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Session.
func (*Session) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StateCookie ¶
type StateCookie struct { SameSite string `json:"sameSite,omitempty"` Secure bool `json:"secure,omitempty"` Domain string `json:"domain,omitempty"` Path string `json:"path,omitempty"` }
StateCookie holds state cookie configuration.
func (*StateCookie) DeepCopy ¶
func (in *StateCookie) DeepCopy() *StateCookie
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StateCookie.
func (*StateCookie) DeepCopyInto ¶
func (in *StateCookie) DeepCopyInto(out *StateCookie)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TokenSource ¶
type TokenSource struct { // Header is the name of a header. Header string `json:"header,omitempty"` // HeaderAuthScheme sets an optional auth scheme when Header is set to "Authorization". // If set, this scheme is removed from the token, and all requests not including it are dropped. HeaderAuthScheme string `json:"headerAuthScheme,omitempty"` // Query is the name of a query parameter. Query string `json:"query,omitempty"` // Cookie is the name of a cookie. Cookie string `json:"cookie,omitempty"` }
TokenSource describes how to extract tokens from HTTP requests. If multiple sources are set, the order is the following: header > query > cookie.
func (*TokenSource) DeepCopy ¶
func (in *TokenSource) DeepCopy() *TokenSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TokenSource.
func (*TokenSource) DeepCopyInto ¶
func (in *TokenSource) DeepCopyInto(out *TokenSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UISpec ¶
type UISpec struct { // LogoURL is the public URL of the logo. // +optional LogoURL string `json:"logoUrl,omitempty"` }
UISpec configures the UI customization.
func (*UISpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UISpec.
func (*UISpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.