Documentation
¶
Overview ¶
Package v1alpha2 contains API Schema definitions for the keycloak v1alpha2 API group +kubebuilder:object:generate=true +groupName=keycloak.japannext.co.jp
Index ¶
- Variables
- func DiffComponentConfigs(x, y *map[string][]string) diff.Changelog
- func Ptr[T any](v T) *T
- func Unwrap[T any](v *T) T
- type ApiStatus
- type BasicAuthSecret
- type CertificateLdapMapper
- type ConfigMapValue
- type EndpointPhase
- type EndpointSelector
- type FullNameLdapMapper
- type GroupLdapMapper
- type GroupRepresentation
- type HardcodedAttributeMapper
- type HardcodedLdapAttributeMapper
- type HardcodedLdapGroupMapper
- type HardcodedLdapRoleMapper
- type KeycloakClient
- func (i *KeycloakClient) ApiStatus() *ApiStatus
- func (in *KeycloakClient) DeepCopy() *KeycloakClient
- func (in *KeycloakClient) DeepCopyInto(out *KeycloakClient)
- func (in *KeycloakClient) DeepCopyObject() runtime.Object
- func (r *KeycloakClient) Default()
- func (i *KeycloakClient) Endpoint() EndpointSelector
- func (i *KeycloakClient) Realm() string
- func (r *KeycloakClient) SetupWebhookWithManager(mgr ctrl.Manager) error
- type KeycloakClientList
- type KeycloakClientProtocolMapper
- func (i *KeycloakClientProtocolMapper) ApiStatus() *ApiStatus
- func (in *KeycloakClientProtocolMapper) DeepCopy() *KeycloakClientProtocolMapper
- func (in *KeycloakClientProtocolMapper) DeepCopyInto(out *KeycloakClientProtocolMapper)
- func (in *KeycloakClientProtocolMapper) DeepCopyObject() runtime.Object
- func (i *KeycloakClientProtocolMapper) Endpoint() EndpointSelector
- func (i *KeycloakClientProtocolMapper) Realm() string
- type KeycloakClientProtocolMapperList
- type KeycloakClientProtocolMapperSpec
- type KeycloakClientProtocolMapperStatus
- type KeycloakClientRole
- func (i *KeycloakClientRole) ApiStatus() *ApiStatus
- func (in *KeycloakClientRole) DeepCopy() *KeycloakClientRole
- func (in *KeycloakClientRole) DeepCopyInto(out *KeycloakClientRole)
- func (in *KeycloakClientRole) DeepCopyObject() runtime.Object
- func (r *KeycloakClientRole) Default()
- func (i *KeycloakClientRole) Endpoint() EndpointSelector
- func (i *KeycloakClientRole) Realm() string
- func (r *KeycloakClientRole) SetupWebhookWithManager(mgr ctrl.Manager) error
- type KeycloakClientRoleList
- type KeycloakClientRoleMapping
- func (i *KeycloakClientRoleMapping) ApiStatus() *ApiStatus
- func (in *KeycloakClientRoleMapping) DeepCopy() *KeycloakClientRoleMapping
- func (in *KeycloakClientRoleMapping) DeepCopyInto(out *KeycloakClientRoleMapping)
- func (in *KeycloakClientRoleMapping) DeepCopyObject() runtime.Object
- func (i *KeycloakClientRoleMapping) Endpoint() EndpointSelector
- func (i *KeycloakClientRoleMapping) Realm() string
- type KeycloakClientRoleMappingList
- type KeycloakClientRoleMappingSpec
- type KeycloakClientRoleMappingStatus
- type KeycloakClientRoleSpec
- type KeycloakClientRoleStatus
- type KeycloakClientScope
- func (i *KeycloakClientScope) ApiStatus() *ApiStatus
- func (in *KeycloakClientScope) DeepCopy() *KeycloakClientScope
- func (in *KeycloakClientScope) DeepCopyInto(out *KeycloakClientScope)
- func (in *KeycloakClientScope) DeepCopyObject() runtime.Object
- func (i *KeycloakClientScope) Endpoint() EndpointSelector
- func (i *KeycloakClientScope) Realm() string
- type KeycloakClientScopeList
- type KeycloakClientScopeProtocolMapper
- func (i *KeycloakClientScopeProtocolMapper) ApiStatus() *ApiStatus
- func (in *KeycloakClientScopeProtocolMapper) DeepCopy() *KeycloakClientScopeProtocolMapper
- func (in *KeycloakClientScopeProtocolMapper) DeepCopyInto(out *KeycloakClientScopeProtocolMapper)
- func (in *KeycloakClientScopeProtocolMapper) DeepCopyObject() runtime.Object
- func (i *KeycloakClientScopeProtocolMapper) Endpoint() EndpointSelector
- func (i *KeycloakClientScopeProtocolMapper) Realm() string
- type KeycloakClientScopeProtocolMapperList
- type KeycloakClientScopeProtocolMapperSpec
- type KeycloakClientScopeProtocolMapperStatus
- type KeycloakClientScopeSpec
- type KeycloakClientScopeStatus
- type KeycloakClientSpec
- type KeycloakClientStatus
- type KeycloakClusterEndpoint
- func (in *KeycloakClusterEndpoint) DeepCopy() *KeycloakClusterEndpoint
- func (in *KeycloakClusterEndpoint) DeepCopyInto(out *KeycloakClusterEndpoint)
- func (in *KeycloakClusterEndpoint) DeepCopyObject() runtime.Object
- func (i *KeycloakClusterEndpoint) EndpointSpec() *KeycloakEndpointSpec
- func (i *KeycloakClusterEndpoint) EndpointStatus() *KeycloakEndpointStatus
- type KeycloakClusterEndpointList
- type KeycloakEndpoint
- func (in *KeycloakEndpoint) DeepCopy() *KeycloakEndpoint
- func (in *KeycloakEndpoint) DeepCopyInto(out *KeycloakEndpoint)
- func (in *KeycloakEndpoint) DeepCopyObject() runtime.Object
- func (i *KeycloakEndpoint) EndpointSpec() *KeycloakEndpointSpec
- func (i *KeycloakEndpoint) EndpointStatus() *KeycloakEndpointStatus
- type KeycloakEndpointList
- type KeycloakEndpointSpec
- type KeycloakEndpointStatus
- type KeycloakLDAPFederation
- func (i *KeycloakLDAPFederation) ApiStatus() *ApiStatus
- func (in *KeycloakLDAPFederation) DeepCopy() *KeycloakLDAPFederation
- func (in *KeycloakLDAPFederation) DeepCopyInto(out *KeycloakLDAPFederation)
- func (in *KeycloakLDAPFederation) DeepCopyObject() runtime.Object
- func (r *KeycloakLDAPFederation) Default()
- func (i *KeycloakLDAPFederation) Endpoint() EndpointSelector
- func (i *KeycloakLDAPFederation) Realm() string
- func (r *KeycloakLDAPFederation) SetupWebhookWithManager(mgr ctrl.Manager) error
- type KeycloakLDAPFederationList
- type KeycloakLDAPFederationSpec
- type KeycloakLDAPFederationStatus
- type KeycloakLDAPMapper
- func (i *KeycloakLDAPMapper) ApiStatus() *ApiStatus
- func (in *KeycloakLDAPMapper) DeepCopy() *KeycloakLDAPMapper
- func (in *KeycloakLDAPMapper) DeepCopyInto(out *KeycloakLDAPMapper)
- func (in *KeycloakLDAPMapper) DeepCopyObject() runtime.Object
- func (i *KeycloakLDAPMapper) Endpoint() EndpointSelector
- func (i *KeycloakLDAPMapper) Realm() string
- func (i *KeycloakLDAPMapper) ToComponent(fid string) (*gocloak.Component, error)
- type KeycloakLDAPMapperList
- type KeycloakLDAPMapperSpec
- type KeycloakLDAPMapperStatus
- type KeycloakRealm
- func (i *KeycloakRealm) ApiStatus() *ApiStatus
- func (in *KeycloakRealm) DeepCopy() *KeycloakRealm
- func (in *KeycloakRealm) DeepCopyInto(out *KeycloakRealm)
- func (in *KeycloakRealm) DeepCopyObject() runtime.Object
- func (r *KeycloakRealm) Default()
- func (i *KeycloakRealm) Endpoint() EndpointSelector
- func (i *KeycloakRealm) Realm() string
- func (r *KeycloakRealm) SetupWebhookWithManager(mgr ctrl.Manager) error
- type KeycloakRealmList
- type KeycloakRealmRole
- func (i *KeycloakRealmRole) ApiStatus() *ApiStatus
- func (in *KeycloakRealmRole) DeepCopy() *KeycloakRealmRole
- func (in *KeycloakRealmRole) DeepCopyInto(out *KeycloakRealmRole)
- func (in *KeycloakRealmRole) DeepCopyObject() runtime.Object
- func (i *KeycloakRealmRole) Endpoint() EndpointSelector
- func (i *KeycloakRealmRole) Realm() string
- type KeycloakRealmRoleList
- type KeycloakRealmRoleSpec
- type KeycloakRealmRoleStatus
- type KeycloakRealmSpec
- type KeycloakRealmStatus
- type LdapFederation
- type MSADUserAccountControlMapper
- type Phase
- type RoleLdapMapper
- type Rule
- type SecretGenerator
- type Subject
- type UserAttributeLdapMapper
- type UserRepresentation
Constants ¶
This section is empty.
Variables ¶
var ( LDAP_STORAGE_MAPPER = "org.keycloak.storage.ldap.mappers.LDAPStorageMapper" USER_STORAGE_PROVIDER = "org.keycloak.storage.UserStorageProvider" ROLE_LDAP_MAPPER = "role-ldap-mapper" USER_ATTRIBUTE_LDAP_MAPPER = "user-attribute-ldap-mapper" GROUP_LDAP_MAPPER = "group-ldap-mapper" LDAP_PROVIDER = "ldap" )
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "keycloak.japannext.co.jp", Version: "v1alpha2"} // 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 ¶
func DiffComponentConfigs ¶
Return a diff of 2 component config
Types ¶
type ApiStatus ¶
type ApiStatus struct {
// Whether the resource is synced, not synced, failed to sync, etc
Phase Phase `json:"phase,omitempty"`
// The time the resource was last updated.
// +optional
LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty"`
}
+kubebuilder:object:generate=true
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 BasicAuthSecret ¶
type BasicAuthSecret struct {
// The name of a secret of type `kubernetes.io/basic-auth` to authenticate to
// keycloak as admin. The secret need to be in the same namespace as the KeycloakEndpoint.
Name string `json:"name"`
// Namespace where the secret resides. Only used for KeycloakClusterEndpoint.
// Has no effect when used with KeycloakEndpoint.
Namespace string `json:"namespace,omitempty"`
}
Reference a user/password data stored in a secret +kubebuilder:object:generate=true
func (*BasicAuthSecret) DeepCopy ¶
func (in *BasicAuthSecret) DeepCopy() *BasicAuthSecret
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BasicAuthSecret.
func (*BasicAuthSecret) DeepCopyInto ¶
func (in *BasicAuthSecret) DeepCopyInto(out *BasicAuthSecret)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CertificateLdapMapper ¶
type CertificateLdapMapper struct {
// +kubebuilder:default=false
AlwaysReadValueFromLDAP bool `json:"alwaysReadValueFromLDAP"`
// +kubebuilder:default=""
AttributeDefaultValue string `json:"attributeDefaultValue,omitempty"`
// +kubebuilder:default=""
LDAPAttribute string `json:"ldapAttribute,omitempty"`
// +kubebuilder:default=true
ReadOnly bool `json:"readOnly"`
// If true, attribute is mandatory in LDAP. Hence if there is no value in Keycloak DB,
// the default or empty value will be set to be propagated to LDAP
// +kubebuilder:default=false
IsMandatoryInLDAP bool `json:"isMandatoryInLDAP"`
// Should be true for binary LDAP attributes
// +kubebuilder:default=false
IsBinaryAttribute bool `json:"isBinaryAttribute"`
// +kubebuilder:default=false
IsDERFormatted bool `json:"isDERFormatted"`
// +kubebuilder:default=""
UserModelAttribute string `json:"userModelAttribute,omitempty"`
}
+kubebuilder:object:generate=true
func (*CertificateLdapMapper) DeepCopy ¶
func (in *CertificateLdapMapper) DeepCopy() *CertificateLdapMapper
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateLdapMapper.
func (*CertificateLdapMapper) DeepCopyInto ¶
func (in *CertificateLdapMapper) DeepCopyInto(out *CertificateLdapMapper)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CertificateLdapMapper) ToComponentConfig ¶
func (m *CertificateLdapMapper) ToComponentConfig() map[string][]string
type ConfigMapValue ¶
type ConfigMapValue struct {
// Name of the configMap referenced
Name string `json:"name"`
// Name of the configMap key to use
Key string `json:"key"`
// Namespace where the ConfigMap resides. Used only for KeycloakClusterEndpoint.
// Has no effect when used with KeycloakEndpoint.
Namespace string `json:"namespace,omitempty"`
}
Reference a value stored in a ConfigMap +kubebuilder:object:generate=true
func (*ConfigMapValue) DeepCopy ¶
func (in *ConfigMapValue) DeepCopy() *ConfigMapValue
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigMapValue.
func (*ConfigMapValue) DeepCopyInto ¶
func (in *ConfigMapValue) DeepCopyInto(out *ConfigMapValue)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EndpointPhase ¶
type EndpointPhase string
const ( ENDPOINT_SYNCED EndpointPhase = "Synced" ENDPOINT_PENDING EndpointPhase = "Pending" ENDPOINT_ERROR EndpointPhase = "Error" )
type EndpointSelector ¶
type EndpointSelector struct {
// Kind of the resource representing a Keycloak endpoint
// +kubebuilder:validation:Enum=KeycloakEndpoint;KeycloakClusterEndpoint
// +kubebuilder:default=KeycloakEndpoint
Kind string `json:"kind,omitempty"`
// Name of the KeycloakEndpoint/KeycloakClusterEndpoint resource
// +required
Name string `json:"name,omitempty"`
}
Select a KeycloakEndpoint +kubebuilder:object:generate=true
func (*EndpointSelector) DeepCopy ¶
func (in *EndpointSelector) DeepCopy() *EndpointSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointSelector.
func (*EndpointSelector) DeepCopyInto ¶
func (in *EndpointSelector) DeepCopyInto(out *EndpointSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FullNameLdapMapper ¶
type FullNameLdapMapper struct {
// +kubebuilder:default="cn"
LDAPFullNameAttribute string `json:"ldapFullNameAttribute"`
// +kubebuilder:default=true
ReadOnly bool `json:"readOnly"`
// +kubebuilder:default=false
WriteOnly bool `json:"writeOnly"`
}
+kubebuilder:object:generate=true
func (*FullNameLdapMapper) DeepCopy ¶
func (in *FullNameLdapMapper) DeepCopy() *FullNameLdapMapper
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FullNameLdapMapper.
func (*FullNameLdapMapper) DeepCopyInto ¶
func (in *FullNameLdapMapper) DeepCopyInto(out *FullNameLdapMapper)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FullNameLdapMapper) ToComponentConfig ¶
func (m *FullNameLdapMapper) ToComponentConfig() map[string][]string
type GroupLdapMapper ¶
type GroupLdapMapper struct {
// +kubebuilder:default=false
DropNonExistingGroupsDuringSync bool `json:"dropNonExistingGroupsDuringSync"`
// Name of LDAP attribute, which is used in group objects for name and RDN of group. Usually it will
// be 'cn' . In this case typical group/role object may have DN like 'cn=Group1,ou=groups,dc=example,dc=org'
// +kubebuilder:default="cn"
GroupNameLdapAttribute string `json:"groupNameLdapAttribute,omitempty"`
// Object class (or classes) of the group object. It's divided by comma if more classes needed. In typical LDAP
// deployment it could be 'groupOfNames' . In Active Directory it's usually 'group'
// +kubebuilder:default={"group"}
GroupObjectClasses []string `json:"groupObjectClasses,omitempty"`
// LDAP DN where are groups of this tree saved. For example 'ou=groups,dc=example,dc=org'
// +required
GroupsDn string `json:"groupsDn,omitempty"`
// LDAP Filter adds additional custom filter to the whole query for retrieve LDAP groups. Leave this empty if no
// additional filtering is needed and you want to retrieve all groups from LDAP. Otherwise make sure that filter
// starts with '(' and ends with ')'
// +optional
GroupsLdapFilter string `json:"groupsLdapFilter,omitempty"`
// Keycloak group path the LDAP groups are added to. For example if value '/Applications/App1' is used, then LDAP
// groups will be available in Keycloak under group 'App1', which is child of top level group 'Applications'.
// The default value is '/' so LDAP groups will be mapped to the Keycloak groups at the top level. The configured
// group path must already exists in the Keycloak when creating this mapper.
// +kubebuilder:default="/"
GroupsPath string `json:"groupsPath"`
// Ignore missing groups in the group hierarchy
// +kubebuilder:default=false
IgnoreMissingGroups bool `json:"ignoreMissingGroups"`
// +kubebuilder:default=""
MemberofLdapAttribute string `json:"memberofLdapAttribute"`
// +kubebuilder:default=""
MembershipAttributeType string `json:"membershipAttributeType"`
// +kubebuilder:default=""
MembershipLdapAttribute string `json:"membershipLdapAttribute"`
// +kubebuilder:default=""
MembershipUserLdapAttribute string `json:"membershipUserLdapAttribute"`
// LDAP_ONLY means that all group mappings of users are retrieved from LDAP and saved into LDAP.
// READ_ONLY is Read-only LDAP mode where group mappings are retrieved from both LDAP and DB and
// merged together. New group joins are not saved to LDAP but to DB. IMPORT is Read-only LDAP mode
// where group mappings are retrieved from LDAP just at the time when user is imported from LDAP and
// then they are saved to local keycloak DB.
// +kubebuilder:validation:Enum=IMPORT;LDAP_ONLY;READ_ONLY
// +kubebuilder:default="READ_ONLY"
Mode string `json:"mode"`
// Flag whether group inheritance from LDAP should be propagated to Keycloak. If false, then all LDAP groups
// will be mapped as flat top-level groups in Keycloak. Otherwise group inheritance is preserved into Keycloak,
// but the group sync might fail if LDAP structure contains recursions or multiple parent groups per child groups
// +kubebuilder:default=false
PreserveGroupInheritance bool `json:"preserveGroupInheritance"`
// Specify how to retrieve groups of user. LOAD_GROUPS_BY_MEMBER_ATTRIBUTE means that roles of user
// will be retrieved by sending LDAP query to retrieve all groups where 'member' is our user.
// GET_GROUPS_FROM_USER_MEMBEROF_ATTRIBUTE means that groups of user will be retrieved from 'memberOf'
// attribute of our user. Or from the other attribute specified by 'Member-Of LDAP Attribute'.
// LOAD_GROUPS_BY_MEMBER_ATTRIBUTE_RECURSIVELY is applicable just in Active Directory and it means that
// groups of user will be retrieved recursively with usage of LDAP_MATCHING_RULE_IN_CHAIN Ldap extension.
// +kubebuilder:validation:Enum=GET_GROUPS_FROM_USER_MEMBEROF_ATTRIBUTE;LOAD_GROUPS_BY_MEMBER_ATTRIBUTE;LOAD_GROUPS_BY_MEMBER_ATTRIBUTE_RECURSIVELY
// +kubebuilder:default="GET_GROUPS_FROM_USER_MEMBEROF_ATTRIBUTE"
UserRolesRetrieveStrategy string `json:"userRolesRetrieveStrategy"`
}
+kubebuilder:object:generate=true
func (*GroupLdapMapper) DeepCopy ¶
func (in *GroupLdapMapper) DeepCopy() *GroupLdapMapper
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupLdapMapper.
func (*GroupLdapMapper) DeepCopyInto ¶
func (in *GroupLdapMapper) DeepCopyInto(out *GroupLdapMapper)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GroupLdapMapper) ToComponentConfig ¶
func (m *GroupLdapMapper) ToComponentConfig() map[string][]string
type GroupRepresentation ¶
type GroupRepresentation struct {
// Group ID
// +optional
ID string `json:"id,omitempty"`
// Name of the group
Name string `json:"name"`
}
func (*GroupRepresentation) DeepCopy ¶
func (in *GroupRepresentation) DeepCopy() *GroupRepresentation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupRepresentation.
func (*GroupRepresentation) DeepCopyInto ¶
func (in *GroupRepresentation) DeepCopyInto(out *GroupRepresentation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HardcodedAttributeMapper ¶
type HardcodedAttributeMapper struct {
// Name of the model attribute, which will be added when importing user from ldap
// +kubebuilder:default=""
UserModelAttributeName string `json:"userModelAttributeName,omitempty"`
// Value of the model attribute, which will be added when importing user from ldap
// +kubebuilder:default=""
AttributeValue string `json:"attributeValue,omitempty"`
}
func (*HardcodedAttributeMapper) DeepCopy ¶
func (in *HardcodedAttributeMapper) DeepCopy() *HardcodedAttributeMapper
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HardcodedAttributeMapper.
func (*HardcodedAttributeMapper) DeepCopyInto ¶
func (in *HardcodedAttributeMapper) DeepCopyInto(out *HardcodedAttributeMapper)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HardcodedAttributeMapper) ToComponentConfig ¶
func (m *HardcodedAttributeMapper) ToComponentConfig() map[string][]string
type HardcodedLdapAttributeMapper ¶
type HardcodedLdapAttributeMapper struct {
// Name of the LDAP attribute, which will be added to the new user during registration
LDAPAttributeName string `json:"ldapAttributeName"`
// Value of the LDAP attribute, which will be added to the new user during registration.
// You can either hardcode any value like 'foo' but you can also use some special tokens.
// Only supported token right now is '${RANDOM}' , which will be replaced with some randomly generated String.
LDAPAttributeValue string `json:"ldapAttributeValue"`
}
func (*HardcodedLdapAttributeMapper) DeepCopy ¶
func (in *HardcodedLdapAttributeMapper) DeepCopy() *HardcodedLdapAttributeMapper
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HardcodedLdapAttributeMapper.
func (*HardcodedLdapAttributeMapper) DeepCopyInto ¶
func (in *HardcodedLdapAttributeMapper) DeepCopyInto(out *HardcodedLdapAttributeMapper)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HardcodedLdapAttributeMapper) ToComponentConfig ¶
func (m *HardcodedLdapAttributeMapper) ToComponentConfig() map[string][]string
type HardcodedLdapGroupMapper ¶
type HardcodedLdapGroupMapper struct {
// Group to add the user in. Fill the full path of the group including path.
// For example '/root-group/child-group'
Group string `json:"group"`
}
func (*HardcodedLdapGroupMapper) DeepCopy ¶
func (in *HardcodedLdapGroupMapper) DeepCopy() *HardcodedLdapGroupMapper
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HardcodedLdapGroupMapper.
func (*HardcodedLdapGroupMapper) DeepCopyInto ¶
func (in *HardcodedLdapGroupMapper) DeepCopyInto(out *HardcodedLdapGroupMapper)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HardcodedLdapGroupMapper) ToComponentConfig ¶
func (m *HardcodedLdapGroupMapper) ToComponentConfig() map[string][]string
type HardcodedLdapRoleMapper ¶
type HardcodedLdapRoleMapper struct {
// Role to give to the user. For client roles, it should be in the format
// `<clientID>.<role>`
Role string `json:"role,omitempty"`
}
func (*HardcodedLdapRoleMapper) DeepCopy ¶
func (in *HardcodedLdapRoleMapper) DeepCopy() *HardcodedLdapRoleMapper
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HardcodedLdapRoleMapper.
func (*HardcodedLdapRoleMapper) DeepCopyInto ¶
func (in *HardcodedLdapRoleMapper) DeepCopyInto(out *HardcodedLdapRoleMapper)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HardcodedLdapRoleMapper) ToComponentConfig ¶
func (m *HardcodedLdapRoleMapper) ToComponentConfig() map[string][]string
type KeycloakClient ¶
type KeycloakClient struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec KeycloakClientSpec `json:"spec,omitempty"`
Status KeycloakClientStatus `json:"status,omitempty"`
}
KeycloakClient is the Schema for the keycloakclients API +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:storageversion +kubebuilder:resource:shortName=kc,categories=keycloak +kubebuilder:printcolumn:name="CLIENT ID",type="string",JSONPath=".spec.config.clientId",description="Client ID of the keycloak client" +kubebuilder:printcolumn:name="PROTOCOL",type="string",JSONPath=".spec.config.protocol",description="Authentication protocol used by the client" +kubebuilder:printcolumn:name="STATUS",type="string",JSONPath=".status.api.phase",description="The status of the realm" +kubebuilder:printcolumn:name="LAST CHANGED",priority=1,type="date",JSONPath=".status.api.lastTransitionTime",description="The last time the resource was changed" +kubebuilder:printcolumn:name="BASE URL",priority=1,type="string",JSONPath=".spec.config.baseUrl",description="Base URL of the service"
func (*KeycloakClient) ApiStatus ¶
func (i *KeycloakClient) ApiStatus() *ApiStatus
func (*KeycloakClient) DeepCopy ¶
func (in *KeycloakClient) DeepCopy() *KeycloakClient
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakClient.
func (*KeycloakClient) DeepCopyInto ¶
func (in *KeycloakClient) DeepCopyInto(out *KeycloakClient)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KeycloakClient) DeepCopyObject ¶
func (in *KeycloakClient) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*KeycloakClient) Default ¶
func (r *KeycloakClient) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type
func (*KeycloakClient) Endpoint ¶
func (i *KeycloakClient) Endpoint() EndpointSelector
func (*KeycloakClient) Realm ¶
func (i *KeycloakClient) Realm() string
func (*KeycloakClient) SetupWebhookWithManager ¶
func (r *KeycloakClient) SetupWebhookWithManager(mgr ctrl.Manager) error
type KeycloakClientList ¶
type KeycloakClientList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []KeycloakClient `json:"items"`
}
KeycloakClientList contains a list of KeycloakClient +kubebuilder:object:root=true
func (*KeycloakClientList) DeepCopy ¶
func (in *KeycloakClientList) DeepCopy() *KeycloakClientList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakClientList.
func (*KeycloakClientList) DeepCopyInto ¶
func (in *KeycloakClientList) DeepCopyInto(out *KeycloakClientList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KeycloakClientList) DeepCopyObject ¶
func (in *KeycloakClientList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type KeycloakClientProtocolMapper ¶
type KeycloakClientProtocolMapper struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec KeycloakClientProtocolMapperSpec `json:"spec,omitempty"`
Status KeycloakClientProtocolMapperStatus `json:"status,omitempty"`
}
KeycloakClientProtocolMapper is the Schema for the keycloakclientprotocolmappers API +kubebuilder:object:root=true +kubebuilder:subresource:status
func (*KeycloakClientProtocolMapper) ApiStatus ¶
func (i *KeycloakClientProtocolMapper) ApiStatus() *ApiStatus
func (*KeycloakClientProtocolMapper) DeepCopy ¶
func (in *KeycloakClientProtocolMapper) DeepCopy() *KeycloakClientProtocolMapper
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakClientProtocolMapper.
func (*KeycloakClientProtocolMapper) DeepCopyInto ¶
func (in *KeycloakClientProtocolMapper) DeepCopyInto(out *KeycloakClientProtocolMapper)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KeycloakClientProtocolMapper) DeepCopyObject ¶
func (in *KeycloakClientProtocolMapper) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*KeycloakClientProtocolMapper) Endpoint ¶
func (i *KeycloakClientProtocolMapper) Endpoint() EndpointSelector
func (*KeycloakClientProtocolMapper) Realm ¶
func (i *KeycloakClientProtocolMapper) Realm() string
type KeycloakClientProtocolMapperList ¶
type KeycloakClientProtocolMapperList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []KeycloakClientProtocolMapper `json:"items"`
}
KeycloakClientProtocolMapperList contains a list of KeycloakClientProtocolMapper +kubebuilder:object:root=true
func (*KeycloakClientProtocolMapperList) DeepCopy ¶
func (in *KeycloakClientProtocolMapperList) DeepCopy() *KeycloakClientProtocolMapperList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakClientProtocolMapperList.
func (*KeycloakClientProtocolMapperList) DeepCopyInto ¶
func (in *KeycloakClientProtocolMapperList) DeepCopyInto(out *KeycloakClientProtocolMapperList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KeycloakClientProtocolMapperList) DeepCopyObject ¶
func (in *KeycloakClientProtocolMapperList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type KeycloakClientProtocolMapperSpec ¶
type KeycloakClientProtocolMapperSpec struct {
Endpoint EndpointSelector `json:"endpoint,omitempty"`
// +kubebuilder:validation:Required
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
Realm string `json:"realm"`
// +kubebuilder:validation:Required
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
Client string `json:"client"`
Config gocloak.ProtocolMapper `json:"config,omitempty"`
}
KeycloakClientProtocolMapperSpec defines the desired state of KeycloakClientProtocolMapper
func (*KeycloakClientProtocolMapperSpec) DeepCopy ¶
func (in *KeycloakClientProtocolMapperSpec) DeepCopy() *KeycloakClientProtocolMapperSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakClientProtocolMapperSpec.
func (*KeycloakClientProtocolMapperSpec) DeepCopyInto ¶
func (in *KeycloakClientProtocolMapperSpec) DeepCopyInto(out *KeycloakClientProtocolMapperSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KeycloakClientProtocolMapperStatus ¶
type KeycloakClientProtocolMapperStatus struct {
// The ID of the client
ClientID string `json:"clientID,omitempty"`
// The ID of the protocol mapper managed
ProtocolMapperID string `json:"protocolMapperID,omitempty"`
// Base status
// +optional
Api ApiStatus `json:"api,omitempty"`
}
KeycloakClientProtocolMapperStatus defines the observed state of KeycloakClientProtocolMapper
func (*KeycloakClientProtocolMapperStatus) DeepCopy ¶
func (in *KeycloakClientProtocolMapperStatus) DeepCopy() *KeycloakClientProtocolMapperStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakClientProtocolMapperStatus.
func (*KeycloakClientProtocolMapperStatus) DeepCopyInto ¶
func (in *KeycloakClientProtocolMapperStatus) DeepCopyInto(out *KeycloakClientProtocolMapperStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KeycloakClientRole ¶
type KeycloakClientRole struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
ClientName string `json:"clientName,omitempty"`
Spec KeycloakClientRoleSpec `json:"spec,omitempty"`
Status KeycloakClientRoleStatus `json:"status,omitempty"`
}
KeycloakClientRole is the Schema for the keycloakclientroles API +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:storageversion +kubebuilder:resource:shortName=kcrole,categories=keycloak +kubebuilder:printcolumn:name="REALM",type="string",JSONPath=".spec.realm" +kubebuilder:printcolumn:name="CLIENT",type="string",JSONPath=".spec.client" +kubebuilder:printcolumn:name="ROLE",type="string",JSONPath=".spec.config.name" +kubebuilder:printcolumn:name="STATUS",type="string",JSONPath=".status.api.phase",description="The status of the resource" +kubebuilder:printcolumn:name="LAST CHANGED",priority=1,type="date",JSONPath=".status.api.lastTransitionTime",description="The last time the resource was changed" +kubebuilder:printcolumn:name="DESCRIPTION",type="string",priority=1,JSONPath=".spec.config.description",description="The description of the role"
func (*KeycloakClientRole) ApiStatus ¶
func (i *KeycloakClientRole) ApiStatus() *ApiStatus
func (*KeycloakClientRole) DeepCopy ¶
func (in *KeycloakClientRole) DeepCopy() *KeycloakClientRole
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakClientRole.
func (*KeycloakClientRole) DeepCopyInto ¶
func (in *KeycloakClientRole) DeepCopyInto(out *KeycloakClientRole)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KeycloakClientRole) DeepCopyObject ¶
func (in *KeycloakClientRole) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*KeycloakClientRole) Default ¶
func (r *KeycloakClientRole) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type
func (*KeycloakClientRole) Endpoint ¶
func (i *KeycloakClientRole) Endpoint() EndpointSelector
func (*KeycloakClientRole) Realm ¶
func (i *KeycloakClientRole) Realm() string
func (*KeycloakClientRole) SetupWebhookWithManager ¶
func (r *KeycloakClientRole) SetupWebhookWithManager(mgr ctrl.Manager) error
type KeycloakClientRoleList ¶
type KeycloakClientRoleList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []KeycloakClientRole `json:"items"`
}
KeycloakClientRoleList contains a list of KeycloakClientRole +kubebuilder:object:root=true
func (*KeycloakClientRoleList) DeepCopy ¶
func (in *KeycloakClientRoleList) DeepCopy() *KeycloakClientRoleList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakClientRoleList.
func (*KeycloakClientRoleList) DeepCopyInto ¶
func (in *KeycloakClientRoleList) DeepCopyInto(out *KeycloakClientRoleList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KeycloakClientRoleList) DeepCopyObject ¶
func (in *KeycloakClientRoleList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type KeycloakClientRoleMapping ¶
type KeycloakClientRoleMapping struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec KeycloakClientRoleMappingSpec `json:"spec,omitempty"`
Status KeycloakClientRoleMappingStatus `json:"status,omitempty"`
}
KeycloakClientRoleMapping is the Schema for the keycloakclientrolemappings API +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:storageversion +kubebuilder:printcolumn:name="REALM",type="string",JSONPath=".spec.realm" +kubebuilder:printcolumn:name="CLIENT",type="string",JSONPath=".spec.client" +kubebuilder:printcolumn:name="ROLE",type="string",JSONPath=".spec.role" +kubebuilder:printcolumn:name="TYPE",type="string",JSONPath=".spec.subject.kind" +kubebuilder:printcolumn:name="SUBJECT",type="string",JSONPath=".spec.subject.name" +kubebuilder:printcolumn:name="STATUS",type="string",JSONPath=".status.api.phase",description="The status of the resource" +kubebuilder:printcolumn:name="LAST CHANGED",priority=1,type="date",JSONPath=".status.api.lastTransitionTime",description="The last time the resource was changed" +kubebuilder:resource:shortName=kcrolemap,categories=keycloak
func (*KeycloakClientRoleMapping) ApiStatus ¶
func (i *KeycloakClientRoleMapping) ApiStatus() *ApiStatus
func (*KeycloakClientRoleMapping) DeepCopy ¶
func (in *KeycloakClientRoleMapping) DeepCopy() *KeycloakClientRoleMapping
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakClientRoleMapping.
func (*KeycloakClientRoleMapping) DeepCopyInto ¶
func (in *KeycloakClientRoleMapping) DeepCopyInto(out *KeycloakClientRoleMapping)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KeycloakClientRoleMapping) DeepCopyObject ¶
func (in *KeycloakClientRoleMapping) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*KeycloakClientRoleMapping) Endpoint ¶
func (i *KeycloakClientRoleMapping) Endpoint() EndpointSelector
func (*KeycloakClientRoleMapping) Realm ¶
func (i *KeycloakClientRoleMapping) Realm() string
type KeycloakClientRoleMappingList ¶
type KeycloakClientRoleMappingList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []KeycloakClientRoleMapping `json:"items"`
}
KeycloakClientRoleMappingList contains a list of KeycloakClientRoleMapping +kubebuilder:object:root=true
func (*KeycloakClientRoleMappingList) DeepCopy ¶
func (in *KeycloakClientRoleMappingList) DeepCopy() *KeycloakClientRoleMappingList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakClientRoleMappingList.
func (*KeycloakClientRoleMappingList) DeepCopyInto ¶
func (in *KeycloakClientRoleMappingList) DeepCopyInto(out *KeycloakClientRoleMappingList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KeycloakClientRoleMappingList) DeepCopyObject ¶
func (in *KeycloakClientRoleMappingList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type KeycloakClientRoleMappingSpec ¶
type KeycloakClientRoleMappingSpec struct {
Endpoint EndpointSelector `json:"endpoint,omitempty"`
// +kubebuilder:validation:Required
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
Realm string `json:"realm"`
// +kubebuilder:validation:Required
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
Client string `json:"client"`
// +kubebuilder:validation:Required
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
Role string `json:"role"`
// +kubebuilder:validation:Required
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
Subject Subject `json:"subject"`
}
func (*KeycloakClientRoleMappingSpec) DeepCopy ¶
func (in *KeycloakClientRoleMappingSpec) DeepCopy() *KeycloakClientRoleMappingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakClientRoleMappingSpec.
func (*KeycloakClientRoleMappingSpec) DeepCopyInto ¶
func (in *KeycloakClientRoleMappingSpec) DeepCopyInto(out *KeycloakClientRoleMappingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KeycloakClientRoleMappingStatus ¶
type KeycloakClientRoleMappingStatus struct {
// The ID of the client owning the role concerned by the mapping
ClientID string `json:"clientID,omitempty"`
// The ID of the client role concerned by the mapping
RoleID string `json:"roleID,omitempty"`
// The ID of the Subject concerned by the mapping
SubjectID string `json:"subjectID,omitempty"`
// Base status
// +optional
Api ApiStatus `json:"api,omitempty"`
}
+k8s:openapi-gen=true +kubebuilder:subresource:status
func (*KeycloakClientRoleMappingStatus) DeepCopy ¶
func (in *KeycloakClientRoleMappingStatus) DeepCopy() *KeycloakClientRoleMappingStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakClientRoleMappingStatus.
func (*KeycloakClientRoleMappingStatus) DeepCopyInto ¶
func (in *KeycloakClientRoleMappingStatus) DeepCopyInto(out *KeycloakClientRoleMappingStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KeycloakClientRoleSpec ¶
type KeycloakClientRoleSpec struct {
Endpoint EndpointSelector `json:"endpoint,omitempty"`
// +kubebuilder:validation:Required
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
Realm string `json:"realm"`
// +kubebuilder:validation:Required
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
Client string `json:"client"`
Config gocloak.Role `json:"config"`
}
KeycloakClientRoleSpec defines the desired state of KeycloakClientRole +kubebuilder:object:generate=true
func (*KeycloakClientRoleSpec) DeepCopy ¶
func (in *KeycloakClientRoleSpec) DeepCopy() *KeycloakClientRoleSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakClientRoleSpec.
func (*KeycloakClientRoleSpec) DeepCopyInto ¶
func (in *KeycloakClientRoleSpec) DeepCopyInto(out *KeycloakClientRoleSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KeycloakClientRoleStatus ¶
type KeycloakClientRoleStatus struct {
// The ID of the client the role belongs to
ClientID string `json:"clientID,omitempty"`
// The ID of the role managed
RoleID string `json:"roleID,omitempty"`
// Base status
// +optional
Api ApiStatus `json:"api,omitempty"`
}
+k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:validation:Optional
func (*KeycloakClientRoleStatus) DeepCopy ¶
func (in *KeycloakClientRoleStatus) DeepCopy() *KeycloakClientRoleStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakClientRoleStatus.
func (*KeycloakClientRoleStatus) DeepCopyInto ¶
func (in *KeycloakClientRoleStatus) DeepCopyInto(out *KeycloakClientRoleStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KeycloakClientScope ¶
type KeycloakClientScope struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec KeycloakClientScopeSpec `json:"spec,omitempty"`
Status KeycloakClientScopeStatus `json:"status,omitempty"`
}
KeycloakClientScope is the Schema for the keycloakclientscopes API +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:storageversion +kubebuilder:resource:shortName=kcs,categories=keycloak +kubebuilder:printcolumn:name="REALM",type="string",JSONPath=".spec.realm",description="Realm of the client scope" +kubebuilder:printcolumn:name="PROTOCOL",type="string",JSONPath=".spec.config.protocol",description="Authentication protocol used by the client" +kubebuilder:printcolumn:name="STATUS",type="string",JSONPath=".status.api.phase",description="The status of the realm" +kubebuilder:printcolumn:name="LAST CHANGED",priority=1,type="date",JSONPath=".status.api.lastTransitionTime",description="The last time the resource was changed"
func (*KeycloakClientScope) ApiStatus ¶
func (i *KeycloakClientScope) ApiStatus() *ApiStatus
func (*KeycloakClientScope) DeepCopy ¶
func (in *KeycloakClientScope) DeepCopy() *KeycloakClientScope
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakClientScope.
func (*KeycloakClientScope) DeepCopyInto ¶
func (in *KeycloakClientScope) DeepCopyInto(out *KeycloakClientScope)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KeycloakClientScope) DeepCopyObject ¶
func (in *KeycloakClientScope) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*KeycloakClientScope) Endpoint ¶
func (i *KeycloakClientScope) Endpoint() EndpointSelector
func (*KeycloakClientScope) Realm ¶
func (i *KeycloakClientScope) Realm() string
type KeycloakClientScopeList ¶
type KeycloakClientScopeList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []KeycloakClientScope `json:"items"`
}
KeycloakClientScopeList contains a list of KeycloakClientScope +kubebuilder:object:root=true
func (*KeycloakClientScopeList) DeepCopy ¶
func (in *KeycloakClientScopeList) DeepCopy() *KeycloakClientScopeList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakClientScopeList.
func (*KeycloakClientScopeList) DeepCopyInto ¶
func (in *KeycloakClientScopeList) DeepCopyInto(out *KeycloakClientScopeList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KeycloakClientScopeList) DeepCopyObject ¶
func (in *KeycloakClientScopeList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type KeycloakClientScopeProtocolMapper ¶
type KeycloakClientScopeProtocolMapper struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec KeycloakClientScopeProtocolMapperSpec `json:"spec,omitempty"`
Status KeycloakClientScopeProtocolMapperStatus `json:"status,omitempty"`
}
KeycloakClientScopeProtocolMapper is the Schema for the keycloakclientscopeprotocolmappers API +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:storageversion +kubebuilder:resource:shortName=kcspm,categories=keycloak +kubebuilder:printcolumn:name="REALM",type="string",JSONPath=".spec.realm",description="Realm of the client scope" +kubebuilder:printcolumn:name="SCOPE",type="string",JSONPath=".spec.clientScope",description="Name of the client scope" +kubebuilder:printcolumn:name="STATUS",type="string",JSONPath=".status.api.phase",description="The status of the realm" +kubebuilder:printcolumn:name="LAST CHANGED",priority=1,type="date",JSONPath=".status.api.lastTransitionTime",description="The last time the resource was changed"
func (*KeycloakClientScopeProtocolMapper) ApiStatus ¶
func (i *KeycloakClientScopeProtocolMapper) ApiStatus() *ApiStatus
func (*KeycloakClientScopeProtocolMapper) DeepCopy ¶
func (in *KeycloakClientScopeProtocolMapper) DeepCopy() *KeycloakClientScopeProtocolMapper
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakClientScopeProtocolMapper.
func (*KeycloakClientScopeProtocolMapper) DeepCopyInto ¶
func (in *KeycloakClientScopeProtocolMapper) DeepCopyInto(out *KeycloakClientScopeProtocolMapper)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KeycloakClientScopeProtocolMapper) DeepCopyObject ¶
func (in *KeycloakClientScopeProtocolMapper) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*KeycloakClientScopeProtocolMapper) Endpoint ¶
func (i *KeycloakClientScopeProtocolMapper) Endpoint() EndpointSelector
func (*KeycloakClientScopeProtocolMapper) Realm ¶
func (i *KeycloakClientScopeProtocolMapper) Realm() string
type KeycloakClientScopeProtocolMapperList ¶
type KeycloakClientScopeProtocolMapperList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []KeycloakClientScopeProtocolMapper `json:"items"`
}
KeycloakClientScopeProtocolMapperList contains a list of KeycloakClientScopeProtocolMapper +kubebuilder:object:root=true
func (*KeycloakClientScopeProtocolMapperList) DeepCopy ¶
func (in *KeycloakClientScopeProtocolMapperList) DeepCopy() *KeycloakClientScopeProtocolMapperList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakClientScopeProtocolMapperList.
func (*KeycloakClientScopeProtocolMapperList) DeepCopyInto ¶
func (in *KeycloakClientScopeProtocolMapperList) DeepCopyInto(out *KeycloakClientScopeProtocolMapperList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KeycloakClientScopeProtocolMapperList) DeepCopyObject ¶
func (in *KeycloakClientScopeProtocolMapperList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type KeycloakClientScopeProtocolMapperSpec ¶
type KeycloakClientScopeProtocolMapperSpec struct {
Endpoint EndpointSelector `json:"endpoint,omitempty"`
// +kubebuilder:validation:Required
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
Realm string `json:"realm"`
// +kubebuilder:validation:Required
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
ClientScope string `json:"clientScope"`
Config gocloak.ProtocolMapper `json:"config,omitempty"`
}
KeycloakClientScopeProtocolMapperSpec defines the desired state of KeycloakClientScopeProtocolMapper
func (*KeycloakClientScopeProtocolMapperSpec) DeepCopy ¶
func (in *KeycloakClientScopeProtocolMapperSpec) DeepCopy() *KeycloakClientScopeProtocolMapperSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakClientScopeProtocolMapperSpec.
func (*KeycloakClientScopeProtocolMapperSpec) DeepCopyInto ¶
func (in *KeycloakClientScopeProtocolMapperSpec) DeepCopyInto(out *KeycloakClientScopeProtocolMapperSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KeycloakClientScopeProtocolMapperStatus ¶
type KeycloakClientScopeProtocolMapperStatus struct {
// The ID of the client scope
ClientScopeID string `json:"clientScopeID,omitempty"`
// The ID of the protocol mapper managed
ProtocolMapperID string `json:"protocolMapperID,omitempty"`
// Base status
// +optional
Api ApiStatus `json:"api,omitempty"`
}
KeycloakClientScopeProtocolMapperStatus defines the observed state of KeycloakClientScopeProtocolMapper
func (*KeycloakClientScopeProtocolMapperStatus) DeepCopy ¶
func (in *KeycloakClientScopeProtocolMapperStatus) DeepCopy() *KeycloakClientScopeProtocolMapperStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakClientScopeProtocolMapperStatus.
func (*KeycloakClientScopeProtocolMapperStatus) DeepCopyInto ¶
func (in *KeycloakClientScopeProtocolMapperStatus) DeepCopyInto(out *KeycloakClientScopeProtocolMapperStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KeycloakClientScopeSpec ¶
type KeycloakClientScopeSpec struct {
Endpoint EndpointSelector `json:"endpoint,omitempty"`
// +kubebuilder:validation:Required
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
Realm string `json:"realm"`
Config gocloak.ClientScope `json:"config"`
}
KeycloakClientScopeSpec defines the desired state of KeycloakClientScope
func (*KeycloakClientScopeSpec) DeepCopy ¶
func (in *KeycloakClientScopeSpec) DeepCopy() *KeycloakClientScopeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakClientScopeSpec.
func (*KeycloakClientScopeSpec) DeepCopyInto ¶
func (in *KeycloakClientScopeSpec) DeepCopyInto(out *KeycloakClientScopeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KeycloakClientScopeStatus ¶
type KeycloakClientScopeStatus struct {
// The ID of the client scope deployed
ClientScopeID string `json:"clientScopeID,omitempty"`
// Base status
// +optional
Api ApiStatus `json:"api,omitempty"`
}
KeycloakClientScopeStatus defines the observed state of KeycloakClientScope +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:validation:Optional
func (*KeycloakClientScopeStatus) DeepCopy ¶
func (in *KeycloakClientScopeStatus) DeepCopy() *KeycloakClientScopeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakClientScopeStatus.
func (*KeycloakClientScopeStatus) DeepCopyInto ¶
func (in *KeycloakClientScopeStatus) DeepCopyInto(out *KeycloakClientScopeStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KeycloakClientSpec ¶
type KeycloakClientSpec struct {
Endpoint EndpointSelector `json:"endpoint,omitempty"`
// +kubebuilder:validation:Required
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
Realm string `json:"realm"`
Secret SecretGenerator `json:"secret,omitempty"`
Config gocloak.Client `json:"config"`
}
func (*KeycloakClientSpec) DeepCopy ¶
func (in *KeycloakClientSpec) DeepCopy() *KeycloakClientSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakClientSpec.
func (*KeycloakClientSpec) DeepCopyInto ¶
func (in *KeycloakClientSpec) DeepCopyInto(out *KeycloakClientSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KeycloakClientStatus ¶
type KeycloakClientStatus struct {
// The ID of the OIDC/SAML client that is created / managed
ClientID string `json:"clientID,omitempty"`
// Base status
// +optional
Api ApiStatus `json:"api,omitempty"`
}
+k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:validation:Optional
func (*KeycloakClientStatus) DeepCopy ¶
func (in *KeycloakClientStatus) DeepCopy() *KeycloakClientStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakClientStatus.
func (*KeycloakClientStatus) DeepCopyInto ¶
func (in *KeycloakClientStatus) DeepCopyInto(out *KeycloakClientStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KeycloakClusterEndpoint ¶
type KeycloakClusterEndpoint struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec KeycloakEndpointSpec `json:"spec,omitempty"`
Status KeycloakEndpointStatus `json:"status,omitempty"`
}
KeycloakClusterEndpoint represent a Keycloak endpoint. It is similar to KeycloakEndpoint, but not scoped +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:storageversion +kubebuilder:resource:scope=Cluster,shortName=kce,categories=keycloak +kubebuilder:printcolumn:name="VERSION",type="string",JSONPath=".status.version",description="The version of the endpoint" +kubebuilder:printcolumn:name="STATUS",type="string",JSONPath=".status.phase",description="The status of the endpoint" +kubebuilder:printcolumn:name="LAST CONNECTION",priority=1,type="date",JSONPath=".status.lastSuccess",description="The last time the endpoint was connected" +kubebuilder:printcolumn:name="URL",type="string",priority=1,JSONPath=".spec.baseUrl",description="The URL of the endpoint"
func (*KeycloakClusterEndpoint) DeepCopy ¶
func (in *KeycloakClusterEndpoint) DeepCopy() *KeycloakClusterEndpoint
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakClusterEndpoint.
func (*KeycloakClusterEndpoint) DeepCopyInto ¶
func (in *KeycloakClusterEndpoint) DeepCopyInto(out *KeycloakClusterEndpoint)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KeycloakClusterEndpoint) DeepCopyObject ¶
func (in *KeycloakClusterEndpoint) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*KeycloakClusterEndpoint) EndpointSpec ¶
func (i *KeycloakClusterEndpoint) EndpointSpec() *KeycloakEndpointSpec
func (*KeycloakClusterEndpoint) EndpointStatus ¶
func (i *KeycloakClusterEndpoint) EndpointStatus() *KeycloakEndpointStatus
type KeycloakClusterEndpointList ¶
type KeycloakClusterEndpointList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []KeycloakClusterEndpoint `json:"items"`
}
KeycloakClusterEndpointList contains a list of KeycloakClusterEndpoint +kubebuilder:object:root=true
func (*KeycloakClusterEndpointList) DeepCopy ¶
func (in *KeycloakClusterEndpointList) DeepCopy() *KeycloakClusterEndpointList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakClusterEndpointList.
func (*KeycloakClusterEndpointList) DeepCopyInto ¶
func (in *KeycloakClusterEndpointList) DeepCopyInto(out *KeycloakClusterEndpointList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KeycloakClusterEndpointList) DeepCopyObject ¶
func (in *KeycloakClusterEndpointList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type KeycloakEndpoint ¶
type KeycloakEndpoint struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec KeycloakEndpointSpec `json:"spec,omitempty"`
Status KeycloakEndpointStatus `json:"status,omitempty"`
}
KeycloakEndpoint is the Schema for the keycloakendpoints API +genclient +k8s:openapi-gen=true +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:storageversion +kubebuilder:printcolumn:name="VERSION",type="string",JSONPath=".status.version",description="The version of the endpoint" +kubebuilder:printcolumn:name="STATUS",type="string",JSONPath=".status.phase",description="The status of the endpoint" +kubebuilder:printcolumn:name="LAST CONNECTION",priority=1,type="date",JSONPath=".status.lastSuccess",description="The last time the endpoint was connected" +kubebuilder:printcolumn:name="URL",type="string",priority=1,JSONPath=".spec.baseUrl",description="The URL of the endpoint"
func (*KeycloakEndpoint) DeepCopy ¶
func (in *KeycloakEndpoint) DeepCopy() *KeycloakEndpoint
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakEndpoint.
func (*KeycloakEndpoint) DeepCopyInto ¶
func (in *KeycloakEndpoint) DeepCopyInto(out *KeycloakEndpoint)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KeycloakEndpoint) DeepCopyObject ¶
func (in *KeycloakEndpoint) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*KeycloakEndpoint) EndpointSpec ¶
func (i *KeycloakEndpoint) EndpointSpec() *KeycloakEndpointSpec
func (*KeycloakEndpoint) EndpointStatus ¶
func (i *KeycloakEndpoint) EndpointStatus() *KeycloakEndpointStatus
type KeycloakEndpointList ¶
type KeycloakEndpointList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []KeycloakEndpoint `json:"items"`
}
KeycloakEndpointList contains a list of KeycloakEndpoint +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*KeycloakEndpointList) DeepCopy ¶
func (in *KeycloakEndpointList) DeepCopy() *KeycloakEndpointList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakEndpointList.
func (*KeycloakEndpointList) DeepCopyInto ¶
func (in *KeycloakEndpointList) DeepCopyInto(out *KeycloakEndpointList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KeycloakEndpointList) DeepCopyObject ¶
func (in *KeycloakEndpointList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type KeycloakEndpointSpec ¶
type KeycloakEndpointSpec struct {
// URL to the keycloak server to manage
BaseUrl string `json:"baseUrl,omitempty"`
// Additional prefix of the keycloak API (if needed). Should sometimes
// be set to `/auth` for some deployments of keycloak.
// +kubebuilder:default=""
BasePath string `json:"basePath,omitempty"`
// Use the value stored in a ConfigMap for the CA certificate
CaConfigMap *ConfigMapValue `json:"caConfigMap,omitempty"`
// Ignore TLS CA verification. It's recommended to set `caConfigMap` instead.
// +kubebuilder:default=false
TlsInsecureSkipVerify bool `json:"tlsInsecureSkipVerify,omitempty"`
// Realm to use for admin connections. Defaults to `master`.
// +kubebuilder:default="master"
Realm string `json:"realm"`
// Timeout in seconds for the HTTP connection. Defaults to 10 seconds.
// +kubebuilder:default=10
Timeout int `json:"timeout"`
// The name of a secret of type `kubernetes.io/basic-auth` to authenticate to
// keycloak as admin. The secret need to be in the same namespace as the KeycloakEndpoint.
// When used in the context of KeycloakClusterEndpoint, a the `namespace` of the secret can
// be set.
BasicAuthSecret BasicAuthSecret `json:"basicAuthSecret,omitempty"`
// A list of rules to complete kubernetes RBAC. If the resource being reconciled matches
// one of this rule, the action will be executed (allow/reject). If no rule match, the
// `noMatchBehavior` will be executed. If nothing matches, it will be allowed.
// If you need to default to forbidden, add a `{action: reject}` as the last rule.
Rules []Rule `json:"rules,omitempty"`
}
KeycloakEndpointSpec defines the desired state of KeycloakEndpoint +kubebuilder:object:generate=true +k8s:openapi-gen=true
func (*KeycloakEndpointSpec) DeepCopy ¶
func (in *KeycloakEndpointSpec) DeepCopy() *KeycloakEndpointSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakEndpointSpec.
func (*KeycloakEndpointSpec) DeepCopyInto ¶
func (in *KeycloakEndpointSpec) DeepCopyInto(out *KeycloakEndpointSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KeycloakEndpointStatus ¶
type KeycloakEndpointStatus struct {
// Whether the CRD could connect to the keycloak endpoint successfully
Phase EndpointPhase `json:"phase,omitempty"`
Version string `json:"version,omitempty"`
Message string `json:"message,omitempty"`
// +optional
LastSuccess *metav1.Time `json:"lastSuccess,omitempty"`
}
KeycloakEndpointStatus defines the observed state of KeycloakEndpoint +k8s:openapi-gen=true +kubebuilder:subresource:status
func (*KeycloakEndpointStatus) DeepCopy ¶
func (in *KeycloakEndpointStatus) DeepCopy() *KeycloakEndpointStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakEndpointStatus.
func (*KeycloakEndpointStatus) DeepCopyInto ¶
func (in *KeycloakEndpointStatus) DeepCopyInto(out *KeycloakEndpointStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KeycloakLDAPFederation ¶
type KeycloakLDAPFederation struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec KeycloakLDAPFederationSpec `json:"spec,omitempty"`
Status KeycloakLDAPFederationStatus `json:"status,omitempty"`
}
KeycloakLDAPFederation is the Schema for the keycloakldapfederations API +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:storageversion +kubebuilder:resource:shortName=kldap,categories=keycloak +kubebuilder:printcolumn:name="STATUS",type="string",JSONPath=".status.api.phase" +kubebuilder:printcolumn:name="LAST CHANGED",priority=1,type="date",JSONPath=".status.api.lastTransitionTime",description="The last time the resource was changed"
func (*KeycloakLDAPFederation) ApiStatus ¶
func (i *KeycloakLDAPFederation) ApiStatus() *ApiStatus
func (*KeycloakLDAPFederation) DeepCopy ¶
func (in *KeycloakLDAPFederation) DeepCopy() *KeycloakLDAPFederation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakLDAPFederation.
func (*KeycloakLDAPFederation) DeepCopyInto ¶
func (in *KeycloakLDAPFederation) DeepCopyInto(out *KeycloakLDAPFederation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KeycloakLDAPFederation) DeepCopyObject ¶
func (in *KeycloakLDAPFederation) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*KeycloakLDAPFederation) Default ¶
func (r *KeycloakLDAPFederation) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type
func (*KeycloakLDAPFederation) Endpoint ¶
func (i *KeycloakLDAPFederation) Endpoint() EndpointSelector
func (*KeycloakLDAPFederation) Realm ¶
func (i *KeycloakLDAPFederation) Realm() string
func (*KeycloakLDAPFederation) SetupWebhookWithManager ¶
func (r *KeycloakLDAPFederation) SetupWebhookWithManager(mgr ctrl.Manager) error
type KeycloakLDAPFederationList ¶
type KeycloakLDAPFederationList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []KeycloakLDAPFederation `json:"items"`
}
KeycloakLDAPFederationList contains a list of KeycloakLDAPFederation +kubebuilder:object:root=true
func (*KeycloakLDAPFederationList) DeepCopy ¶
func (in *KeycloakLDAPFederationList) DeepCopy() *KeycloakLDAPFederationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakLDAPFederationList.
func (*KeycloakLDAPFederationList) DeepCopyInto ¶
func (in *KeycloakLDAPFederationList) DeepCopyInto(out *KeycloakLDAPFederationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KeycloakLDAPFederationList) DeepCopyObject ¶
func (in *KeycloakLDAPFederationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type KeycloakLDAPFederationSpec ¶
type KeycloakLDAPFederationSpec struct {
Endpoint EndpointSelector `json:"endpoint,omitempty"`
Realm string `json:"realm"`
Config *LdapFederation `json:"config,omitempty"`
}
KeycloakLDAPFederationSpec defines the desired state of KeycloakLDAPFederation
func (*KeycloakLDAPFederationSpec) DeepCopy ¶
func (in *KeycloakLDAPFederationSpec) DeepCopy() *KeycloakLDAPFederationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakLDAPFederationSpec.
func (*KeycloakLDAPFederationSpec) DeepCopyInto ¶
func (in *KeycloakLDAPFederationSpec) DeepCopyInto(out *KeycloakLDAPFederationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KeycloakLDAPFederationStatus ¶
type KeycloakLDAPFederationStatus struct {
// ID of the component representing the managed LDAP federation
ComponentID string `json:"componentID,omitempty"`
// Result of the last successful sync
// +optional
Result *gocloak.LDAPSyncResult `json:"result,omitempty"`
// Base status
// +optional
Api ApiStatus `json:"api,omitempty"`
}
KeycloakLDAPFederationStatus defines the observed state of KeycloakLDAPFederation +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:validation:Optional
func (*KeycloakLDAPFederationStatus) DeepCopy ¶
func (in *KeycloakLDAPFederationStatus) DeepCopy() *KeycloakLDAPFederationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakLDAPFederationStatus.
func (*KeycloakLDAPFederationStatus) DeepCopyInto ¶
func (in *KeycloakLDAPFederationStatus) DeepCopyInto(out *KeycloakLDAPFederationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KeycloakLDAPMapper ¶
type KeycloakLDAPMapper struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec KeycloakLDAPMapperSpec `json:"spec,omitempty"`
Status KeycloakLDAPMapperStatus `json:"status,omitempty"`
}
KeycloakLDAPMapper is the Schema for the keycloakldapmappers API +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:storageversion +kubebuilder:resource:shortName=kldapmapper,categories=keycloak +kubebuilder:printcolumn:name="TYPE",type="string",JSONPath=".spec.type" +kubebuilder:printcolumn:name="STATUS",type="string",JSONPath=".status.api.phase" +kubebuilder:printcolumn:name="LAST CHANGED",priority=1,type="date",JSONPath=".status.api.lastTransitionTime",description="The last time the resource was changed"
func (*KeycloakLDAPMapper) ApiStatus ¶
func (i *KeycloakLDAPMapper) ApiStatus() *ApiStatus
func (*KeycloakLDAPMapper) DeepCopy ¶
func (in *KeycloakLDAPMapper) DeepCopy() *KeycloakLDAPMapper
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakLDAPMapper.
func (*KeycloakLDAPMapper) DeepCopyInto ¶
func (in *KeycloakLDAPMapper) DeepCopyInto(out *KeycloakLDAPMapper)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KeycloakLDAPMapper) DeepCopyObject ¶
func (in *KeycloakLDAPMapper) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*KeycloakLDAPMapper) Endpoint ¶
func (i *KeycloakLDAPMapper) Endpoint() EndpointSelector
func (*KeycloakLDAPMapper) Realm ¶
func (i *KeycloakLDAPMapper) Realm() string
func (*KeycloakLDAPMapper) ToComponent ¶
func (i *KeycloakLDAPMapper) ToComponent(fid string) (*gocloak.Component, error)
type KeycloakLDAPMapperList ¶
type KeycloakLDAPMapperList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []KeycloakLDAPMapper `json:"items"`
}
KeycloakLDAPMapperList contains a list of KeycloakLDAPMapper +kubebuilder:object:root=true
func (*KeycloakLDAPMapperList) DeepCopy ¶
func (in *KeycloakLDAPMapperList) DeepCopy() *KeycloakLDAPMapperList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakLDAPMapperList.
func (*KeycloakLDAPMapperList) DeepCopyInto ¶
func (in *KeycloakLDAPMapperList) DeepCopyInto(out *KeycloakLDAPMapperList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KeycloakLDAPMapperList) DeepCopyObject ¶
func (in *KeycloakLDAPMapperList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type KeycloakLDAPMapperSpec ¶
type KeycloakLDAPMapperSpec struct {
Endpoint EndpointSelector `json:"endpoint,omitempty"`
// +kubebuilder:validation:Required
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
Realm string `json:"realm"`
// +kubebuilder:validation:Required
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
Federation string `json:"federation"`
// +kubebuilder:validation:Required
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
// +kubebuilder:validation:Enum=user-attribute-ldap-mapper;group-ldap-mapper;role-ldap-mapper
Type string `json:"type"`
// +kubebuilder:validation:Required
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
Name string `json:"name"`
// +optional
GroupLdapMapper *GroupLdapMapper `json:"groupLdapMapper,omitempty"`
// +optional
UserAttributeLdapMapper *UserAttributeLdapMapper `json:"userAttributeLdapMapper,omitempty"`
// +optional
RoleLdapMapper *RoleLdapMapper `json:"roleLdapMapper,omitempty"`
// +optional
FullNameLdapMapper *FullNameLdapMapper `json:"fullNameLdapMapper,omitempty"`
// +optional
CertificateLdapMapper *CertificateLdapMapper `json:"certificateLdapMapper,omitempty"`
// +optional
HardcodedLdapGroupMapper *HardcodedLdapGroupMapper `json:"hardcodedLdapGroupMapper,omitempty"`
// +optional
HardcodedLdapAttributeMapper *HardcodedLdapAttributeMapper `json:"hardcodedLdapAttributeMapper,omitempty"`
// +optional
HardcodedAttributeMapper *HardcodedAttributeMapper `json:"hardcodedAttributeMapper,omitempty"`
// +optional
HardcodedLdapRoleMapper *HardcodedLdapRoleMapper `json:"hardcodedLdapRoleMapper,omitempty"`
// +optional
MSADUserAccountControlMapper *MSADUserAccountControlMapper `json:"msadUserAccountControlMapper,omitempty"`
}
KeycloakLDAPMapperSpec defines the desired state of KeycloakLDAPMapper
func (*KeycloakLDAPMapperSpec) DeepCopy ¶
func (in *KeycloakLDAPMapperSpec) DeepCopy() *KeycloakLDAPMapperSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakLDAPMapperSpec.
func (*KeycloakLDAPMapperSpec) DeepCopyInto ¶
func (in *KeycloakLDAPMapperSpec) DeepCopyInto(out *KeycloakLDAPMapperSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KeycloakLDAPMapperStatus ¶
type KeycloakLDAPMapperStatus struct {
// ID of the component representing the managed LDAP mapper
ComponentID string `json:"componentID,omitempty"`
// ID of the LDAP Federation it belongs to
FederationID string `json:"federationID,omitempty"`
// Result of the last successful sync
// +optional
Result *gocloak.LDAPSyncResult `json:"result,omitempty"`
// Base status
// +optional
Api ApiStatus `json:"api,omitempty"`
}
KeycloakLDAPMapperStatus defines the observed state of KeycloakLDAPMapper
func (*KeycloakLDAPMapperStatus) DeepCopy ¶
func (in *KeycloakLDAPMapperStatus) DeepCopy() *KeycloakLDAPMapperStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakLDAPMapperStatus.
func (*KeycloakLDAPMapperStatus) DeepCopyInto ¶
func (in *KeycloakLDAPMapperStatus) DeepCopyInto(out *KeycloakLDAPMapperStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KeycloakRealm ¶
type KeycloakRealm struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec KeycloakRealmSpec `json:"spec,omitempty"`
Status KeycloakRealmStatus `json:"status,omitempty"`
}
KeycloakRealm is the Schema for the keycloakrealms API +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:object:generate=true +kubebuilder:storageversion +kubebuilder:resource:shortName=kr,categories=keycloak +kubebuilder:printcolumn:name="DISPLAY NAME",type="string",JSONPath=".spec.config.displayName",description="Display name of the realm" +kubebuilder:printcolumn:name="ENABLED",type="boolean",JSONPath=".spec.config.enabled",description="Whether the realm is enabled" +kubebuilder:printcolumn:name="STATUS",type="string",JSONPath=".status.api.phase",description="The status of the realm" +kubebuilder:printcolumn:name="LAST TRANSITION",priority=1,type="date",JSONPath=".status.api.lastTransitionTime",description="The last time the resource was changed"
func (*KeycloakRealm) ApiStatus ¶
func (i *KeycloakRealm) ApiStatus() *ApiStatus
func (*KeycloakRealm) DeepCopy ¶
func (in *KeycloakRealm) DeepCopy() *KeycloakRealm
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakRealm.
func (*KeycloakRealm) DeepCopyInto ¶
func (in *KeycloakRealm) DeepCopyInto(out *KeycloakRealm)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KeycloakRealm) DeepCopyObject ¶
func (in *KeycloakRealm) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*KeycloakRealm) Default ¶
func (r *KeycloakRealm) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type
func (*KeycloakRealm) Endpoint ¶
func (i *KeycloakRealm) Endpoint() EndpointSelector
func (*KeycloakRealm) Realm ¶
func (i *KeycloakRealm) Realm() string
func (*KeycloakRealm) SetupWebhookWithManager ¶
func (r *KeycloakRealm) SetupWebhookWithManager(mgr ctrl.Manager) error
type KeycloakRealmList ¶
type KeycloakRealmList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []KeycloakRealm `json:"items"`
}
KeycloakRealmList contains a list of KeycloakRealm +kubebuilder:object:root=true
func (*KeycloakRealmList) DeepCopy ¶
func (in *KeycloakRealmList) DeepCopy() *KeycloakRealmList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakRealmList.
func (*KeycloakRealmList) DeepCopyInto ¶
func (in *KeycloakRealmList) DeepCopyInto(out *KeycloakRealmList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KeycloakRealmList) DeepCopyObject ¶
func (in *KeycloakRealmList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type KeycloakRealmRole ¶
type KeycloakRealmRole struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec KeycloakRealmRoleSpec `json:"spec,omitempty"`
Status KeycloakRealmRoleStatus `json:"status,omitempty"`
}
KeycloakRealmRole is the Schema for the keycloakrealmroles API +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:storageversion +kubebuilder:resource:shortName=krrole,categories=keycloak +kubebuilder:printcolumn:name="REALM",type="string",JSONPath=".spec.realm" +kubebuilder:printcolumn:name="ROLE",type="string",JSONPath=".spec.config.name" +kubebuilder:printcolumn:name="STATUS",type="string",JSONPath=".status.api.phase",description="The status of the resource" +kubebuilder:printcolumn:name="LAST CHANGED",priority=1,type="date",JSONPath=".status.api.lastTransitionTime",description="The last time the resource was changed" +kubebuilder:printcolumn:name="DESCRIPTION",type="string",priority=1,JSONPath=".spec.config.description",description="The description of the role"
func (*KeycloakRealmRole) ApiStatus ¶
func (i *KeycloakRealmRole) ApiStatus() *ApiStatus
func (*KeycloakRealmRole) DeepCopy ¶
func (in *KeycloakRealmRole) DeepCopy() *KeycloakRealmRole
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakRealmRole.
func (*KeycloakRealmRole) DeepCopyInto ¶
func (in *KeycloakRealmRole) DeepCopyInto(out *KeycloakRealmRole)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KeycloakRealmRole) DeepCopyObject ¶
func (in *KeycloakRealmRole) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*KeycloakRealmRole) Endpoint ¶
func (i *KeycloakRealmRole) Endpoint() EndpointSelector
func (*KeycloakRealmRole) Realm ¶
func (i *KeycloakRealmRole) Realm() string
type KeycloakRealmRoleList ¶
type KeycloakRealmRoleList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []KeycloakRealmRole `json:"items"`
}
KeycloakRealmRoleList contains a list of KeycloakRealmRole +kubebuilder:object:root=true
func (*KeycloakRealmRoleList) DeepCopy ¶
func (in *KeycloakRealmRoleList) DeepCopy() *KeycloakRealmRoleList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakRealmRoleList.
func (*KeycloakRealmRoleList) DeepCopyInto ¶
func (in *KeycloakRealmRoleList) DeepCopyInto(out *KeycloakRealmRoleList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KeycloakRealmRoleList) DeepCopyObject ¶
func (in *KeycloakRealmRoleList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type KeycloakRealmRoleSpec ¶
type KeycloakRealmRoleSpec struct {
Endpoint EndpointSelector `json:"endpoint,omitempty"`
// +kubebuilder:validation:Required
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
Realm string `json:"realm"`
Config gocloak.Role `json:"config"`
}
KeycloakRealmRoleSpec defines the desired state of KeycloakRealmRole
func (*KeycloakRealmRoleSpec) DeepCopy ¶
func (in *KeycloakRealmRoleSpec) DeepCopy() *KeycloakRealmRoleSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakRealmRoleSpec.
func (*KeycloakRealmRoleSpec) DeepCopyInto ¶
func (in *KeycloakRealmRoleSpec) DeepCopyInto(out *KeycloakRealmRoleSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KeycloakRealmRoleStatus ¶
type KeycloakRealmRoleStatus struct {
// The ID of the role managed
RoleID string `json:"roleID,omitempty"`
// Base status
// +optional
Api ApiStatus `json:"api,omitempty"`
}
KeycloakRealmRoleStatus defines the observed state of KeycloakRealmRole
func (*KeycloakRealmRoleStatus) DeepCopy ¶
func (in *KeycloakRealmRoleStatus) DeepCopy() *KeycloakRealmRoleStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakRealmRoleStatus.
func (*KeycloakRealmRoleStatus) DeepCopyInto ¶
func (in *KeycloakRealmRoleStatus) DeepCopyInto(out *KeycloakRealmRoleStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KeycloakRealmSpec ¶
type KeycloakRealmSpec struct {
Endpoint EndpointSelector `json:"endpoint,omitempty"`
// +kubebuilder:validation:Required
Config gocloak.RealmRepresentation `json:"config"`
}
KeycloakRealmSpec defines the desired state of KeycloakRealm +kubebuilder:object:generate=true +k8s:openapi-gen=true
func (*KeycloakRealmSpec) DeepCopy ¶
func (in *KeycloakRealmSpec) DeepCopy() *KeycloakRealmSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakRealmSpec.
func (*KeycloakRealmSpec) DeepCopyInto ¶
func (in *KeycloakRealmSpec) DeepCopyInto(out *KeycloakRealmSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KeycloakRealmStatus ¶
type KeycloakRealmStatus struct {
// The ID of the realm managed
// +optional
RealmID string `json:"realmId,omitempty"`
// Base status
// +optional
Api ApiStatus `json:"api,omitempty"`
}
+k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:validation:Optional
func (*KeycloakRealmStatus) DeepCopy ¶
func (in *KeycloakRealmStatus) DeepCopy() *KeycloakRealmStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakRealmStatus.
func (*KeycloakRealmStatus) DeepCopyInto ¶
func (in *KeycloakRealmStatus) DeepCopyInto(out *KeycloakRealmStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LdapFederation ¶
type LdapFederation struct {
// Enable/disable HTTP authentication of users with SPNEGO/Kerberos tokens. The data about authenticated users
// will be provisioned from this LDAP server.
// +kubebuilder:default=false
AllowKerberosAuthentication bool `json:"allowKerberosAuthentication"`
// Count of LDAP users to be imported from LDAP to Keycloak within a single transaction
// +kubebuilder:default=1000
BatchSizeForSync int `json:"batchSizeForSync"`
// Name of a kubernetes secret holding the `bind_dn` and `bind_password` necessary to connect
// +kubebuilder:default=""
BindCredentialsSecret string `json:"bindCredentialsSecret,omitempty"`
// Cache Policy for this storage provider. 'DEFAULT' is whatever the default settings are for the global cache.
// 'EVICT_DAILY' is a time of day every day that the cache will be invalidated. 'EVICT_WEEKLY' is a day of the week
// and time the cache will be invalidated. 'MAX_LIFESPAN' is the time in milliseconds that will be the lifespan of a
// cache entry.
// +kubebuilder:validation:Enum=DEFAULT;EVICT_DAILY;EVICT_WEEKLY;MAX_LIFESPAN
// +kubebuilder:default="DEFAULT"
CachePolicy string `json:"cachePolicy,omitempty"`
// Day of the week the entry will become invalid
// +kubebuilder:validation:Enum=monday;tuesday;wednesday;thursday;friday;saturday;sunday
// +kubebuilder:default="sunday"
EvictionDay string `json:"evictionDay,omitempty"`
// Hour of the day the entry will become invalid (when selecting 'EVICT_DAILY' or 'EVICT_WEEKLY' cachePolicy)
// +kubebuilder:validation:Minimum=0
// +kubebuilder:validation:Maximum=23
// +kubebuilder:default=0
EvictionHour int `json:"evictionHour,omitempty"`
// Minute of the hour the entry will become invalid (when selecting 'EVICT_DAILY' or 'EVICT_WEEKLY' cachePolicy)
// +kubebuilder:validation:Minimum=0
// +kubebuilder:validation:Maximum=59
// +kubebuilder:default=0
EvictionMinute int `json:"evictionMinute,omitempty"`
// Max lifespan of cache entry in milliseconds (when selecting 'MAX_LIFESPAN' cachePolicy)
// +kubebuilder:default=86400000
MaxLifespan int `json:"maxLifespan,omitempty"`
// Period for synchronization of changed or newly created LDAP users in seconds
ChangedSyncPeriod *metav1.Duration `json:"changedSyncPeriod,omitempty"`
// Determines if Keycloak should use connection pooling for accessing LDAP server.
// +kubebuilder:default=false
ConnectionPooling *bool `json:"connectionPooling"`
// Connection URL to your LDAP server
// +required
ConnectionUrl string `json:"connectionUrl"`
// LDAP connection timeout in milliseconds
ConnectionTimeout *metav1.Duration `json:"connectionTimeout,omitempty"`
// READ_ONLY is a read-only LDAP store. WRITABLE means data will be synced back to LDAP on demand.
// UNSYNCED means user data will be imported, but not synced back to LDAP.
// +kubebuilder:validation:Enum=READ_ONLY;WRITABLE;UNSYNCED
// +kubebuilder:default="READ_ONLY"
EditMode string `json:"editMode,omitempty"`
// Enable or disable the LDAP federation
// +kubebuilder:default=true
Enabled bool `json:"enabled"`
// Period for full synchronization in seconds
FullSyncPeriod *metav1.Duration `json:"fullSyncPeriod,omitempty"`
// If true, LDAP users will be imported into the Keycloak DB and synced by the configured sync policies.
// +kubebuilder:default=true
ImportEnabled bool `json:"importEnabled"`
// Whether the LDAP server supports pagination
// +kubebuilder:default=false
Pagination bool `json:"pagination"`
// +kubebuilder:default=0
Priority int `json:"priority"`
// Name of the LDAP attribute, which is used as RDN (top attribute) of typical user DN. Usually it's the same as the Username LDAP attribute,
// however it is not required. For example for Active directory, it is common to use 'cn' as RDN attribute when username attribute might be 'sAMAccountName'.
// +kubebuilder:default=cn
RdnLDAPAttribute string `json:"rdnLDAPAttribute,omitempty"`
// Name of the LDAP federation
// +required
Name string `json:"name"`
// Whether periodic synchronization of changed or newly created LDAP users to Keycloak should be enabled or not
// +kubebuilder:default=false
PeriodicChangedUsersSync bool `json:"periodicChangedUsersSync"`
// Whether periodic full synchronization of LDAP users to Keycloak should be enabled or not
// +kubebuilder:default=false
PeriodicFullSync bool `json:"periodicFullSync"`
// For one level, the search applies only for users in the DNs specified by User DNs. For subtree, the search applies to the whole subtree.
// See LDAP documentation for more details.
// +kubebuilder:validation:Enum="1";"2"
// +kubebuilder:default="2"
SearchScope string `json:"searchScope"`
// Encrypts the connection to LDAP using STARTTLS, which will disable connection pooling
// +kubebuilder:default=false
StartTls bool `json:"startTls"`
// +kubebuilder:default=false
SyncRegistrations bool `json:"syncRegistrations"`
// +kubebuilder:default=false
TrustEmail bool `json:"trustEmail"`
// User Kerberos login module for authenticating username/password against Kerberos server instead of authenticating against
// LDAP server with Directory Service API
// +kubebuilder:default=false
UseKerberosForPasswordAuthentication bool `json:"useKerberosForPasswordAuthentication,omitempty"`
// Use the LDAPv3 Password Modify Extended Operation (RFC-3062). The password modify extended operation usually requires that
// LDAP user already has password in the LDAP server. So when this is used with 'Sync Registrations', it can be good to add
// also 'Hardcoded LDAP attribute mapper' with randomly generated initial password.
// +kubebuilder:default=false
UsePasswordModifyExtendedOp bool `json:"usePasswordModifyExtendedOp"`
// Specifies whether LDAP connection will use the Truststore SPI with the truststore configured in standalone.xml/domain.sml.
// 'always' means that it will always use it. 'never' means that it will not use it. 'ldapsOnly' means that it will use
// it if your connection URL use ldaps. Note that even if standalone.xml/domain.xml is not configured, the default java cacerts
// or certificate specified by 'javax.net.ssl.trustStore' property will be used.
// +kubebuilder:validation:Enum=always;ldapsOnly;never
// +kubebuilder:default=ldapsOnly
UseTruststoreSpi string `json:"useTruststoreSpi"`
// All values of LDAP objectClass attribute for users in LDAP, divided by commas. For example: 'inetOrgPerson, organizationalPerson'.
// Newly created Keycloak users will be written to LDAP with all those object classes and existing LDAP user records are found just
// if they contain all those object classes.
// +kubebuilder:default={'person'}
UserObjectClasses []string `json:"userObjectClasses"`
// Name of the LDAP attribute, which is mapped as Keycloak username. For many LDAP server vendors it can be 'uid'. For Active directory
// it can be 'sAMAccountName' or 'cn'. The attribute should be filled for all LDAP user records you want to import from LDAP to Keycloak.
// +kubebuilder:default=samaccountname
UsernameLDAPAttribute string `json:"usernameLDAPAttribute,omitempty"`
// Full DN of LDAP tree where your users are. This DN is the parent of LDAP users. It could be for example 'ou=users,dc=example,dc=com'
// assuming that your typical user will have DN like 'uid='john',ou=users,dc=example,dc=com'.
// +required
UsersDn string `json:"usersDn,omitempty"`
// Name of the LDAP attribute, which is used as a unique object identifier (UUID) for objects in LDAP. For many LDAP server vendors, it is
// 'entryUUID'; however some are different. For example, for Active directory it should be 'objectGUID'. If your LDAP server does not support
// the notion of UUID, you can use any other attribute that is supposed to be unique among LDAP users in tree. For example 'uid' or 'entryDN'.
// +kubebuilder:default=objectGUID
UuidLDAPAttribute string `json:"uuidLDAPAttribute,omitempty"`
// Determines if Keycloak should validate the password with the realm password policy before updating it
// +kubebuilder:default=false
ValidatePasswordPolicy bool `json:"validatePasswordPolicy"`
// LDAP vendor (provider)
// +kubebuilder:validation:Enum=ad;rhds;other;tivoli;edirectory
// +required
Vendor string `json:"vendor,omitempty"`
}
+kubebuilder:object:generate=true
func (*LdapFederation) DeepCopy ¶
func (in *LdapFederation) DeepCopy() *LdapFederation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LdapFederation.
func (*LdapFederation) DeepCopyInto ¶
func (in *LdapFederation) DeepCopyInto(out *LdapFederation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MSADUserAccountControlMapper ¶
type MSADUserAccountControlMapper struct {
// Applicable just for writable MSAD. If on, then updating password of MSAD user will use
// LDAP_SERVER_POLICY_HINTS_OID extension, which means that advanced MSAD password policies
// like 'password history' or 'minimal password age' will be applied. This extension works just
// for MSAD 2008 R2 or newer.
// +kubebuilder:default=false
PasswordPolicyHintsEnabled bool `json:"passwordPolicyHintsEnabled"`
}
func (*MSADUserAccountControlMapper) DeepCopy ¶
func (in *MSADUserAccountControlMapper) DeepCopy() *MSADUserAccountControlMapper
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MSADUserAccountControlMapper.
func (*MSADUserAccountControlMapper) DeepCopyInto ¶
func (in *MSADUserAccountControlMapper) DeepCopyInto(out *MSADUserAccountControlMapper)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MSADUserAccountControlMapper) ToComponentConfig ¶
func (m *MSADUserAccountControlMapper) ToComponentConfig() map[string][]string
type RoleLdapMapper ¶
type RoleLdapMapper struct {
// Used just when 'User Roles Retrieve Strategy' is GET_ROLES_FROM_USER_MEMBEROF_ATTRIBUTE.
// It specifies the name of the LDAP attribute on the LDAP user, which contains the roles
// (LDAP Groups), which the user is member of. Usually it will be 'memberOf' and that's
// also the default value.
// +kubebuilder:default="memberOf"
MemberofLdapAttribute string `json:"memberofLdapAttribute,omitempty"`
// +kubebuilder:validation:Enum=DN;UID
// +kubebuilder:default="DN"
MembershipAttributeType string `json:"membershipAttributeType,omitempty"`
// +kubebuilder:default=""
MembershipLdapAttribute string `json:"membershipLdapAttribute,omitempty"`
// +kubebuilder:default=""
MembershipUserLdapAttribute string `json:"membershipUserLdapAttribute,omitempty"`
// LDAP_ONLY means that all role mappings are retrieved from LDAP and saved into LDAP. READ_ONLY
// is Read-only LDAP mode where role mappings are retrieved from both LDAP and DB and merged together.
// New role grants are not saved to LDAP but to DB. IMPORT is Read-only LDAP mode where role mappings are
// retrieved from LDAP just at the time when user is imported from LDAP and then they are saved to local keycloak DB.
// +kubebuilder:validation:Enum=READ_ONLY;IMPORT;LDAP_ONLY
// +kubebuilder:default="READ_ONLY"
Mode string `json:"mode"`
// +optional
RoleObjectClasses []string `json:"roleObjectClasses,omitempty"`
// +kubebuilder:default=""
RolesDn string `json:"rolesDn,omitempty"`
// If true, then LDAP role mappings will be mapped to realm role mappings in Keycloak. Otherwise it will be mapped to client role mappings
// +kubebuilder:default=true
UseRealmRolesMapping bool `json:"useRealmRoleMapping"`
// Specify how to retrieve groups of user. LOAD_GROUPS_BY_MEMBER_ATTRIBUTE means that roles of user
// will be retrieved by sending LDAP query to retrieve all groups where 'member' is our user.
// GET_GROUPS_FROM_USER_MEMBEROF_ATTRIBUTE means that groups of user will be retrieved from 'memberOf'
// attribute of our user. Or from the other attribute specified by 'Member-Of LDAP Attribute'.
// LOAD_GROUPS_BY_MEMBER_ATTRIBUTE_RECURSIVELY is applicable just in Active Directory and it means that
// groups of user will be retrieved recursively with usage of LDAP_MATCHING_RULE_IN_CHAIN Ldap extension.
// +kubebuilder:validation:Enum=GET_GROUPS_FROM_USER_MEMBEROF_ATTRIBUTE;LOAD_GROUPS_BY_MEMBER_ATTRIBUTE;LOAD_GROUPS_BY_MEMBER_ATTRIBUTE_RECURSIVELY
// +kubebuilder:default="LOAD_GROUPS_BY_MEMBER_ATTRIBUTE"
UserRolesRetrieveStrategy string `json:"userRolesRetrieveStrategy"`
}
+kubebuilder:object:generate=true
func (*RoleLdapMapper) DeepCopy ¶
func (in *RoleLdapMapper) DeepCopy() *RoleLdapMapper
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleLdapMapper.
func (*RoleLdapMapper) DeepCopyInto ¶
func (in *RoleLdapMapper) DeepCopyInto(out *RoleLdapMapper)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RoleLdapMapper) ToComponentConfig ¶
func (m *RoleLdapMapper) ToComponentConfig() map[string][]string
type Rule ¶
type Rule struct {
// A name to describe and document the rule.
// +optional
Name string `json:"name,omitempty"`
// The authorization action to perform. Valid values: `allow`/`reject`.
// +kubebuilder:validation:Enum=allow;reject
Action string `json:"action"`
// Resources that are allowed to be modified.
// `*` and an empty array will authorize the rule for every resource
Resources []string `json:"resources,omitempty"`
// Namespaces allowed to manage resources
// `*` and an empty array will authorize the rule for any namespace
Namespaces []string `json:"namespaces,omitempty"`
// Realms concerned by the constraint
// `*` and an empty array will authorize the rule for any realm
Realms []string `json:"realms,omitempty"`
}
A constraint. Can be match a resource being reconciled. +kubebuilder:object:generate=true
func (*Rule) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Rule.
func (*Rule) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecretGenerator ¶
type SecretGenerator struct {
// Name of the secret to generate
Name string `json:"name"`
// Enable secret generation. Only useful when using the `client-secret`
// client auth method.
// +kubebuilder:default=true
Enabled bool `json:"enabled"`
}
+kubebuilder:object:generate=true
func (*SecretGenerator) DeepCopy ¶
func (in *SecretGenerator) DeepCopy() *SecretGenerator
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretGenerator.
func (*SecretGenerator) DeepCopyInto ¶
func (in *SecretGenerator) DeepCopyInto(out *SecretGenerator)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Subject ¶
type Subject struct {
// The type of the subject. Either `user` or `group`.
// +kubebuilder:validation:Enum=user;group
Kind string `json:"kind"`
// The name of the user or group
Name string `json:"name"`
}
Represent a user or group in keycloak +kubebuilder:object:generate=true
func (*Subject) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Subject.
func (*Subject) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UserAttributeLdapMapper ¶
type UserAttributeLdapMapper struct {
// If on, then during reading of the LDAP attribute value will always used instead of the
// value from Keycloak DB
// +kubebuilder:default=false
AlwaysReadValueFromLdap bool `json:"alwaysReadValueFromLdap"`
// If there is no value in Keycloak DB and attribute is mandatory in LDAP, this value will
// be propagated to LDAP
// +kubebuilder:default=""
AttributeDefaultValue string `json:"attributeDefaultValue"`
// Should be true for binary LDAP attributes
// +kubebuilder:default=false
IsBinaryAttribute bool `json:"isBinaryAttribute"`
// If true, attribute is mandatory in LDAP. Hence if there is no value in Keycloak DB,
// the default or empty value will be set to be propagated to LDAP
// +kubebuilder:default=false
IsMandatoryInLdap bool `json:"isMandatoryInLdap"`
// Name of mapped attribute on LDAP object. For example 'cn', 'sn, 'mail', 'street' etc.
// +kubebuilder:default=""
LdapAttribute string `json:"ldapAttribute"`
// +kubebuilder:default=true
// Read-only attribute is imported from LDAP to UserModel, but it's not saved back to LDAP when
// user is updated in Keycloak.
ReadOnly bool `json:"readOnly"`
// Name of the UserModel property or attribute you want to map the LDAP attribute into.
// For example 'firstName', 'lastName, 'email', 'street' etc.
// +kubebuilder:default=""
UserModelAttribute string `json:"userModelAttribute"`
}
+kubebuilder:object:generate=true
func (*UserAttributeLdapMapper) DeepCopy ¶
func (in *UserAttributeLdapMapper) DeepCopy() *UserAttributeLdapMapper
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserAttributeLdapMapper.
func (*UserAttributeLdapMapper) DeepCopyInto ¶
func (in *UserAttributeLdapMapper) DeepCopyInto(out *UserAttributeLdapMapper)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*UserAttributeLdapMapper) ToComponentConfig ¶
func (m *UserAttributeLdapMapper) ToComponentConfig() map[string][]string
type UserRepresentation ¶
type UserRepresentation struct {
// User ID.
// +optional
ID string `json:"id,omitempty"`
// User Name.
// +optional
UserName string `json:"username,omitempty"`
}
func (*UserRepresentation) DeepCopy ¶
func (in *UserRepresentation) DeepCopy() *UserRepresentation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserRepresentation.
func (*UserRepresentation) DeepCopyInto ¶
func (in *UserRepresentation) DeepCopyInto(out *UserRepresentation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
Source Files
¶
- base.go
- component_types.go
- endpoint_selector.go
- groupversion_info.go
- keycloakclient_types.go
- keycloakclient_webhook.go
- keycloakclientprotocolmapper_types.go
- keycloakclientrole_types.go
- keycloakclientrole_webhook.go
- keycloakclientrolemapping_types.go
- keycloakclientscope_types.go
- keycloakclientscopeprotocolmapper_types.go
- keycloakclusterendpoint_types.go
- keycloakendpoint_types.go
- keycloakldapfederation_types.go
- keycloakldapfederation_webhook.go
- keycloakldapmapper_types.go
- keycloakrealm_types.go
- keycloakrealm_webhook.go
- keycloakrealmrole_types.go
- rules.go
- subject.go
- utils.go
- zz_generated.deepcopy.go