Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the keycloak v1alpha1 API group +kubebuilder:object:generate=true +groupName=keycloak.org
Index ¶
- Variables
- func DeleteFromStatusSecondaryResources(secondaryResources map[string][]string, kind string, resourceName string)
- func UpdateStatusSecondaryResources(secondaryResources map[string][]string, kind string, resourceName string) map[string][]string
- type ClientMappingsRepresentation
- type FederatedIdentity
- type Keycloak
- type KeycloakAPIClient
- type KeycloakAPIRealm
- type KeycloakAPIUser
- type KeycloakClient
- func (in *KeycloakClient) DeepCopy() *KeycloakClient
- func (in *KeycloakClient) DeepCopyInto(out *KeycloakClient)
- func (in *KeycloakClient) DeepCopyObject() runtime.Object
- func (i *KeycloakClient) DeleteFromStatusSecondaryResources(kind string, resourceName string)
- func (i *KeycloakClient) UpdateStatusSecondaryResources(kind string, resourceName string)
- type KeycloakClientList
- type KeycloakClientScope
- type KeycloakClientSpec
- type KeycloakClientStatus
- type KeycloakCredential
- type KeycloakExternal
- type KeycloakList
- type KeycloakPolicy
- type KeycloakProtocolMapper
- type KeycloakRealm
- type KeycloakRealmList
- type KeycloakRealmSpec
- type KeycloakRealmStatus
- type KeycloakResource
- type KeycloakResourceServer
- type KeycloakScope
- type KeycloakSpec
- type KeycloakStatus
- type KeycloakUserRole
- type MappingsRepresentation
- type RoleRepresentation
- type RoleRepresentationArray
- type RoleRepresentationComposites
- type RolesRepresentation
- type ScopeMappingRepresentation
- type ScopeMappingRepresentationArray
- type StatusPhase
- type TokenResponse
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "keycloak.org", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
Types ¶
type ClientMappingsRepresentation ¶
type ClientMappingsRepresentation struct {
// Client
// +optional
Client string `json:"client,omitempty"`
// ID
// +optional
ID string `json:"id,omitempty"`
// Mappings
// +optional
Mappings []RoleRepresentation `json:"mappings,omitempty"`
}
https://www.keycloak.org/docs-api/11.0/rest-api/index.html#_clientmappingsrepresentation
func (*ClientMappingsRepresentation) DeepCopy ¶
func (in *ClientMappingsRepresentation) DeepCopy() *ClientMappingsRepresentation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientMappingsRepresentation.
func (*ClientMappingsRepresentation) DeepCopyInto ¶
func (in *ClientMappingsRepresentation) DeepCopyInto(out *ClientMappingsRepresentation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FederatedIdentity ¶
type FederatedIdentity struct {
// Federated Identity Provider.
IdentityProvider string `json:"identityProvider,omitempty"`
// Federated Identity User ID.
UserID string `json:"userId,omitempty"`
// Federated Identity User Name.
UserName string `json:"userName,omitempty"`
}
func (*FederatedIdentity) DeepCopy ¶
func (in *FederatedIdentity) DeepCopy() *FederatedIdentity
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FederatedIdentity.
func (*FederatedIdentity) DeepCopyInto ¶
func (in *FederatedIdentity) DeepCopyInto(out *FederatedIdentity)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Keycloak ¶
type Keycloak struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec KeycloakSpec `json:"spec,omitempty"`
Status KeycloakStatus `json:"status,omitempty"`
}
Keycloak is the Schema for the keycloaks API. +genclient +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:object:root=true
func (*Keycloak) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Keycloak.
func (*Keycloak) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Keycloak) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Keycloak) UpdateStatusSecondaryResources ¶
type KeycloakAPIClient ¶
type KeycloakAPIClient struct {
// Client ID. If not specified, automatically generated.
// +optional
ID string `json:"id,omitempty"`
// Client ID.
// +kubebuilder:validation:Required
ClientID string `json:"clientId"`
// Client name.
// +optional
Name string `json:"name,omitempty"`
// Surrogate Authentication Required option.
// +optional
SurrogateAuthRequired bool `json:"surrogateAuthRequired,omitempty"`
// Client enabled flag.
// +optional
Enabled bool `json:"enabled,omitempty"`
// What Client authentication type to use.
// +optional
ClientAuthenticatorType string `json:"clientAuthenticatorType,omitempty"`
// Client Secret. The Operator will automatically create a Secret based on this value.
// +optional
Secret string `json:"secret,omitempty"`
// Application base URL.
// +optional
BaseURL string `json:"baseUrl,omitempty"`
// Application Admin URL.
// +optional
AdminURL string `json:"adminUrl,omitempty"`
// Application root URL.
// +optional
RootURL string `json:"rootUrl,omitempty"`
// Client description.
// +optional
Description string `json:"description,omitempty"`
// Default Client roles.
// +optional
DefaultRoles []string `json:"defaultRoles,omitempty"`
// A list of valid Redirection URLs.
// +optional
RedirectUris []string `json:"redirectUris,omitempty"`
// A list of valid Web Origins.
// +optional
WebOrigins []string `json:"webOrigins,omitempty"`
// Not Before setting.
// +optional
NotBefore int `json:"notBefore,omitempty"`
// True if a client supports only Bearer Tokens.
// +optional
BearerOnly bool `json:"bearerOnly,omitempty"`
// True if Consent Screen is required.
// +optional
ConsentRequired bool `json:"consentRequired,omitempty"`
// True if Standard flow is enabled.
// +optional
StandardFlowEnabled bool `json:"standardFlowEnabled"`
// True if Implicit flow is enabled.
// +optional
ImplicitFlowEnabled bool `json:"implicitFlowEnabled"`
// True if Direct Grant is enabled.
// +optional
DirectAccessGrantsEnabled bool `json:"directAccessGrantsEnabled"`
// True if Service Accounts are enabled.
// +optional
ServiceAccountsEnabled bool `json:"serviceAccountsEnabled,omitempty"`
// True if this is a public Client.
// +optional
PublicClient bool `json:"publicClient"`
// True if this client supports Front Channel logout.
// +optional
FrontchannelLogout bool `json:"frontchannelLogout,omitempty"`
// Protocol used for this Client.
// +optional
Protocol string `json:"protocol,omitempty"`
// Client Attributes.
// +optional
Attributes map[string]string `json:"attributes,omitempty"`
// True if Full Scope is allowed.
// +optional
FullScopeAllowed *bool `json:"fullScopeAllowed,omitempty"`
// Node registration timeout.
// +optional
NodeReRegistrationTimeout int `json:"nodeReRegistrationTimeout,omitempty"`
// Protocol Mappers.
// +optional
ProtocolMappers []KeycloakProtocolMapper `json:"protocolMappers,omitempty"`
// True to use a Template Config.
// +optional
UseTemplateConfig bool `json:"useTemplateConfig,omitempty"`
// True to use Template Scope.
// +optional
UseTemplateScope bool `json:"useTemplateScope,omitempty"`
// True to use Template Mappers.
// +optional
UseTemplateMappers bool `json:"useTemplateMappers,omitempty"`
// Access options.
// +optional
Access map[string]bool `json:"access,omitempty"`
// A list of optional client scopes. Optional client scopes are
// applied when issuing tokens for this client, but only when they
// are requested by the scope parameter in the OpenID Connect
// authorization request.
// +optional
OptionalClientScopes []string `json:"optionalClientScopes,omitempty"`
// A list of default client scopes. Default client scopes are
// always applied when issuing OpenID Connect tokens or SAML
// assertions for this client.
// +optional
DefaultClientScopes []string `json:"defaultClientScopes,omitempty"`
// True if fine-grained authorization support is enabled for this client.
// +optional
AuthorizationServicesEnabled bool `json:"authorizationServicesEnabled,omitempty"`
// Authorization settings for this resource server.
// +optional
AuthorizationSettings *KeycloakResourceServer `json:"authorizationSettings,omitempty"`
// Authentication Flow Binding Overrides.
// +optional
AuthenticationFlowBindingOverrides map[string]string `json:"authenticationFlowBindingOverrides,omitempty"`
}
func (*KeycloakAPIClient) DeepCopy ¶
func (in *KeycloakAPIClient) DeepCopy() *KeycloakAPIClient
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakAPIClient.
func (*KeycloakAPIClient) DeepCopyInto ¶
func (in *KeycloakAPIClient) DeepCopyInto(out *KeycloakAPIClient)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KeycloakAPIRealm ¶
type KeycloakAPIRealm struct {
// +kubebuilder:validation:Required
// +optional
ID string `json:"id,omitempty"`
// Realm name.
// +kubebuilder:validation:Required
Realm string `json:"realm"`
// Realm enabled flag.
// +optional
Enabled bool `json:"enabled"`
// Client scopes
// +optional
ClientScopes []KeycloakClientScope `json:"clientScopes,omitempty"`
// Default role
// +optional
DefaultRole *RoleRepresentation `json:"defaultRole,omitempty"`
}
func (*KeycloakAPIRealm) DeepCopy ¶
func (in *KeycloakAPIRealm) DeepCopy() *KeycloakAPIRealm
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakAPIRealm.
func (*KeycloakAPIRealm) DeepCopyInto ¶
func (in *KeycloakAPIRealm) DeepCopyInto(out *KeycloakAPIRealm)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KeycloakAPIUser ¶
type KeycloakAPIUser struct {
// User ID.
ID string `json:"id,omitempty"`
// User Name.
UserName string `json:"username,omitempty"`
// First Name.
FirstName string `json:"firstName,omitempty"`
// Last Name.
LastName string `json:"lastName,omitempty"`
// Email.
Email string `json:"email,omitempty"`
// True if email has already been verified.
EmailVerified bool `json:"emailVerified,omitempty"`
// User enabled flag.
Enabled bool `json:"enabled,omitempty"`
// A set of Realm Roles.
RealmRoles []string `json:"realmRoles,omitempty"`
// A set of Client Roles.
ClientRoles map[string][]string `json:"clientRoles,omitempty"`
// A set of Required Actions.
RequiredActions []string `json:"requiredActions,omitempty"`
// A set of Groups.
Groups []string `json:"groups,omitempty"`
// A set of Federated Identities.
FederatedIdentities []FederatedIdentity `json:"federatedIdentities,omitempty"`
// A set of Credentials.
Credentials []KeycloakCredential `json:"credentials,omitempty"`
// A set of Attributes.
Attributes map[string][]string `json:"attributes,omitempty"`
}
func (*KeycloakAPIUser) DeepCopy ¶
func (in *KeycloakAPIUser) DeepCopy() *KeycloakAPIUser
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakAPIUser.
func (*KeycloakAPIUser) DeepCopyInto ¶
func (in *KeycloakAPIUser) DeepCopyInto(out *KeycloakAPIUser)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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. +genclient +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:object:root=true
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) DeleteFromStatusSecondaryResources ¶
func (i *KeycloakClient) DeleteFromStatusSecondaryResources(kind string, resourceName string)
func (*KeycloakClient) UpdateStatusSecondaryResources ¶
func (i *KeycloakClient) UpdateStatusSecondaryResources(kind string, resourceName string)
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 KeycloakClientScope ¶
type KeycloakClientScope struct {
// +optional
Attributes map[string]string `json:"attributes,omitempty"`
// +optional
Description string `json:"description,omitempty"`
// +optional
ID string `json:"id,omitempty"`
// +optional
Name string `json:"name,omitempty"`
// +optional
Protocol string `json:"protocol,omitempty"`
// Protocol Mappers.
// +optional
ProtocolMappers []KeycloakProtocolMapper `json:"protocolMappers,omitempty"`
}
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.
type KeycloakClientSpec ¶
type KeycloakClientSpec struct {
// Selector for looking up KeycloakRealm Custom Resources.
// +kubebuilder:validation:Required
RealmSelector *metav1.LabelSelector `json:"realmSelector"`
// Keycloak Client REST object.
// +kubebuilder:validation:Required
Client *KeycloakAPIClient `json:"client"`
// Client Roles
// +optional
// +listType=map
// +listMapKey=name
Roles []RoleRepresentation `json:"roles,omitempty"`
// Scope Mappings
// +optional
ScopeMappings *MappingsRepresentation `json:"scopeMappings,omitempty"`
// Service account realm roles for this client.
// +optional
ServiceAccountRealmRoles []string `json:"serviceAccountRealmRoles,omitempty"`
// Service account client roles for this client.
// +optional
ServiceAccountClientRoles map[string][]string `json:"serviceAccountClientRoles,omitempty"`
}
KeycloakClientSpec defines the desired state of KeycloakClient. +k8s:openapi-gen=true
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 {
// Current phase of the operator.
Phase StatusPhase `json:"phase"`
// Human-readable message indicating details about current operator phase or error.
Message string `json:"message"`
// True if all resources are in a ready state and all work is done.
Ready bool `json:"ready"`
// A map of all the secondary resources types and names created for this CR. e.g "Deployment": [ "DeploymentName1", "DeploymentName2" ]
SecondaryResources map[string][]string `json:"secondaryResources,omitempty"`
}
KeycloakClientStatus defines the observed state of KeycloakClient +k8s:openapi-gen=true
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 KeycloakCredential ¶
type KeycloakCredential struct {
// Credential Type.
Type string `json:"type,omitempty"`
// Credential Value.
Value string `json:"value,omitempty"`
// True if this credential object is temporary.
Temporary bool `json:"temporary,omitempty"`
}
func (*KeycloakCredential) DeepCopy ¶
func (in *KeycloakCredential) DeepCopy() *KeycloakCredential
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakCredential.
func (*KeycloakCredential) DeepCopyInto ¶
func (in *KeycloakCredential) DeepCopyInto(out *KeycloakCredential)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KeycloakExternal ¶
type KeycloakExternal struct {
// If set to true, this Keycloak will be treated as an external instance.
// The unmanaged field also needs to be set to true if this field is true.
Enabled bool `json:"enabled,omitempty"`
// The URL to use for the keycloak admin API. Needs to be set if external is true.
// +optional
URL string `json:"url,omitempty"`
}
func (*KeycloakExternal) DeepCopy ¶
func (in *KeycloakExternal) DeepCopy() *KeycloakExternal
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakExternal.
func (*KeycloakExternal) DeepCopyInto ¶
func (in *KeycloakExternal) DeepCopyInto(out *KeycloakExternal)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KeycloakList ¶
type KeycloakList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Keycloak `json:"items"`
}
KeycloakList contains a list of Keycloak. +kubebuilder:object:root=true
func (*KeycloakList) DeepCopy ¶
func (in *KeycloakList) DeepCopy() *KeycloakList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakList.
func (*KeycloakList) DeepCopyInto ¶
func (in *KeycloakList) DeepCopyInto(out *KeycloakList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KeycloakList) DeepCopyObject ¶
func (in *KeycloakList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type KeycloakPolicy ¶
type KeycloakPolicy struct {
// Config.
// +optional
Config map[string]string `json:"config,omitempty"`
// The decision strategy dictates how the policies associated with a given permission are evaluated and how
// a final decision is obtained. 'Affirmative' means that at least one policy must evaluate to a positive
// decision in order for the final decision to be also positive. 'Unanimous' means that all policies must
// evaluate to a positive decision in order for the final decision to be also positive. 'Consensus' means
// that the number of positive decisions must be greater than the number of negative decisions. If the number
// of positive and negative is the same, the final decision will be negative.
// +optional
DecisionStrategy string `json:"decisionStrategy,omitempty"`
// A description for this policy.
// +optional
Description string `json:"description,omitempty"`
// ID.
// +optional
ID string `json:"id,omitempty"`
// The logic dictates how the policy decision should be made. If 'Positive', the resulting effect
// (permit or deny) obtained during the evaluation of this policy will be used to perform a decision.
// If 'Negative', the resulting effect will be negated, in other words, a permit becomes a deny and vice-versa.
// +optional
Logic string `json:"logic,omitempty"`
// The name of this policy.
// +optional
Name string `json:"name,omitempty"`
// Owner.
// +optional
Owner string `json:"owner,omitempty"`
// Policies.
// +optional
Policies []string `json:"policies,omitempty"`
// Resources.
// +optional
Resources []string `json:"resources,omitempty"`
// Resources Data.
// +optional
ResourcesData []KeycloakResource `json:"resourcesData,omitempty"`
// Scopes.
// +optional
Scopes []string `json:"scopes,omitempty"`
// Type.
// +optional
Type string `json:"type,omitempty"`
// Scopes Data.
// +optional
ScopesData []apiextensionsv1.JSON `json:"scopesData,omitempty"`
}
https://www.keycloak.org/docs-api/12.0/rest-api/index.html#_policyrepresentation
func (*KeycloakPolicy) DeepCopy ¶
func (in *KeycloakPolicy) DeepCopy() *KeycloakPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakPolicy.
func (*KeycloakPolicy) DeepCopyInto ¶
func (in *KeycloakPolicy) DeepCopyInto(out *KeycloakPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KeycloakProtocolMapper ¶
type KeycloakProtocolMapper struct {
// Protocol Mapper ID.
// +optional
ID string `json:"id,omitempty"`
// Protocol Mapper Name.
// +optional
Name string `json:"name,omitempty"`
// Protocol to use.
// +optional
Protocol string `json:"protocol,omitempty"`
// Protocol Mapper to use
// +optional
ProtocolMapper string `json:"protocolMapper,omitempty"`
// True if Consent Screen is required.
// +optional
ConsentRequired bool `json:"consentRequired,omitempty"`
// Text to use for displaying Consent Screen.
// +optional
ConsentText string `json:"consentText,omitempty"`
// Config options.
// +optional
Config map[string]string `json:"config,omitempty"`
}
func (*KeycloakProtocolMapper) DeepCopy ¶
func (in *KeycloakProtocolMapper) DeepCopy() *KeycloakProtocolMapper
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakProtocolMapper.
func (*KeycloakProtocolMapper) DeepCopyInto ¶
func (in *KeycloakProtocolMapper) DeepCopyInto(out *KeycloakProtocolMapper)
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 +genclient +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:object:root=true
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) UpdateStatusSecondaryResources ¶
func (i *KeycloakRealm) UpdateStatusSecondaryResources(kind string, resourceName string)
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 KeycloakRealmSpec ¶
type KeycloakRealmSpec struct {
// When set to true, this KeycloakRealm will be marked as unmanaged and not be managed by this operator.
// It can then be used for targeting purposes.
// +optional
Unmanaged bool `json:"unmanaged,omitempty"`
// Selector for looking up Keycloak Custom Resources.
// +kubebuilder:validation:Required
InstanceSelector *metav1.LabelSelector `json:"instanceSelector,omitempty"`
// Keycloak Realm REST object.
// +kubebuilder:validation:Required
Realm *KeycloakAPIRealm `json:"realm"`
}
KeycloakRealmSpec defines the desired state of KeycloakRealm. +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 {
// Current phase of the operator.
Phase StatusPhase `json:"phase"`
// Human-readable message indicating details about current operator phase or error.
Message string `json:"message"`
// True if all resources are in a ready state and all work is done.
Ready bool `json:"ready"`
// A map of all the secondary resources types and names created for this CR. e.g "Deployment": [ "DeploymentName1", "DeploymentName2" ]
SecondaryResources map[string][]string `json:"secondaryResources,omitempty"`
// TODO
LoginURL string `json:"loginURL"`
}
KeycloakRealmStatus defines the observed state of KeycloakRealm +k8s:openapi-gen=true
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 KeycloakResource ¶
type KeycloakResource struct {
// ID.
// +optional
ID string `json:"_id,omitempty"`
// The attributes associated with the resource.
// +optional
Attributes map[string]string `json:"attributes,omitempty"`
// A unique name for this resource. The name can be used to uniquely identify a resource, useful when
// querying for a specific resource.
// +optional
DisplayName string `json:"displayName,omitempty"`
// An URI pointing to an icon.
// +optional
IconURI string `json:"icon_uri,omitempty"`
// A unique name for this resource. The name can be used to uniquely identify a resource, useful when
// querying for a specific resource.
// +optional
Name string `json:"name,omitempty"`
// True if the access to this resource can be managed by the resource owner.
// +optional
OwnerManagedAccess bool `json:"ownerManagedAccess,omitempty"`
// The type of this resource. It can be used to group different resource instances with the same type.
// +optional
Type string `json:"type,omitempty"`
// Set of URIs which are protected by resource.
// +optional
Uris []string `json:"uris,omitempty"`
// The scopes associated with this resource.
// +optional
Scopes []apiextensionsv1.JSON `json:"scopes,omitempty"`
}
https://www.keycloak.org/docs-api/12.0/rest-api/index.html#_resourcerepresentation
func (*KeycloakResource) DeepCopy ¶
func (in *KeycloakResource) DeepCopy() *KeycloakResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakResource.
func (*KeycloakResource) DeepCopyInto ¶
func (in *KeycloakResource) DeepCopyInto(out *KeycloakResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KeycloakResourceServer ¶
type KeycloakResourceServer struct {
// True if resources should be managed remotely by the resource server.
// +optional
AllowRemoteResourceManagement bool `json:"allowRemoteResourceManagement,omitempty"`
// Client ID.
// +optional
ClientID string `json:"clientId,omitempty"`
// The decision strategy dictates how permissions are evaluated and how a
// final decision is obtained. 'Affirmative' means that at least one
// permission must evaluate to a positive decision in order to grant access
// to a resource and its scopes. 'Unanimous' means that all permissions must
// evaluate to a positive decision in order for the final decision to be also positive.
// +optional
DecisionStrategy string `json:"decisionStrategy,omitempty"`
// ID.
// +optional
ID string `json:"id,omitempty"`
// Name.
// +optional
Name string `json:"name,omitempty"`
// Policies.
// +optional
Policies []KeycloakPolicy `json:"policies,omitempty"`
// The policy enforcement mode dictates how policies are enforced when evaluating authorization requests.
// 'Enforcing' means requests are denied by default even when there is no policy associated with a given resource.
// 'Permissive' means requests are allowed even when there is no policy associated with a given resource.
// 'Disabled' completely disables the evaluation of policies and allows access to any resource.
// +optional
PolicyEnforcementMode string `json:"policyEnforcementMode,omitempty"`
// Resources.
// +optional
Resources []KeycloakResource `json:"resources,omitempty"`
// Authorization Scopes.
// +optional
Scopes []KeycloakScope `json:"scopes,omitempty"`
}
https://www.keycloak.org/docs-api/12.0/rest-api/index.html#_resourceserverrepresentation
func (*KeycloakResourceServer) DeepCopy ¶
func (in *KeycloakResourceServer) DeepCopy() *KeycloakResourceServer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakResourceServer.
func (*KeycloakResourceServer) DeepCopyInto ¶
func (in *KeycloakResourceServer) DeepCopyInto(out *KeycloakResourceServer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KeycloakScope ¶
type KeycloakScope struct {
// A unique name for this scope. The name can be used to uniquely identify a scope, useful when querying
// for a specific scope.
// +optional
DisplayName string `json:"displayName,omitempty"`
// An URI pointing to an icon.
// +optional
IconURI string `json:"iconUri,omitempty"`
// ID.
// +optional
ID string `json:"id,omitempty"`
// A unique name for this scope. The name can be used to uniquely identify a scope, useful when querying
// for a specific scope.
// +optional
Name string `json:"name,omitempty"`
// Policies.
// +optional
Policies []KeycloakPolicy `json:"policies,omitempty"`
// Resources.
// +optional
Resources []KeycloakResource `json:"resources,omitempty"`
}
https://www.keycloak.org/docs-api/12.0/rest-api/index.html#_scoperepresentation
func (*KeycloakScope) DeepCopy ¶
func (in *KeycloakScope) DeepCopy() *KeycloakScope
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakScope.
func (*KeycloakScope) DeepCopyInto ¶
func (in *KeycloakScope) DeepCopyInto(out *KeycloakScope)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KeycloakSpec ¶
type KeycloakSpec struct {
// When set to true, this Keycloak will be marked as unmanaged and will not be managed by this operator.
// It can then be used for targeting purposes.
// +optional
// +kubebuilder:default:=true
Unmanaged bool `json:"unmanaged,omitempty"`
// Contains configuration for external Keycloak instances. Unmanaged needs to be set to true to use this.
// +optional
External KeycloakExternal `json:"external"`
}
KeycloakSpec defines the desired state of Keycloak. +k8s:openapi-gen=true
func (*KeycloakSpec) DeepCopy ¶
func (in *KeycloakSpec) DeepCopy() *KeycloakSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakSpec.
func (*KeycloakSpec) DeepCopyInto ¶
func (in *KeycloakSpec) DeepCopyInto(out *KeycloakSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KeycloakStatus ¶
type KeycloakStatus struct {
// Current phase of the operator.
Phase StatusPhase `json:"phase"`
// Human-readable message indicating details about current operator phase or error.
Message string `json:"message"`
// True if all resources are in a ready state and all work is done.
Ready bool `json:"ready"`
// A map of all the secondary resources types and names created for this CR. e.g "Deployment": [ "DeploymentName1", "DeploymentName2" ].
SecondaryResources map[string][]string `json:"secondaryResources,omitempty"`
// Version of Keycloak or RHSSO running on the cluster.
Version string `json:"version"`
// External URL for accessing Keycloak instance from outside the cluster. Is identical to external.URL if it's specified, otherwise is computed (e.g. from Ingress).
ExternalURL string `json:"externalURL,omitempty"`
// The secret where the admin credentials are to be found.
CredentialSecret string `json:"credentialSecret"`
}
KeycloakStatus defines the observed state of Keycloak. +k8s:openapi-gen=true
func (*KeycloakStatus) DeepCopy ¶
func (in *KeycloakStatus) DeepCopy() *KeycloakStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakStatus.
func (*KeycloakStatus) DeepCopyInto ¶
func (in *KeycloakStatus) DeepCopyInto(out *KeycloakStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KeycloakUserRole ¶
type KeycloakUserRole struct {
ID string `json:"id,omitempty"`
Name string `json:"name,omitempty"`
Description string `json:"description,omitempty"`
Composite bool `json:"composite,omitempty"`
ClientRole bool `json:"clientRole,omitempty"`
ContainerID string `json:"containerId,omitempty"`
}
func (*KeycloakUserRole) DeepCopy ¶
func (in *KeycloakUserRole) DeepCopy() *KeycloakUserRole
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakUserRole.
func (*KeycloakUserRole) DeepCopyInto ¶
func (in *KeycloakUserRole) DeepCopyInto(out *KeycloakUserRole)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MappingsRepresentation ¶
type MappingsRepresentation struct {
// Client Mappings
// +optional
ClientMappings map[string]ClientMappingsRepresentation `json:"clientMappings,omitempty"`
// Realm Mappings
// +optional
RealmMappings []RoleRepresentation `json:"realmMappings,omitempty"`
}
https://www.keycloak.org/docs-api/11.0/rest-api/index.html#_mappingsrepresentation
func (*MappingsRepresentation) DeepCopy ¶
func (in *MappingsRepresentation) DeepCopy() *MappingsRepresentation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MappingsRepresentation.
func (*MappingsRepresentation) DeepCopyInto ¶
func (in *MappingsRepresentation) DeepCopyInto(out *MappingsRepresentation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RoleRepresentation ¶
type RoleRepresentation struct {
// Role Attributes
// +optional
Attributes map[string][]string `json:"attributes,omitempty"`
// Client Role
// +optional
ClientRole *bool `json:"clientRole,omitempty"`
// Composite
// +optional
Composite *bool `json:"composite,omitempty"`
// Composites
// +optional
Composites *RoleRepresentationComposites `json:"composites,omitempty"`
// Container Id
// +optional
ContainerID string `json:"containerId,omitempty"`
// Description
// +optional
Description string `json:"description,omitempty"`
// Id
// +optional
ID string `json:"id,omitempty"`
// Name
Name string `json:"name"`
}
https://www.keycloak.org/docs-api/11.0/rest-api/index.html#_rolerepresentation
func (*RoleRepresentation) DeepCopy ¶
func (in *RoleRepresentation) DeepCopy() *RoleRepresentation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleRepresentation.
func (*RoleRepresentation) DeepCopyInto ¶
func (in *RoleRepresentation) DeepCopyInto(out *RoleRepresentation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RoleRepresentationArray ¶
type RoleRepresentationArray []RoleRepresentation
func (RoleRepresentationArray) DeepCopy ¶
func (in RoleRepresentationArray) DeepCopy() RoleRepresentationArray
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleRepresentationArray.
func (RoleRepresentationArray) DeepCopyInto ¶
func (in RoleRepresentationArray) DeepCopyInto(out *RoleRepresentationArray)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RoleRepresentationComposites ¶
type RoleRepresentationComposites struct {
// Map client => []role
// +optional
Client map[string][]string `json:"client,omitempty"`
// Realm roles
// +optional
Realm []string `json:"realm,omitempty"`
}
https://www.keycloak.org/docs-api/11.0/rest-api/index.html#_rolerepresentation-composites
func (*RoleRepresentationComposites) DeepCopy ¶
func (in *RoleRepresentationComposites) DeepCopy() *RoleRepresentationComposites
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleRepresentationComposites.
func (*RoleRepresentationComposites) DeepCopyInto ¶
func (in *RoleRepresentationComposites) DeepCopyInto(out *RoleRepresentationComposites)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RolesRepresentation ¶
type RolesRepresentation struct {
// Client Roles
// +optional
Client map[string]RoleRepresentationArray `json:"client,omitempty"`
// Realm Roles
// +optional
Realm []RoleRepresentation `json:"realm,omitempty"`
}
https://www.keycloak.org/docs-api/11.0/rest-api/index.html#_rolesrepresentation
func (*RolesRepresentation) DeepCopy ¶
func (in *RolesRepresentation) DeepCopy() *RolesRepresentation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RolesRepresentation.
func (*RolesRepresentation) DeepCopyInto ¶
func (in *RolesRepresentation) DeepCopyInto(out *RolesRepresentation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ScopeMappingRepresentation ¶
type ScopeMappingRepresentation struct {
// Client
// +optional
Client string `json:"client,omitempty"`
// Client Scope
// +optional
ClientScope string `json:"clientScope,omitempty"`
// Roles
// +optional
Roles []string `json:"roles,omitempty"`
// Self
// +optional
Self string `json:"self,omitempty"`
}
https://www.keycloak.org/docs-api/11.0/rest-api/index.html#_scopemappingrepresentation
func (*ScopeMappingRepresentation) DeepCopy ¶
func (in *ScopeMappingRepresentation) DeepCopy() *ScopeMappingRepresentation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScopeMappingRepresentation.
func (*ScopeMappingRepresentation) DeepCopyInto ¶
func (in *ScopeMappingRepresentation) DeepCopyInto(out *ScopeMappingRepresentation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ScopeMappingRepresentationArray ¶
type ScopeMappingRepresentationArray []ScopeMappingRepresentation
func (ScopeMappingRepresentationArray) DeepCopy ¶
func (in ScopeMappingRepresentationArray) DeepCopy() ScopeMappingRepresentationArray
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScopeMappingRepresentationArray.
func (ScopeMappingRepresentationArray) DeepCopyInto ¶
func (in ScopeMappingRepresentationArray) DeepCopyInto(out *ScopeMappingRepresentationArray)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StatusPhase ¶
type StatusPhase string
var ( NoPhase StatusPhase PhaseReconciling StatusPhase = "reconciling" PhaseFailing StatusPhase = "failing" PhaseInitialising StatusPhase = "initialising" )
type TokenResponse ¶
type TokenResponse struct {
// Token Response Access Token.
// +optional
AccessToken string `json:"access_token"`
// Token Response Expired In setting.
// +optional
ExpiresIn int `json:"expires_in"`
// Token Response Refresh Expires In setting.
// +optional
RefreshExpiresIn int `json:"refresh_expires_in"`
// Token Response Refresh Token.
// +optional
RefreshToken string `json:"refresh_token"`
// Token Response Token Type.
// +optional
TokenType string `json:"token_type"`
// Token Response Not Before Policy setting.
// +optional
NotBeforePolicy int `json:"not-before-policy"`
// Token Response Session State.
// +optional
SessionState string `json:"session_state"`
// Token Response Error.
// +optional
Error string `json:"error"`
// Token Response Error Description.
// +optional
ErrorDescription string `json:"error_description"`
}
func (*TokenResponse) DeepCopy ¶
func (in *TokenResponse) DeepCopy() *TokenResponse
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TokenResponse.
func (*TokenResponse) DeepCopyInto ¶
func (in *TokenResponse) DeepCopyInto(out *TokenResponse)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.