Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the dex v1alpha1 API group +kubebuilder:object:generate=true +groupName=dex.gpu-ninja.com
Index ¶
- Variables
- type DexIdentityProvider
- func (in *DexIdentityProvider) DeepCopy() *DexIdentityProvider
- func (in *DexIdentityProvider) DeepCopyInto(out *DexIdentityProvider)
- func (in *DexIdentityProvider) DeepCopyObject() runtime.Object
- func (d *DexIdentityProvider) ResolveReferences(ctx context.Context, reader client.Reader, scheme *runtime.Scheme) (bool, error)
- type DexIdentityProviderConditionType
- type DexIdentityProviderConnectorLDAPGroupSearchSpec
- type DexIdentityProviderConnectorLDAPGroupSearchUserMatcher
- type DexIdentityProviderConnectorLDAPSpec
- type DexIdentityProviderConnectorLDAPUserSearchSpec
- type DexIdentityProviderConnectorOIDCClaimMapping
- type DexIdentityProviderConnectorOIDCSpec
- type DexIdentityProviderConnectorSpec
- type DexIdentityProviderConnectorType
- type DexIdentityProviderExpirySpec
- type DexIdentityProviderFrontendSpec
- type DexIdentityProviderGRPCSpec
- type DexIdentityProviderList
- type DexIdentityProviderLocalStorageSpec
- type DexIdentityProviderLoggerSpec
- type DexIdentityProviderOAuth2Spec
- type DexIdentityProviderPhase
- type DexIdentityProviderRefreshTokenSpec
- type DexIdentityProviderSpec
- type DexIdentityProviderStatus
- type DexIdentityProviderStorageNetworkDBSpec
- type DexIdentityProviderStorageSSLSpec
- type DexIdentityProviderStorageSpec
- type DexIdentityProviderStorageSqlite3Spec
- type DexIdentityProviderStorageType
- type DexIdentityProviderWebSpec
- type DexOAuth2Client
- func (in *DexOAuth2Client) DeepCopy() *DexOAuth2Client
- func (in *DexOAuth2Client) DeepCopyInto(out *DexOAuth2Client)
- func (in *DexOAuth2Client) DeepCopyObject() runtime.Object
- func (d *DexOAuth2Client) ResolveReferences(ctx context.Context, reader client.Reader, scheme *runtime.Scheme) (bool, error)
- type DexOAuth2ClientList
- type DexOAuth2ClientPhase
- type DexOAuth2ClientSpec
- type DexOAuth2ClientStatus
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "dex.gpu-ninja.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type DexIdentityProvider ¶
type DexIdentityProvider struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec DexIdentityProviderSpec `json:"spec,omitempty"`
Status DexIdentityProviderStatus `json:"status,omitempty"`
}
DexIdentityProvider is a Dex IdP server. +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:shortName=idp +kubebuilder:printcolumn:name="Status",type=string,JSONPath=`.status.phase` +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`
func (*DexIdentityProvider) DeepCopy ¶
func (in *DexIdentityProvider) DeepCopy() *DexIdentityProvider
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DexIdentityProvider.
func (*DexIdentityProvider) DeepCopyInto ¶
func (in *DexIdentityProvider) DeepCopyInto(out *DexIdentityProvider)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DexIdentityProvider) DeepCopyObject ¶
func (in *DexIdentityProvider) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DexIdentityProviderConditionType ¶
type DexIdentityProviderConditionType string
const ( DexIdentityProviderConditionTypePending DexIdentityProviderConditionType = "Pending" DexIdentityProviderConditionTypeReady DexIdentityProviderConditionType = "Ready" DexIdentityProviderConditionTypeFailed DexIdentityProviderConditionType = "Failed" )
type DexIdentityProviderConnectorLDAPGroupSearchSpec ¶
type DexIdentityProviderConnectorLDAPGroupSearchSpec struct {
// BaseDN to start the search from. For example "cn=groups,dc=example,dc=com"
BaseDN string `json:"baseDN"`
// Filter is an optional filter to apply when searching the directory. For example "(objectClass=posixGroup)"
Filter string `json:"filter,omitempty"`
// Scope is the optional scope of the search (default "sub").
// Can either be:
// * "sub" - search the whole sub tree
// * "one" - only search one level
// +kubebuilder:validation:Enum=sub;one
Scope string `json:"scope,omitempty"`
// NameAttr is the attribute of the group that represents its name.
NameAttr string `json:"nameAttr"`
// UserMatchers is an array of the field pairs used to match a user to a group.
// See the "DexIdentityProviderConnectorLDAPGroupSearchUserMatcher" struct for the
// exact field names
//
// Each pair adds an additional requirement to the filter that an attribute in the group
// match the user's attribute value. For example that the "members" attribute of
// a group matches the "uid" of the user. The exact filter being added is:
//
// (userMatchers[n].<groupAttr>=userMatchers[n].<userAttr value>)
//
UserMatchers []DexIdentityProviderConnectorLDAPGroupSearchUserMatcher `json:"userMatchers"`
}
DexIdentityProviderConnectorLDAPGroupSearchSpec holds configuration for searching LDAP groups.
func (*DexIdentityProviderConnectorLDAPGroupSearchSpec) DeepCopy ¶
func (in *DexIdentityProviderConnectorLDAPGroupSearchSpec) DeepCopy() *DexIdentityProviderConnectorLDAPGroupSearchSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DexIdentityProviderConnectorLDAPGroupSearchSpec.
func (*DexIdentityProviderConnectorLDAPGroupSearchSpec) DeepCopyInto ¶
func (in *DexIdentityProviderConnectorLDAPGroupSearchSpec) DeepCopyInto(out *DexIdentityProviderConnectorLDAPGroupSearchSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DexIdentityProviderConnectorLDAPGroupSearchUserMatcher ¶
type DexIdentityProviderConnectorLDAPGroupSearchUserMatcher struct {
// UserAttr is the attribute to match against the user ID.
UserAttr string `json:"userAttr"`
// GroupAttr is the attribute to match against the group ID.
GroupAttr string `json:"groupAttr"`
}
DexIdentityProviderConnectorLDAPGroupSearchUserMatcher holds information about user and group matching.
func (*DexIdentityProviderConnectorLDAPGroupSearchUserMatcher) DeepCopy ¶
func (in *DexIdentityProviderConnectorLDAPGroupSearchUserMatcher) DeepCopy() *DexIdentityProviderConnectorLDAPGroupSearchUserMatcher
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DexIdentityProviderConnectorLDAPGroupSearchUserMatcher.
func (*DexIdentityProviderConnectorLDAPGroupSearchUserMatcher) DeepCopyInto ¶
func (in *DexIdentityProviderConnectorLDAPGroupSearchUserMatcher) DeepCopyInto(out *DexIdentityProviderConnectorLDAPGroupSearchUserMatcher)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DexIdentityProviderConnectorLDAPSpec ¶
type DexIdentityProviderConnectorLDAPSpec struct {
// Host is the host and optional port of the LDAP server.
// If port isn't supplied, it will be guessed based on the TLS configuration.
Host string `json:"host"`
// InsecureNoSSL is required to connect to a server without TLS.
InsecureNoSSL bool `json:"insecureNoSSL,omitempty"`
// InsecureSkipVerify allows connecting to a server without
// verifying the TLS certificate.
InsecureSkipVerify bool `json:"insecureSkipVerify,omitempty"`
// StartTLS allows connecting to a server that supports the StartTLS command.
// If unsupplied secure connections will use the LDAPS protocol.
StartTLS bool `json:"startTLS,omitempty"`
// CASecretRef is an optional reference to a secret containing the CA certificate.
CASecretRef *reference.LocalSecretReference `json:"caSecretRef,omitempty"`
// ClientCertificateSecretRef is an optional reference to a secret containing the client certificate and key.
ClientCertificateSecretRef *reference.LocalSecretReference `json:"clientCertificateSecretRef,omitempty"`
// BindUsername is the DN of the user to bind with.
// The connector uses these credentials to search for users and groups.
BindUsername string `json:"bindUsername"`
// BindPasswordSecretRef is a reference to a secret containing the bind password.
// The connector uses these credentials to search for users and groups.
BindPasswordSecretRef reference.LocalSecretReference `json:"bindPasswordSecretRef"`
// UsernamePrompt allows users to override the username attribute (displayed
// in the username/password prompt). If unset, the handler will use
// "Username".
UsernamePrompt string `json:"usernamePrompt,omitempty"`
// UserSearch contains configuration for searching LDAP users.
UserSearch DexIdentityProviderConnectorLDAPUserSearchSpec `json:"userSearch"`
// GroupSearch contains configuration for searching LDAP groups.
GroupSearch DexIdentityProviderConnectorLDAPGroupSearchSpec `json:"groupSearch"`
}
DexIdentityProviderConnectorLDAPSpec holds configuration for the LDAP connector.
func (*DexIdentityProviderConnectorLDAPSpec) DeepCopy ¶
func (in *DexIdentityProviderConnectorLDAPSpec) DeepCopy() *DexIdentityProviderConnectorLDAPSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DexIdentityProviderConnectorLDAPSpec.
func (*DexIdentityProviderConnectorLDAPSpec) DeepCopyInto ¶
func (in *DexIdentityProviderConnectorLDAPSpec) DeepCopyInto(out *DexIdentityProviderConnectorLDAPSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DexIdentityProviderConnectorLDAPUserSearchSpec ¶
type DexIdentityProviderConnectorLDAPUserSearchSpec struct {
// BaseDN to start the search from. For example "cn=users,dc=example,dc=com"
BaseDN string `json:"baseDN"`
// Filter is an optional filter to apply when searching the directory. For example "(objectClass=person)"
Filter string `json:"filter,omitempty"`
// Username is the attribute to match against the inputted username. This will be translated and combined
// with the other filter as "(<attr>=<username>)".
Username string `json:"username"`
// Scope is the optional scope of the search (default "sub").
// Can either be:
// * "sub" - search the whole sub tree
// * "one" - only search one level
// +kubebuilder:validation:Enum=sub;one
Scope string `json:"scope,omitempty"`
// IDAttr is the attribute to use as the user ID (default "uid").
IDAttr string `json:"idAttr,omitempty"`
// EmailAttr is the attribute to use as the user email (default "mail").
EmailAttr string `json:"emailAttr,omitempty"`
// NameAttr is the attribute to use as the display name for the user.
NameAttr string `json:"nameAttr,omitempty"`
// PreferredUsernameAttr is the attribute to use as the preferred username for the user.
PreferredUsernameAttr string `json:"preferredUsernameAttr,omitempty"`
// EmailSuffix if set, will be appended to the idAttr to construct the email claim.
// This should not include the @ character.
EmailSuffix string `json:"emailSuffix,omitempty"`
}
DexIdentityProviderConnectorLDAPUserSearchSpec holds configuration for searching LDAP users.
func (*DexIdentityProviderConnectorLDAPUserSearchSpec) DeepCopy ¶
func (in *DexIdentityProviderConnectorLDAPUserSearchSpec) DeepCopy() *DexIdentityProviderConnectorLDAPUserSearchSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DexIdentityProviderConnectorLDAPUserSearchSpec.
func (*DexIdentityProviderConnectorLDAPUserSearchSpec) DeepCopyInto ¶
func (in *DexIdentityProviderConnectorLDAPUserSearchSpec) DeepCopyInto(out *DexIdentityProviderConnectorLDAPUserSearchSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DexIdentityProviderConnectorOIDCClaimMapping ¶
type DexIdentityProviderConnectorOIDCClaimMapping struct {
// PreferredUsernameKey is the key which contains the preferred username claims, defaults to "preferred_username".
PreferredUsernameKey string `json:"preferred_username,omitempty"`
// EmailKey is the key which contains the email claims, defaults to "email".
EmailKey string `json:"email,omitempty"`
// GroupsKey is the key which contains the groups claims, defaults to "groups".
GroupsKey string `json:"groups,omitempty"`
}
DexIdentityProviderConnectorOIDCClaimMapping holds configuration for OIDC claim mapping.
func (*DexIdentityProviderConnectorOIDCClaimMapping) DeepCopy ¶
func (in *DexIdentityProviderConnectorOIDCClaimMapping) DeepCopy() *DexIdentityProviderConnectorOIDCClaimMapping
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DexIdentityProviderConnectorOIDCClaimMapping.
func (*DexIdentityProviderConnectorOIDCClaimMapping) DeepCopyInto ¶
func (in *DexIdentityProviderConnectorOIDCClaimMapping) DeepCopyInto(out *DexIdentityProviderConnectorOIDCClaimMapping)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DexIdentityProviderConnectorOIDCSpec ¶
type DexIdentityProviderConnectorOIDCSpec struct {
// Issuer is the URL of the OIDC issuer.
Issuer string `json:"issuer"`
// ClientSecretRef is a reference to a secret containing the OAuth client id and secret.
ClientSecretRef reference.LocalSecretReference `json:"clientSecretRef"`
// RedirectURI is the OAuth redirect URI.
RedirectURI string `json:"redirectURI"`
// BasicAuthUnsupported causes client_secret to be passed as POST parameters instead of basic
// auth. This is specifically "NOT RECOMMENDED" by the OAuth2 RFC, but some
// providers require it.
//
// https://tools.ietf.org/html/rfc6749#section-2.3.1
BasicAuthUnsupported *bool `json:"basicAuthUnsupported,omitempty"`
// Scopes is an optional list of scopes to request.
// If omitted, defaults to "profile" and "email".
Scopes []string `json:"scopes,omitempty"`
// CASecretRef is an optional reference to a secret containing the CA certificate.
// Only required if your provider uses a self-signed certificate.
CASecretRef *reference.LocalSecretReference `json:"caSecretRef,omitempty"`
// InsecureSkipVerify disables TLS certificate verification.
InsecureSkipVerify bool `json:"insecureSkipVerify,omitempty"`
// InsecureSkipEmailVerified if set will override the value of email_verified to true in the returned claims.
InsecureSkipEmailVerified bool `json:"insecureSkipEmailVerified,omitempty"`
// InsecureEnableGroups enables groups claims.
InsecureEnableGroups bool `json:"insecureEnableGroups,omitempty"`
// AcrValues (Authentication Context Class Reference Values) that specifies the Authentication Context Class Values
// within the Authentication Request that the Authorization Server is being requested to use for
// processing requests from this Client, with the values appearing in order of preference.
AcrValues []string `json:"acrValues,omitempty"`
// GetUserInfo uses the userinfo endpoint to get additional claims for
// the token. This is especially useful where upstreams return "thin"
// id tokens
GetUserInfo bool `json:"getUserInfo,omitempty"`
// UserIDKey is the claim key to use for the user ID (default sub).
UserIDKey string `json:"userIDKey,omitempty"`
// UserNameKey is the claim key to use for the username (default name).
UserNameKey string `json:"userNameKey,omitempty"`
// PromptType will be used fot the prompt parameter (when offline_access, by default prompt=consent).
PromptType string `json:"promptType,omitempty"`
// OverrideClaimMapping will be used to override the options defined in claimMappings.
// i.e. if there are 'email' and `preferred_email` claims available, by default Dex will always use the `email` claim independent of the ClaimMapping.EmailKey.
// This setting allows you to override the default behavior of Dex and enforce the mappings defined in `claimMapping`.
// Defaults to false.
OverrideClaimMapping bool `json:"overrideClaimMapping,omitempty"`
// ClaimMapping is used to map non-standard claims to standard claims.
// Some providers return non-standard claims (eg. mail).
// https://openid.net/specs/openid-connect-core-1_0.html#Claims
ClaimMapping *DexIdentityProviderConnectorOIDCClaimMapping `json:"claimMapping,omitempty"`
}
DexIdentityProviderConnectorOIDCSpec holds configuration for the OIDC connector.
func (*DexIdentityProviderConnectorOIDCSpec) DeepCopy ¶
func (in *DexIdentityProviderConnectorOIDCSpec) DeepCopy() *DexIdentityProviderConnectorOIDCSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DexIdentityProviderConnectorOIDCSpec.
func (*DexIdentityProviderConnectorOIDCSpec) DeepCopyInto ¶
func (in *DexIdentityProviderConnectorOIDCSpec) DeepCopyInto(out *DexIdentityProviderConnectorOIDCSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DexIdentityProviderConnectorSpec ¶
type DexIdentityProviderConnectorSpec struct {
// Type is the connector type to use.
//+kubebuilder:validation:Enum=ldap;oidc
Type DexIdentityProviderConnectorType `json:"type"`
// Name is the connector name.
Name string `json:"name"`
// ID is the connector ID.
ID string `json:"id"`
// LDAP holds configuration for the LDAP connector.
LDAP *DexIdentityProviderConnectorLDAPSpec `json:"ldap,omitempty"`
// OIDC holds configuration for the OIDC connector.
OIDC *DexIdentityProviderConnectorOIDCSpec `json:"oidc,omitempty"`
}
DexIdentityProviderConnectorSpec holds configuration for a connector.
func (*DexIdentityProviderConnectorSpec) DeepCopy ¶
func (in *DexIdentityProviderConnectorSpec) DeepCopy() *DexIdentityProviderConnectorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DexIdentityProviderConnectorSpec.
func (*DexIdentityProviderConnectorSpec) DeepCopyInto ¶
func (in *DexIdentityProviderConnectorSpec) DeepCopyInto(out *DexIdentityProviderConnectorSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DexIdentityProviderConnectorType ¶
type DexIdentityProviderConnectorType string
DexIdentityProviderConnectorType defines the connector type to use. We only support a subset of the available Dex connectors atm.
const ( DexIdentityProviderConnectorTypeLDAP DexIdentityProviderConnectorType = "ldap" DexIdentityProviderConnectorTypeOIDC DexIdentityProviderConnectorType = "oidc" )
type DexIdentityProviderExpirySpec ¶
type DexIdentityProviderExpirySpec struct {
// SigningKeys defines the duration of time after which the SigningKeys will be rotated.
SigningKeys *metav1.Duration `json:"signingKeys,omitempty"`
// IDTokens defines the duration of time for which the IdTokens will be valid.
IDTokens *metav1.Duration `json:"idTokens,omitempty"`
// AuthRequests defines the duration of time for which the AuthRequests will be valid.
AuthRequests *metav1.Duration `json:"authRequests,omitempty"`
// DeviceRequests defines the duration of time for which the DeviceRequests will be valid.
DeviceRequests *metav1.Duration `json:"deviceRequests,omitempty"`
// RefreshTokens defines refresh tokens expiry policy.
RefreshTokens *DexIdentityProviderRefreshTokenSpec `json:"refreshTokens,omitempty"`
}
DexIdentityProviderExpirySpec holds configuration for the validity of tokens, signing keys, etc.
func (*DexIdentityProviderExpirySpec) DeepCopy ¶
func (in *DexIdentityProviderExpirySpec) DeepCopy() *DexIdentityProviderExpirySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DexIdentityProviderExpirySpec.
func (*DexIdentityProviderExpirySpec) DeepCopyInto ¶
func (in *DexIdentityProviderExpirySpec) DeepCopyInto(out *DexIdentityProviderExpirySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DexIdentityProviderFrontendSpec ¶
type DexIdentityProviderFrontendSpec struct {
// Dir is a file path to static web assets.
//
// It is expected to contain the following directories:
// * static - Static static served at "( issuer URL )/static".
// * templates - HTML templates controlled by dex.
// * themes/(theme) - Static static served at "( issuer URL )/theme".
Dir string `json:"dir,omitempty"`
// LogoURL is the URL of the logo to use in the HTML templates.
// Defaults to "( issuer URL )/theme/logo.png"
LogoURL string `json:"logoURL,omitempty"`
// Issuer is the name of the issuer, used in the HTML templates.
// Defaults to "dex".
Issuer string `json:"issuer,omitempty"`
// Theme is the name of the theme to use.
// Defaults to "light".
Theme string `json:"theme,omitempty"`
}
DexIdentityProviderFrontendSpec holds the server's frontend templates and asset configuration.
func (*DexIdentityProviderFrontendSpec) DeepCopy ¶
func (in *DexIdentityProviderFrontendSpec) DeepCopy() *DexIdentityProviderFrontendSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DexIdentityProviderFrontendSpec.
func (*DexIdentityProviderFrontendSpec) DeepCopyInto ¶
func (in *DexIdentityProviderFrontendSpec) DeepCopyInto(out *DexIdentityProviderFrontendSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DexIdentityProviderGRPCSpec ¶
type DexIdentityProviderGRPCSpec struct {
// Addr is the address to bind the gRPC server to.
Addr string `json:"addr"`
// CertificateSecretRef is an optional reference to a secret containing the TLS certificate and key
// to use for the gRPC server.
CertificateSecretRef *reference.LocalSecretReference `json:"certificateSecretRef,omitempty"`
// ClientCASecretRef is an optional reference to a secret containing the client CA.
ClientCASecretRef *reference.LocalSecretReference `json:"clientCASecretRef,omitempty"`
// Reflection enables gRPC server reflection.
Reflection bool `json:"reflection,omitempty"`
// Annotations is an optional map of additional annotations to add to the gRPC server's service.
Annotations map[string]string `json:"annotations,omitempty"`
}
DexIdentityProviderGRPCSpec holds configuration for the gRPC server.
func (*DexIdentityProviderGRPCSpec) DeepCopy ¶
func (in *DexIdentityProviderGRPCSpec) DeepCopy() *DexIdentityProviderGRPCSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DexIdentityProviderGRPCSpec.
func (*DexIdentityProviderGRPCSpec) DeepCopyInto ¶
func (in *DexIdentityProviderGRPCSpec) DeepCopyInto(out *DexIdentityProviderGRPCSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DexIdentityProviderList ¶
type DexIdentityProviderList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []DexIdentityProvider `json:"items"`
}
DexIdentityProviderList contains a list of DexIdentityProvider +kubebuilder:object:root=true
func (*DexIdentityProviderList) DeepCopy ¶
func (in *DexIdentityProviderList) DeepCopy() *DexIdentityProviderList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DexIdentityProviderList.
func (*DexIdentityProviderList) DeepCopyInto ¶
func (in *DexIdentityProviderList) DeepCopyInto(out *DexIdentityProviderList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DexIdentityProviderList) DeepCopyObject ¶
func (in *DexIdentityProviderList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DexIdentityProviderLocalStorageSpec ¶
type DexIdentityProviderLocalStorageSpec struct {
// MountPath is the path at which the local storage will be mounted in the container.
MountPath string `json:"mountPath"`
// Size is the size of the persistent volume that will be
// used to store Dex's local sqlite database.
Size string `json:"size"`
// StorageClassName is the name of the storage class that will be
// used to provision the persistent volume.
StorageClassName *string `json:"storageClassName,omitempty"`
}
func (*DexIdentityProviderLocalStorageSpec) DeepCopy ¶
func (in *DexIdentityProviderLocalStorageSpec) DeepCopy() *DexIdentityProviderLocalStorageSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DexIdentityProviderLocalStorageSpec.
func (*DexIdentityProviderLocalStorageSpec) DeepCopyInto ¶
func (in *DexIdentityProviderLocalStorageSpec) DeepCopyInto(out *DexIdentityProviderLocalStorageSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DexIdentityProviderLoggerSpec ¶
type DexIdentityProviderLoggerSpec struct {
// Level sets logging level severity.
Level string `json:"level,omitempty"`
// Format specifies the format to be used for logging.
Format string `json:"format,omitempty"`
}
func (*DexIdentityProviderLoggerSpec) DeepCopy ¶
func (in *DexIdentityProviderLoggerSpec) DeepCopy() *DexIdentityProviderLoggerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DexIdentityProviderLoggerSpec.
func (*DexIdentityProviderLoggerSpec) DeepCopyInto ¶
func (in *DexIdentityProviderLoggerSpec) DeepCopyInto(out *DexIdentityProviderLoggerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DexIdentityProviderOAuth2Spec ¶
type DexIdentityProviderOAuth2Spec struct {
// GrantTypes is a list of allowed grant types, defaults to all supported types.
GrantTypes []string `json:"grantTypes,omitempty"`
// ResponseTypes is a list of allowed response types, defaults to all supported types.
ResponseTypes []string `json:"responseTypes,omitempty"`
// SkipApprovalScreen, if specified, do not prompt the user to approve client authorization. The
// act of logging in implies authorization.
SkipApprovalScreen bool `json:"skipApprovalScreen,omitempty"`
// AlwaysShowLoginScreen, if specified, show the connector selection screen even if there's only one.
AlwaysShowLoginScreen bool `json:"alwaysShowLoginScreen,omitempty"`
// PasswordConnector is a specific connector to user for password grants.
PasswordConnector string `json:"passwordConnector,omitempty"`
}
DexIdentityProviderOAuth2Spec holds configuration for OAuth2.
func (*DexIdentityProviderOAuth2Spec) DeepCopy ¶
func (in *DexIdentityProviderOAuth2Spec) DeepCopy() *DexIdentityProviderOAuth2Spec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DexIdentityProviderOAuth2Spec.
func (*DexIdentityProviderOAuth2Spec) DeepCopyInto ¶
func (in *DexIdentityProviderOAuth2Spec) DeepCopyInto(out *DexIdentityProviderOAuth2Spec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DexIdentityProviderPhase ¶
type DexIdentityProviderPhase string
DexIdentityProviderPhase is the current state of the Dex idP server.
const ( DexIdentityProviderPhasePending DexIdentityProviderPhase = "Pending" DexIdentityProviderPhaseReady DexIdentityProviderPhase = "Ready" DexIdentityProviderPhaseFailed DexIdentityProviderPhase = "Failed" )
type DexIdentityProviderRefreshTokenSpec ¶
type DexIdentityProviderRefreshTokenSpec struct {
// DisableRotation disables refresh token rotation.
DisableRotation bool `json:"disableRotation,omitempty"`
// ReuseInterval defines the duration of time after which a refresh token can be reused.
ReuseInterval *metav1.Duration `json:"reuseInterval,omitempty"`
// AbsoluteLifetime defines the duration of time after which a refresh token will expire.
AbsoluteLifetime *metav1.Duration `json:"absoluteLifetime,omitempty"`
// ValidIfNotUsedFor defines the duration of time after which a refresh token will expire if not used.
ValidIfNotUsedFor *metav1.Duration `json:"validIfNotUsedFor,omitempty"`
}
RefreshTokenSpec holds configuration for refresh tokens.
func (*DexIdentityProviderRefreshTokenSpec) DeepCopy ¶
func (in *DexIdentityProviderRefreshTokenSpec) DeepCopy() *DexIdentityProviderRefreshTokenSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DexIdentityProviderRefreshTokenSpec.
func (*DexIdentityProviderRefreshTokenSpec) DeepCopyInto ¶
func (in *DexIdentityProviderRefreshTokenSpec) DeepCopyInto(out *DexIdentityProviderRefreshTokenSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DexIdentityProviderSpec ¶
type DexIdentityProviderSpec struct {
// Image is the Dex IdP image to use.
Image string `json:"image"`
// Replicas is the optional number of replicas of the Dex IdP server to run.
// Only supported if using postgresql storage.
Replicas *int32 `json:"replicas,omitempty"`
// ClientCertificateSecretRef is an optional reference to a secret containing a client
// certificate that the operator can use for connecting to the Dex IdP API server.
ClientCertificateSecretRef *reference.LocalSecretReference `json:"clientCertificateSecretRef,omitempty"`
// Issuer is the base path of Dex and the external name of the OpenID
// Connect service. This is the canonical URL that all clients MUST use
// to refer to Dex.
Issuer string `json:"issuer"`
// Storage configures the storage for Dex.
Storage DexIdentityProviderStorageSpec `json:"storage"`
// Web holds configuration for the web server.
Web DexIdentityProviderWebSpec `json:"web"`
// GRPC holds configuration for the gRPC server.
GRPC DexIdentityProviderGRPCSpec `json:"grpc"`
// OAuth2 holds configuration for OAuth2.
OAuth2 *DexIdentityProviderOAuth2Spec `json:"oauth2,omitempty"`
// Expiry holds configuration for tokens, signing keys, etc.
Expiry *DexIdentityProviderExpirySpec `json:"expiry,omitempty"`
// Frontend holds the server's frontend templates and asset configuration.
Frontend *DexIdentityProviderFrontendSpec `json:"frontend,omitempty"`
// Logger holds configuration required to customize logging for dex.
Logger *DexIdentityProviderLoggerSpec `json:"logger,omitempty"`
// Connectors holds configuration for connectors.
// +kubebuilder:validation:MinItems=1
Connectors []DexIdentityProviderConnectorSpec `json:"connectors"`
// LocalStorage configures local persistent storage for the Dex container.
// This is useful when using a SQLite database.
LocalStorage *DexIdentityProviderLocalStorageSpec `json:"localStorage,omitempty"`
}
DexIdentityProviderSpec defines the desired state of the Dex idP server.
func (*DexIdentityProviderSpec) DeepCopy ¶
func (in *DexIdentityProviderSpec) DeepCopy() *DexIdentityProviderSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DexIdentityProviderSpec.
func (*DexIdentityProviderSpec) DeepCopyInto ¶
func (in *DexIdentityProviderSpec) DeepCopyInto(out *DexIdentityProviderSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DexIdentityProviderStatus ¶
type DexIdentityProviderStatus struct {
// Phase is the current state of the Dex idP server.
Phase DexIdentityProviderPhase `json:"phase,omitempty"`
// ObservedGeneration is the most recent generation observed for this DexIdentityProvider by the controller.
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
// Conditions represents the latest available observations of an DexIdentityProvider's current state.
Conditions []metav1.Condition `json:"conditions,omitempty"`
// ClientRefs is a list of clients that are using this DexIdentityProvider.
ClientRefs []api.DexOAuth2ClientReference `json:"clientRefs,omitempty"`
}
DexIdentityProviderStatus defines the observed state of the Dex idP server.
func (*DexIdentityProviderStatus) DeepCopy ¶
func (in *DexIdentityProviderStatus) DeepCopy() *DexIdentityProviderStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DexIdentityProviderStatus.
func (*DexIdentityProviderStatus) DeepCopyInto ¶
func (in *DexIdentityProviderStatus) DeepCopyInto(out *DexIdentityProviderStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DexIdentityProviderStorageNetworkDBSpec ¶
type DexIdentityProviderStorageNetworkDBSpec struct {
// Database is the name of the database to connect to.
Database string `json:"database"`
// CredentialsSecretRef is a reference to a secret containing the
// username and password to use for authentication.
CredentialsSecretRef reference.LocalSecretReference `json:"credentialsSecretRef"`
// Host is the host to connect to.
Host string `json:"host"`
// Port is the port to connect to.
Port int `json:"port"`
// ConnectionTimeout is the maximum amount of time to wait for a connection to become available.
ConnectionTimeout *metav1.Duration `json:"connectionTimeout,omitempty"`
// MaxOpenConns is the maximum number of open connections to the database (default 5).
MaxOpenConns *int `json:"maxOpenConns,omitempty"`
// MaxIdleConns is the maximum number of connections in the idle connection pool (default 5).
MaxIdleConns *int `json:"maxIdleConns,omitempty"`
// ConnMaxLifetime is the maximum amount of time a connection may be reused (default forever).
ConnMaxLifetime *metav1.Duration `json:"connMaxLifetime,omitempty"`
// SSL holds optional TLS configuration for postgres.
SSL *DexIdentityProviderStorageSSLSpec `json:"ssl,omitempty"`
}
DexIdentityProviderStorageNetworkDBSpec holds configuration for postgres and mysql storage.
func (*DexIdentityProviderStorageNetworkDBSpec) DeepCopy ¶
func (in *DexIdentityProviderStorageNetworkDBSpec) DeepCopy() *DexIdentityProviderStorageNetworkDBSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DexIdentityProviderStorageNetworkDBSpec.
func (*DexIdentityProviderStorageNetworkDBSpec) DeepCopyInto ¶
func (in *DexIdentityProviderStorageNetworkDBSpec) DeepCopyInto(out *DexIdentityProviderStorageNetworkDBSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DexIdentityProviderStorageSSLSpec ¶
type DexIdentityProviderStorageSSLSpec struct {
// Mode is the SSL mode to use.
Mode string `json:"mode,omitempty"`
// ServerName ensures that the certificate matches the given hostname the client is connecting to.
ServerName string `json:"serverName,omitempty"`
// CASecretRef is an optional reference to a secret containing the CA certificate.
CASecretRef *reference.LocalSecretReference `json:"caSecretRef,omitempty"`
// ClientCertificateSecretRef is an optional reference to a secret containing the client certificate and key.
ClientCertificateSecretRef *reference.LocalSecretReference `json:"clientCertificateSecretRef,omitempty"`
}
SSL represents SSL options for etcd databases.
func (*DexIdentityProviderStorageSSLSpec) DeepCopy ¶
func (in *DexIdentityProviderStorageSSLSpec) DeepCopy() *DexIdentityProviderStorageSSLSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DexIdentityProviderStorageSSLSpec.
func (*DexIdentityProviderStorageSSLSpec) DeepCopyInto ¶
func (in *DexIdentityProviderStorageSSLSpec) DeepCopyInto(out *DexIdentityProviderStorageSSLSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DexIdentityProviderStorageSpec ¶
type DexIdentityProviderStorageSpec struct {
// Type is the storage type to use.
// +kubebuilder:validation:Enum=memory;sqlite3;postgres
Type DexIdentityProviderStorageType `json:"type"`
// Sqlite3 holds the configuration for the sqlite3 storage type.
Sqlite3 *DexIdentityProviderStorageSqlite3Spec `json:"sqlite3,omitempty"`
// Postgres holds the configuration for the postgres storage type.
Postgres *DexIdentityProviderStorageNetworkDBSpec `json:"postgres,omitempty"`
}
func (*DexIdentityProviderStorageSpec) DeepCopy ¶
func (in *DexIdentityProviderStorageSpec) DeepCopy() *DexIdentityProviderStorageSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DexIdentityProviderStorageSpec.
func (*DexIdentityProviderStorageSpec) DeepCopyInto ¶
func (in *DexIdentityProviderStorageSpec) DeepCopyInto(out *DexIdentityProviderStorageSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DexIdentityProviderStorageSqlite3Spec ¶
type DexIdentityProviderStorageSqlite3Spec struct {
// File is the path to the sqlite3 database file.
File string `json:"file"`
}
DexIdentityProviderStorageSqlite3Spec holds configuration for sqlite3 storage.
func (*DexIdentityProviderStorageSqlite3Spec) DeepCopy ¶
func (in *DexIdentityProviderStorageSqlite3Spec) DeepCopy() *DexIdentityProviderStorageSqlite3Spec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DexIdentityProviderStorageSqlite3Spec.
func (*DexIdentityProviderStorageSqlite3Spec) DeepCopyInto ¶
func (in *DexIdentityProviderStorageSqlite3Spec) DeepCopyInto(out *DexIdentityProviderStorageSqlite3Spec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DexIdentityProviderStorageType ¶
type DexIdentityProviderStorageType string
DexIdentityProviderStorageType defines the storage type to use. We only support a subset of the available Dex storage types atm.
const ( DexIdentityProviderStorageTypeMemory DexIdentityProviderStorageType = "memory" DexIdentityProviderStorageTypeSqlite3 DexIdentityProviderStorageType = "sqlite3" DexIdentityProviderStorageTypePostgres DexIdentityProviderStorageType = "postgres" )
type DexIdentityProviderWebSpec ¶
type DexIdentityProviderWebSpec struct {
// HTTP is the address to bind HTTP server to.
HTTP string `json:"http,omitempty"`
// HTTPS is the address to bind HTTPS server to.
HTTPS string `json:"https,omitempty"`
// CertificateSecretRef is an optional reference to a secret containing the TLS certificate and key
// to use for HTTPS.
CertificateSecretRef *reference.LocalSecretReference `json:"certificateSecretRef,omitempty"`
// AllowedOrigins is a list of allowed origins for CORS requests.
AllowedOrigins []string `json:"allowedOrigins,omitempty"`
// Annotations is an optional map of additional annotations to add to the web server's service.
Annotations map[string]string `json:"annotations,omitempty"`
}
DexIdentityProviderWebSpec holds configuration for the web server.
func (*DexIdentityProviderWebSpec) DeepCopy ¶
func (in *DexIdentityProviderWebSpec) DeepCopy() *DexIdentityProviderWebSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DexIdentityProviderWebSpec.
func (*DexIdentityProviderWebSpec) DeepCopyInto ¶
func (in *DexIdentityProviderWebSpec) DeepCopyInto(out *DexIdentityProviderWebSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DexOAuth2Client ¶
type DexOAuth2Client struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec DexOAuth2ClientSpec `json:"spec,omitempty"`
Status DexOAuth2ClientStatus `json:"status,omitempty"`
}
DexOAuth2Client is an OAuth2 client registered with Dex. +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:shortName=oac +kubebuilder:printcolumn:name="Status",type=string,JSONPath=`.status.phase` +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`
func (*DexOAuth2Client) DeepCopy ¶
func (in *DexOAuth2Client) DeepCopy() *DexOAuth2Client
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DexOAuth2Client.
func (*DexOAuth2Client) DeepCopyInto ¶
func (in *DexOAuth2Client) DeepCopyInto(out *DexOAuth2Client)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DexOAuth2Client) DeepCopyObject ¶
func (in *DexOAuth2Client) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DexOAuth2ClientList ¶
type DexOAuth2ClientList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []DexOAuth2Client `json:"items"`
}
DexOAuth2ClientList contains a list of DexOAuth2Client +kubebuilder:object:root=true
func (*DexOAuth2ClientList) DeepCopy ¶
func (in *DexOAuth2ClientList) DeepCopy() *DexOAuth2ClientList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DexOAuth2ClientList.
func (*DexOAuth2ClientList) DeepCopyInto ¶
func (in *DexOAuth2ClientList) DeepCopyInto(out *DexOAuth2ClientList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DexOAuth2ClientList) DeepCopyObject ¶
func (in *DexOAuth2ClientList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DexOAuth2ClientPhase ¶
type DexOAuth2ClientPhase string
const ( // DexOAuth2ClientPhasePending indicates that the OAuth2 client is pending. DexOAuth2ClientPhasePending DexOAuth2ClientPhase = "Pending" // DexOAuth2ClientPhaseReady indicates that the OAuth2 client is ready. DexOAuth2ClientPhaseReady DexOAuth2ClientPhase = "Ready" // DexOAuth2ClientPhaseFailed indicates that the OAuth2 client has failed. DexOAuth2ClientPhaseFailed DexOAuth2ClientPhase = "Failed" )
type DexOAuth2ClientSpec ¶
type DexOAuth2ClientSpec struct {
// IdentityProviderRef is a reference to the identity provider which this
// client is associated with.
IdentityProviderRef api.DexIdentityProviderReference `json:"identityProviderRef"`
// SecretName is the name of the secret that will be created to store the
// OAuth2 client id and client secret.
SecretName string `json:"secretName"`
// RedirectURIs is a list of allowed redirect URLs for the client.
RedirectURIs []string `json:"redirectURIs,omitempty"`
// TrustedPeers are a list of peers which can issue tokens on this client's
// behalf using the dynamic "oauth2:server:client_id:(client_id)" scope.
// If a peer makes such a request, this client's ID will appear as the ID Token's audience.
TrustedPeers []string `json:"trustedPeers,omitempty"`
// Public indicates that this client is a public client, such as a mobile app.
// Public clients must use either use a redirectURL 127.0.0.1:X or "urn:ietf:wg:oauth:2.0:oob".
Public bool `json:"public,omitempty"`
// Name is the human-readable name of the client.
Name string `json:"name,omitempty"`
// LogoURL is the URL to a logo for the client.
LogoURL string `json:"logoURL,omitempty"`
}
DexOAuth2ClientSpec defines the desired state of the OAuth2 client.
func (*DexOAuth2ClientSpec) DeepCopy ¶
func (in *DexOAuth2ClientSpec) DeepCopy() *DexOAuth2ClientSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DexOAuth2ClientSpec.
func (*DexOAuth2ClientSpec) DeepCopyInto ¶
func (in *DexOAuth2ClientSpec) DeepCopyInto(out *DexOAuth2ClientSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DexOAuth2ClientStatus ¶
type DexOAuth2ClientStatus struct {
// Phase is the current phase of the OAuth2 client.
Phase DexOAuth2ClientPhase `json:"phase,omitempty"`
// ObservedGeneration is the most recent generation observed for this OAuth2 client by the controller.
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
// Reason is a human readable message indicating details about why the OAuth2 client is in this condition.
Reason string `json:"reason,omitempty"`
}
DexOAuth2ClientStatus defines the observed state of the OAuth2 client.
func (*DexOAuth2ClientStatus) DeepCopy ¶
func (in *DexOAuth2ClientStatus) DeepCopy() *DexOAuth2ClientStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DexOAuth2ClientStatus.
func (*DexOAuth2ClientStatus) DeepCopyInto ¶
func (in *DexOAuth2ClientStatus) DeepCopyInto(out *DexOAuth2ClientStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.