v1beta1

package
v0.7.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 29, 2026 License: MIT Imports: 4 Imported by: 0

Documentation

Overview

Package v1beta1 contains API Schema definitions for the keycloak v1beta1 API group +kubebuilder:object:generate=true +groupName=keycloak.hostzero.com

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "keycloak.hostzero.com", Version: "v1beta1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type ClientAuthSpec

type ClientAuthSpec struct {
	// ID is the client ID for service account authentication
	// +kubebuilder:validation:Required
	ID string `json:"id"`

	// Secret is the client secret (optional for public clients)
	// +optional
	Secret *string `json:"secret,omitempty"`
}

ClientAuthSpec defines client authentication for service accounts

func (*ClientAuthSpec) DeepCopy

func (in *ClientAuthSpec) DeepCopy() *ClientAuthSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientAuthSpec.

func (*ClientAuthSpec) DeepCopyInto

func (in *ClientAuthSpec) DeepCopyInto(out *ClientAuthSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ClientDefinition

type ClientDefinition struct {
	// ClientId is the unique client identifier
	// +kubebuilder:validation:Required
	ClientId string `json:"clientId"`

	// Name is the display name of the client
	// +optional
	Name string `json:"name,omitempty"`

	// Description of the client
	// +optional
	Description string `json:"description,omitempty"`

	// Enabled indicates whether the client is enabled
	// +optional
	Enabled *bool `json:"enabled,omitempty"`

	// Protocol is the client protocol (openid-connect or saml)
	// +optional
	// +kubebuilder:validation:Enum=openid-connect;saml
	Protocol string `json:"protocol,omitempty"`

	// PublicClient indicates if this is a public client
	// +optional
	PublicClient *bool `json:"publicClient,omitempty"`

	// StandardFlowEnabled enables Authorization Code Flow
	// +optional
	StandardFlowEnabled *bool `json:"standardFlowEnabled,omitempty"`

	// ImplicitFlowEnabled enables Implicit Flow
	// +optional
	ImplicitFlowEnabled *bool `json:"implicitFlowEnabled,omitempty"`

	// DirectAccessGrantsEnabled enables Direct Access Grants
	// +optional
	DirectAccessGrantsEnabled *bool `json:"directAccessGrantsEnabled,omitempty"`

	// ServiceAccountsEnabled enables service account
	// +optional
	ServiceAccountsEnabled *bool `json:"serviceAccountsEnabled,omitempty"`

	// BearerOnly indicates bearer-only client
	// +optional
	BearerOnly *bool `json:"bearerOnly,omitempty"`

	// ConsentRequired requires user consent
	// +optional
	ConsentRequired *bool `json:"consentRequired,omitempty"`

	// RootUrl is the root URL of the application
	// +optional
	RootUrl string `json:"rootUrl,omitempty"`

	// BaseUrl is the default URL for the client
	// +optional
	BaseUrl string `json:"baseUrl,omitempty"`

	// AdminUrl is the URL to the admin interface
	// +optional
	AdminUrl string `json:"adminUrl,omitempty"`

	// RedirectUris is a list of valid redirect URIs
	// +optional
	RedirectUris []string `json:"redirectUris,omitempty"`

	// WebOrigins is a list of allowed CORS origins
	// +optional
	WebOrigins []string `json:"webOrigins,omitempty"`

	// Secret is the client secret (for confidential clients)
	// +optional
	Secret string `json:"secret,omitempty"`

	// DefaultClientScopes assigned by default
	// +optional
	DefaultClientScopes []string `json:"defaultClientScopes,omitempty"`

	// OptionalClientScopes available optionally
	// +optional
	OptionalClientScopes []string `json:"optionalClientScopes,omitempty"`

	// Attributes for additional client configuration
	// +optional
	Attributes map[string]string `json:"attributes,omitempty"`

	// AuthorizationServicesEnabled enables fine-grained authorization
	// +optional
	AuthorizationServicesEnabled *bool `json:"authorizationServicesEnabled,omitempty"`

	// FullScopeAllowed allows full scope
	// +optional
	FullScopeAllowed *bool `json:"fullScopeAllowed,omitempty"`

	// FrontchannelLogout enables front-channel logout
	// +optional
	FrontchannelLogout *bool `json:"frontchannelLogout,omitempty"`

	// ClientAuthenticatorType specifies the authenticator type
	// +optional
	// +kubebuilder:validation:Enum=client-secret;client-jwt;client-secret-jwt;client-x509
	ClientAuthenticatorType string `json:"clientAuthenticatorType,omitempty"`
}

ClientDefinition represents the Keycloak ClientRepresentation This is a subset - use runtime.RawExtension for full flexibility

func (*ClientDefinition) DeepCopy

func (in *ClientDefinition) DeepCopy() *ClientDefinition

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientDefinition.

func (*ClientDefinition) DeepCopyInto

func (in *ClientDefinition) DeepCopyInto(out *ClientDefinition)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ClientSecretRefSpec added in v0.4.0

type ClientSecretRefSpec struct {
	// Name of the Kubernetes Secret
	// +kubebuilder:validation:Required
	Name string `json:"name"`

	// ClientIdKey is the key for the client ID in the secret.
	// Defaults to "client-id".
	// +optional
	ClientIdKey *string `json:"clientIdKey,omitempty"`

	// ClientSecretKey is the key for the client secret value in the secret.
	// Defaults to "client-secret".
	// +optional
	ClientSecretKey *string `json:"clientSecretKey,omitempty"`

	// Create determines behavior when the secret doesn't exist.
	// If true (default): auto-generate a secret and create the Secret.
	// If false: error if the secret doesn't exist (strict mode for GitOps).
	// +optional
	// +kubebuilder:default=true
	Create *bool `json:"create,omitempty"`
}

ClientSecretRefSpec references a Kubernetes Secret for the client credentials. If the secret exists, its value is used. If it doesn't exist and Create is true, the operator auto-generates a secret and creates it.

func (*ClientSecretRefSpec) DeepCopy added in v0.4.0

func (in *ClientSecretRefSpec) DeepCopy() *ClientSecretRefSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientSecretRefSpec.

func (*ClientSecretRefSpec) DeepCopyInto added in v0.4.0

func (in *ClientSecretRefSpec) DeepCopyInto(out *ClientSecretRefSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ClusterCredentialsSpec

type ClusterCredentialsSpec struct {
	// SecretRef contains the reference to the secret with credentials
	// +kubebuilder:validation:Required
	SecretRef ClusterSecretRefSpec `json:"secretRef"`
}

ClusterCredentialsSpec defines admin credentials for cluster-scoped instances

func (*ClusterCredentialsSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterCredentialsSpec.

func (*ClusterCredentialsSpec) DeepCopyInto

func (in *ClusterCredentialsSpec) DeepCopyInto(out *ClusterCredentialsSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ClusterKeycloakInstance

type ClusterKeycloakInstance struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ClusterKeycloakInstanceSpec   `json:"spec,omitempty"`
	Status ClusterKeycloakInstanceStatus `json:"status,omitempty"`
}

ClusterKeycloakInstance makes a Keycloak server known to the operator at the cluster level

func (*ClusterKeycloakInstance) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterKeycloakInstance.

func (*ClusterKeycloakInstance) DeepCopyInto

func (in *ClusterKeycloakInstance) DeepCopyInto(out *ClusterKeycloakInstance)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ClusterKeycloakInstance) DeepCopyObject

func (in *ClusterKeycloakInstance) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ClusterKeycloakInstanceList

type ClusterKeycloakInstanceList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ClusterKeycloakInstance `json:"items"`
}

ClusterKeycloakInstanceList contains a list of ClusterKeycloakInstance

func (*ClusterKeycloakInstanceList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterKeycloakInstanceList.

func (*ClusterKeycloakInstanceList) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ClusterKeycloakInstanceList) DeepCopyObject

func (in *ClusterKeycloakInstanceList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ClusterKeycloakInstanceSpec

type ClusterKeycloakInstanceSpec struct {
	// BaseUrl is the URL of the Keycloak server (e.g., http://keycloak:8080)
	// +kubebuilder:validation:Required
	BaseUrl string `json:"baseUrl"`

	// Credentials contains the reference to the admin credentials secret
	// +kubebuilder:validation:Required
	Credentials ClusterCredentialsSpec `json:"credentials"`

	// Realm is the admin realm (defaults to "master")
	// +optional
	Realm *string `json:"realm,omitempty"`

	// Client contains optional service account client configuration
	// +optional
	Client *ClientAuthSpec `json:"client,omitempty"`

	// Token contains optional token caching configuration
	// +optional
	Token *TokenSpec `json:"token,omitempty"`
}

ClusterKeycloakInstanceSpec defines the desired state of ClusterKeycloakInstance It mirrors KeycloakInstanceSpec but is cluster-scoped

func (*ClusterKeycloakInstanceSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterKeycloakInstanceSpec.

func (*ClusterKeycloakInstanceSpec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ClusterKeycloakInstanceStatus

type ClusterKeycloakInstanceStatus struct {
	// Ready indicates if the Keycloak instance is accessible
	Ready bool `json:"ready"`

	// Version is the Keycloak server version
	// +optional
	Version string `json:"version,omitempty"`

	// Status is a human-readable status message
	// +optional
	Status string `json:"status,omitempty"`

	// Message contains additional information about the status
	// +optional
	Message string `json:"message,omitempty"`

	// ResourcePath is the API path for this resource
	// +optional
	ResourcePath string `json:"resourcePath,omitempty"`

	// Conditions represent the latest available observations
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

ClusterKeycloakInstanceStatus defines the observed state of ClusterKeycloakInstance

func (*ClusterKeycloakInstanceStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterKeycloakInstanceStatus.

func (*ClusterKeycloakInstanceStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ClusterKeycloakRealm

type ClusterKeycloakRealm struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ClusterKeycloakRealmSpec   `json:"spec,omitempty"`
	Status ClusterKeycloakRealmStatus `json:"status,omitempty"`
}

ClusterKeycloakRealm defines a realm within a KeycloakInstance at the cluster level

func (*ClusterKeycloakRealm) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterKeycloakRealm.

func (*ClusterKeycloakRealm) DeepCopyInto

func (in *ClusterKeycloakRealm) DeepCopyInto(out *ClusterKeycloakRealm)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ClusterKeycloakRealm) DeepCopyObject

func (in *ClusterKeycloakRealm) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*ClusterKeycloakRealm) GetRealmName

func (r *ClusterKeycloakRealm) GetRealmName() string

GetRealmName returns the realm name to use in Keycloak

func (*ClusterKeycloakRealm) UsesClusterInstance

func (r *ClusterKeycloakRealm) UsesClusterInstance() bool

UsesClusterInstance returns true if this realm references a ClusterKeycloakInstance

type ClusterKeycloakRealmList

type ClusterKeycloakRealmList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ClusterKeycloakRealm `json:"items"`
}

ClusterKeycloakRealmList contains a list of ClusterKeycloakRealm

func (*ClusterKeycloakRealmList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterKeycloakRealmList.

func (*ClusterKeycloakRealmList) DeepCopyInto

func (in *ClusterKeycloakRealmList) DeepCopyInto(out *ClusterKeycloakRealmList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ClusterKeycloakRealmList) DeepCopyObject

func (in *ClusterKeycloakRealmList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ClusterKeycloakRealmSpec

type ClusterKeycloakRealmSpec struct {
	// InstanceRef is a reference to a namespaced KeycloakInstance
	// One of instanceRef or clusterInstanceRef must be specified
	// +optional
	InstanceRef *NamespacedRef `json:"instanceRef,omitempty"`

	// ClusterInstanceRef is a reference to a ClusterKeycloakInstance
	// One of instanceRef or clusterInstanceRef must be specified
	// +optional
	ClusterInstanceRef *ClusterResourceRef `json:"clusterInstanceRef,omitempty"`

	// RealmName is the name of the realm in Keycloak (defaults to metadata.name)
	// +optional
	RealmName *string `json:"realmName,omitempty"`

	// SmtpSecretRef is a reference to a Kubernetes Secret containing SMTP credentials.
	// When set, the secret values are injected into definition.smtpServer.user and
	// definition.smtpServer.password before syncing to Keycloak.
	// +optional
	SmtpSecretRef *ClusterSmtpSecretRefSpec `json:"smtpSecretRef,omitempty"`

	// Definition contains the Keycloak RealmRepresentation
	// +kubebuilder:validation:Required
	// +kubebuilder:pruning:PreserveUnknownFields
	Definition runtime.RawExtension `json:"definition"`
}

ClusterKeycloakRealmSpec defines the desired state of ClusterKeycloakRealm

func (*ClusterKeycloakRealmSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterKeycloakRealmSpec.

func (*ClusterKeycloakRealmSpec) DeepCopyInto

func (in *ClusterKeycloakRealmSpec) DeepCopyInto(out *ClusterKeycloakRealmSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ClusterKeycloakRealmStatus

type ClusterKeycloakRealmStatus struct {
	// Ready indicates if the realm is ready
	Ready bool `json:"ready"`

	// Status is a human-readable status message
	// +optional
	Status string `json:"status,omitempty"`

	// Message contains additional information
	// +optional
	Message string `json:"message,omitempty"`

	// ResourcePath is the Keycloak API path for this realm
	// +optional
	ResourcePath string `json:"resourcePath,omitempty"`

	// RealmName is the actual realm name in Keycloak
	// +optional
	RealmName string `json:"realmName,omitempty"`

	// Instance contains the resolved instance reference
	// +optional
	Instance *InstanceRef `json:"instance,omitempty"`

	// Conditions represent the latest available observations
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

ClusterKeycloakRealmStatus defines the observed state of ClusterKeycloakRealm

func (*ClusterKeycloakRealmStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterKeycloakRealmStatus.

func (*ClusterKeycloakRealmStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ClusterResourceRef

type ClusterResourceRef struct {
	// Name of the cluster-scoped resource
	// +kubebuilder:validation:Required
	Name string `json:"name"`
}

ClusterResourceRef is a reference to a cluster-scoped resource

func (*ClusterResourceRef) DeepCopy

func (in *ClusterResourceRef) DeepCopy() *ClusterResourceRef

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterResourceRef.

func (*ClusterResourceRef) DeepCopyInto

func (in *ClusterResourceRef) DeepCopyInto(out *ClusterResourceRef)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ClusterSecretRefSpec

type ClusterSecretRefSpec struct {
	// Name is the name of the secret
	// +kubebuilder:validation:Required
	Name string `json:"name"`

	// Namespace is the namespace of the secret (required for cluster-scoped resources)
	// +kubebuilder:validation:Required
	Namespace string `json:"namespace"`

	// UsernameKey is the key in the secret for the username (defaults to "username")
	// +kubebuilder:default="username"
	// +optional
	UsernameKey string `json:"usernameKey,omitempty"`

	// PasswordKey is the key in the secret for the password (defaults to "password")
	// +kubebuilder:default="password"
	// +optional
	PasswordKey string `json:"passwordKey,omitempty"`
}

ClusterSecretRefSpec defines a reference to a secret for cluster-scoped resources

func (*ClusterSecretRefSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterSecretRefSpec.

func (*ClusterSecretRefSpec) DeepCopyInto

func (in *ClusterSecretRefSpec) DeepCopyInto(out *ClusterSecretRefSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ClusterSmtpSecretRefSpec added in v0.5.0

type ClusterSmtpSecretRefSpec struct {
	// Name of the Kubernetes Secret
	// +kubebuilder:validation:Required
	Name string `json:"name"`

	// Namespace of the Kubernetes Secret (required for cluster-scoped resources)
	// +kubebuilder:validation:Required
	Namespace string `json:"namespace"`

	// UserKey is the key in the secret for the SMTP username (defaults to "user")
	// +kubebuilder:default="user"
	// +optional
	UserKey string `json:"userKey,omitempty"`

	// PasswordKey is the key in the secret for the SMTP password (defaults to "password")
	// +kubebuilder:default="password"
	// +optional
	PasswordKey string `json:"passwordKey,omitempty"`
}

ClusterSmtpSecretRefSpec references a Kubernetes Secret containing SMTP credentials for cluster-scoped resources where the namespace must be explicit.

func (*ClusterSmtpSecretRefSpec) DeepCopy added in v0.5.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterSmtpSecretRefSpec.

func (*ClusterSmtpSecretRefSpec) DeepCopyInto added in v0.5.0

func (in *ClusterSmtpSecretRefSpec) DeepCopyInto(out *ClusterSmtpSecretRefSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ComponentDefinition

type ComponentDefinition struct {
	// Name is the component name (required)
	// +kubebuilder:validation:Required
	Name string `json:"name"`

	// ProviderID is the provider ID (required)
	// +kubebuilder:validation:Required
	ProviderID string `json:"providerId"`

	// ProviderType is the provider type (required)
	// Examples: org.keycloak.storage.UserStorageProvider, org.keycloak.keys.KeyProvider
	// +kubebuilder:validation:Required
	ProviderType string `json:"providerType"`

	// ParentID is the parent component ID (usually the realm ID)
	// +optional
	ParentId string `json:"parentId,omitempty"`

	// SubType is an optional subtype
	// +optional
	SubType string `json:"subType,omitempty"`

	// Config contains component configuration
	// +optional
	Config map[string][]string `json:"config,omitempty"`
}

ComponentDefinition represents the Keycloak ComponentRepresentation This is a subset - use runtime.RawExtension for full flexibility

func (*ComponentDefinition) DeepCopy

func (in *ComponentDefinition) DeepCopy() *ComponentDefinition

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentDefinition.

func (*ComponentDefinition) DeepCopyInto

func (in *ComponentDefinition) DeepCopyInto(out *ComponentDefinition)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CredentialRepresentation

type CredentialRepresentation struct {
	// Type of credential (e.g., "password")
	// +kubebuilder:validation:Required
	Type string `json:"type"`

	// Value of the credential
	// +optional
	Value string `json:"value,omitempty"`

	// Temporary indicates if the credential is temporary
	// +optional
	Temporary *bool `json:"temporary,omitempty"`
}

CredentialRepresentation represents user credentials

func (*CredentialRepresentation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CredentialRepresentation.

func (*CredentialRepresentation) DeepCopyInto

func (in *CredentialRepresentation) DeepCopyInto(out *CredentialRepresentation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CredentialSecretSpec

type CredentialSecretSpec struct {
	// SecretName is the name of the Kubernetes secret
	// +kubebuilder:validation:Required
	SecretName string `json:"secretName"`

	// Create indicates whether to create the secret if it doesn't exist
	// +optional
	Create bool `json:"create,omitempty"`

	// UsernameKey is the key for the username in the secret
	// +kubebuilder:default="username"
	// +optional
	UsernameKey string `json:"usernameKey,omitempty"`

	// PasswordKey is the key for the password in the secret
	// +kubebuilder:default="password"
	// +optional
	PasswordKey string `json:"passwordKey,omitempty"`

	// EmailKey is the key for the email in the secret
	// +optional
	EmailKey string `json:"emailKey,omitempty"`

	// PasswordPolicy configures password generation
	// +optional
	PasswordPolicy *PasswordPolicySpec `json:"passwordPolicy,omitempty"`
}

CredentialSecretSpec defines the secret containing user credentials

func (*CredentialSecretSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CredentialSecretSpec.

func (*CredentialSecretSpec) DeepCopyInto

func (in *CredentialSecretSpec) DeepCopyInto(out *CredentialSecretSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CredentialsSpec

type CredentialsSpec struct {
	// SecretRef contains the reference to the secret with credentials
	// +kubebuilder:validation:Required
	SecretRef SecretRefSpec `json:"secretRef"`
}

CredentialsSpec defines admin credentials configuration

func (*CredentialsSpec) DeepCopy

func (in *CredentialsSpec) DeepCopy() *CredentialsSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CredentialsSpec.

func (*CredentialsSpec) DeepCopyInto

func (in *CredentialsSpec) DeepCopyInto(out *CredentialsSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IDPConfigSecretRef added in v0.6.0

type IDPConfigSecretRef struct {
	// Name of the Kubernetes Secret
	// +kubebuilder:validation:Required
	Name string `json:"name"`
}

IDPConfigSecretRef references a Kubernetes Secret containing identity provider configuration values to be merged into definition.config.

func (*IDPConfigSecretRef) DeepCopy added in v0.6.0

func (in *IDPConfigSecretRef) DeepCopy() *IDPConfigSecretRef

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IDPConfigSecretRef.

func (*IDPConfigSecretRef) DeepCopyInto added in v0.6.0

func (in *IDPConfigSecretRef) DeepCopyInto(out *IDPConfigSecretRef)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InitialPassword

type InitialPassword struct {
	// Value is the password value
	Value string `json:"value"`

	// Temporary indicates if the user must change password on first login
	// +optional
	Temporary bool `json:"temporary,omitempty"`
}

InitialPassword defines the initial password for a user

func (*InitialPassword) DeepCopy

func (in *InitialPassword) DeepCopy() *InitialPassword

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InitialPassword.

func (*InitialPassword) DeepCopyInto

func (in *InitialPassword) DeepCopyInto(out *InitialPassword)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceRef

type InstanceRef struct {
	// InstanceRef is the name of the namespaced instance
	// +optional
	InstanceRef string `json:"instanceRef,omitempty"`

	// ClusterInstanceRef is the name of the cluster instance
	// +optional
	ClusterInstanceRef string `json:"clusterInstanceRef,omitempty"`
}

InstanceRef contains the resolved instance reference

func (*InstanceRef) DeepCopy

func (in *InstanceRef) DeepCopy() *InstanceRef

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceRef.

func (*InstanceRef) DeepCopyInto

func (in *InstanceRef) DeepCopyInto(out *InstanceRef)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KeycloakAuthenticationFlow added in v0.7.0

type KeycloakAuthenticationFlow struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   KeycloakAuthenticationFlowSpec   `json:"spec,omitempty"`
	Status KeycloakAuthenticationFlowStatus `json:"status,omitempty"`
}

KeycloakAuthenticationFlow manages a Keycloak authentication flow.

func (*KeycloakAuthenticationFlow) DeepCopy added in v0.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakAuthenticationFlow.

func (*KeycloakAuthenticationFlow) DeepCopyInto added in v0.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*KeycloakAuthenticationFlow) DeepCopyObject added in v0.7.0

func (in *KeycloakAuthenticationFlow) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*KeycloakAuthenticationFlow) GetClusterRealmRef added in v0.7.0

func (f *KeycloakAuthenticationFlow) GetClusterRealmRef() *ClusterResourceRef

GetClusterRealmRef returns the cluster realm reference (nil if using realmRef)

func (*KeycloakAuthenticationFlow) GetRealmRef added in v0.7.0

func (f *KeycloakAuthenticationFlow) GetRealmRef() *ResourceRef

GetRealmRef returns the realm reference (nil if using clusterRealmRef)

func (*KeycloakAuthenticationFlow) UsesClusterRealm added in v0.7.0

func (f *KeycloakAuthenticationFlow) UsesClusterRealm() bool

UsesClusterRealm returns true if this flow references a ClusterKeycloakRealm

type KeycloakAuthenticationFlowList added in v0.7.0

type KeycloakAuthenticationFlowList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []KeycloakAuthenticationFlow `json:"items"`
}

KeycloakAuthenticationFlowList contains a list of KeycloakAuthenticationFlow

func (*KeycloakAuthenticationFlowList) DeepCopy added in v0.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakAuthenticationFlowList.

func (*KeycloakAuthenticationFlowList) DeepCopyInto added in v0.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*KeycloakAuthenticationFlowList) DeepCopyObject added in v0.7.0

func (in *KeycloakAuthenticationFlowList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type KeycloakAuthenticationFlowSpec added in v0.7.0

type KeycloakAuthenticationFlowSpec struct {
	// RealmRef is a reference to a KeycloakRealm.
	// One of realmRef or clusterRealmRef must be specified.
	// +optional
	RealmRef *ResourceRef `json:"realmRef,omitempty"`

	// ClusterRealmRef is a reference to a ClusterKeycloakRealm.
	// One of realmRef or clusterRealmRef must be specified.
	// +optional
	ClusterRealmRef *ClusterResourceRef `json:"clusterRealmRef,omitempty"`

	// Alias is the unique identifier for this flow within the realm.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	Alias string `json:"alias"`

	// Description is a human-readable description of the flow.
	// +optional
	Description string `json:"description,omitempty"`

	// ProviderId is the top-level flow type. Keycloak ships with "basic-flow"
	// and "client-flow"; sub-flows may additionally use "form-flow".
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	ProviderId string `json:"providerId"`

	// Executions is the ordered list of executions for this flow as a JSON
	// array. Each entry is either a leaf authenticator or a nested sub-flow.
	//
	// Leaf authenticator (object fields):
	//
	//   authenticator:        Keycloak provider ID, e.g. "auth-cookie".
	//   requirement:          REQUIRED | ALTERNATIVE | DISABLED | CONDITIONAL.
	//   authenticatorConfig:  optional map[string]string applied to the
	//                         execution after creation.
	//
	// Sub-flow (object fields):
	//
	//   subFlow:              { alias, providerId, description? } — the
	//                         child flow definition. providerId is typically
	//                         "basic-flow" or "form-flow"; "form-flow" is
	//                         required when the children are FormAction
	//                         providers (e.g. registration-user-creation).
	//   requirement:          REQUIRED | ALTERNATIVE | DISABLED | CONDITIONAL.
	//   executions:           ordered list of child executions, recursively
	//                         using the same shape. As a convenience, child
	//                         executions may also be placed inside
	//                         subFlow.executions; if both are present, the
	//                         inline list precedes the sibling list.
	//
	// Nesting depth is unconstrained.
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Schemaless
	// +optional
	Executions runtime.RawExtension `json:"executions,omitempty"`
}

KeycloakAuthenticationFlowSpec defines the desired state of KeycloakAuthenticationFlow

func (*KeycloakAuthenticationFlowSpec) DeepCopy added in v0.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakAuthenticationFlowSpec.

func (*KeycloakAuthenticationFlowSpec) DeepCopyInto added in v0.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KeycloakAuthenticationFlowStatus added in v0.7.0

type KeycloakAuthenticationFlowStatus struct {
	// Ready indicates if the flow is synchronized with Keycloak.
	Ready bool `json:"ready"`

	// Status is a human-readable status message.
	// +optional
	Status string `json:"status,omitempty"`

	// Message contains additional information.
	// +optional
	Message string `json:"message,omitempty"`

	// FlowID is the Keycloak internal ID of the top-level flow.
	// +optional
	FlowID string `json:"flowID,omitempty"`

	// ResourcePath is the Keycloak API path for this flow.
	// +optional
	ResourcePath string `json:"resourcePath,omitempty"`

	// Instance contains the resolved instance reference.
	// +optional
	Instance *InstanceRef `json:"instance,omitempty"`

	// Realm contains the resolved realm reference.
	// +optional
	Realm *RealmRef `json:"realm,omitempty"`

	// ObservedGeneration is the generation of the spec that was last processed.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Conditions represent the latest available observations.
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KeycloakAuthenticationFlowStatus defines the observed state of KeycloakAuthenticationFlow

func (*KeycloakAuthenticationFlowStatus) DeepCopy added in v0.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakAuthenticationFlowStatus.

func (*KeycloakAuthenticationFlowStatus) DeepCopyInto added in v0.7.0

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 defines a client within a KeycloakRealm

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) GetClusterRealmRef

func (c *KeycloakClient) GetClusterRealmRef() *ClusterResourceRef

GetClusterRealmRef returns the cluster realm reference (nil if using realmRef)

func (*KeycloakClient) GetRealmRef

func (c *KeycloakClient) GetRealmRef() *ResourceRef

GetRealmRef returns the realm reference (nil if using clusterRealmRef)

func (*KeycloakClient) UsesClusterRealm

func (c *KeycloakClient) UsesClusterRealm() bool

UsesClusterRealm returns true if this client references a ClusterKeycloakRealm

type KeycloakClientList

type KeycloakClientList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []KeycloakClient `json:"items"`
}

KeycloakClientList contains a list of KeycloakClient

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 {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   KeycloakClientScopeSpec   `json:"spec,omitempty"`
	Status KeycloakClientScopeStatus `json:"status,omitempty"`
}

KeycloakClientScope defines a client scope within a KeycloakRealm

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.

type KeycloakClientScopeList

type KeycloakClientScopeList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []KeycloakClientScope `json:"items"`
}

KeycloakClientScopeList contains a list of KeycloakClientScope

func (*KeycloakClientScopeList) DeepCopy

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 KeycloakClientScopeSpec

type KeycloakClientScopeSpec struct {
	// RealmRef is a reference to a KeycloakRealm
	// One of realmRef or clusterRealmRef must be specified
	// +optional
	RealmRef *ResourceRef `json:"realmRef,omitempty"`

	// ClusterRealmRef is a reference to a ClusterKeycloakRealm
	// One of realmRef or clusterRealmRef must be specified
	// +optional
	ClusterRealmRef *ClusterResourceRef `json:"clusterRealmRef,omitempty"`

	// Definition contains the Keycloak ClientScopeRepresentation
	// +kubebuilder:validation:Required
	// +kubebuilder:pruning:PreserveUnknownFields
	Definition runtime.RawExtension `json:"definition"`
}

KeycloakClientScopeSpec defines the desired state of KeycloakClientScope

func (*KeycloakClientScopeSpec) DeepCopy

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 {
	// Ready indicates if the client scope is ready
	Ready bool `json:"ready"`

	// Status is a human-readable status message
	// +optional
	Status string `json:"status,omitempty"`

	// Message contains additional information
	// +optional
	Message string `json:"message,omitempty"`

	// ResourcePath is the Keycloak API path for this client scope
	// +optional
	ResourcePath string `json:"resourcePath,omitempty"`

	// Instance contains the resolved instance reference
	// +optional
	Instance *InstanceRef `json:"instance,omitempty"`

	// Realm contains the resolved realm reference
	// +optional
	Realm *RealmRef `json:"realm,omitempty"`

	// Conditions represent the latest available observations
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KeycloakClientScopeStatus defines the observed state of KeycloakClientScope

func (*KeycloakClientScopeStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakClientScopeStatus.

func (*KeycloakClientScopeStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KeycloakClientSpec

type KeycloakClientSpec struct {
	// RealmRef is a reference to a KeycloakRealm
	// One of realmRef or clusterRealmRef must be specified
	// +optional
	RealmRef *ResourceRef `json:"realmRef,omitempty"`

	// ClusterRealmRef is a reference to a ClusterKeycloakRealm
	// One of realmRef or clusterRealmRef must be specified
	// +optional
	ClusterRealmRef *ClusterResourceRef `json:"clusterRealmRef,omitempty"`

	// ClientId is the client ID in Keycloak (defaults to metadata.name)
	// +optional
	ClientId *string `json:"clientId,omitempty"`

	// Definition contains the Keycloak ClientRepresentation
	// +kubebuilder:pruning:PreserveUnknownFields
	// +optional
	Definition *runtime.RawExtension `json:"definition,omitempty"`

	// ClientSecretRef configures the Kubernetes Secret for client credentials.
	// If the secret exists, its value is used. If it doesn't exist and Create is true,
	// the operator auto-generates a secret and creates it.
	// +optional
	ClientSecretRef *ClientSecretRefSpec `json:"clientSecretRef,omitempty"`
}

KeycloakClientSpec defines the desired state of KeycloakClient

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 {
	// Ready indicates if the client is ready
	Ready bool `json:"ready"`

	// Status is a human-readable status message
	// +optional
	Status string `json:"status,omitempty"`

	// Message contains additional information
	// +optional
	Message string `json:"message,omitempty"`

	// ResourcePath is the Keycloak API path for this client
	// +optional
	ResourcePath string `json:"resourcePath,omitempty"`

	// ClientUUID is the Keycloak internal ID
	// +optional
	ClientUUID string `json:"clientUUID,omitempty"`

	// Instance contains the resolved instance reference
	// +optional
	Instance *InstanceRef `json:"instance,omitempty"`

	// Realm contains the resolved realm reference
	// +optional
	Realm *RealmRef `json:"realm,omitempty"`

	// ObservedGeneration is the generation of the spec that was last processed
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Conditions represent the latest available observations
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KeycloakClientStatus defines the observed state of KeycloakClient

func (*KeycloakClientStatus) DeepCopy

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 KeycloakComponent

type KeycloakComponent struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   KeycloakComponentSpec   `json:"spec,omitempty"`
	Status KeycloakComponentStatus `json:"status,omitempty"`
}

KeycloakComponent defines a component within a KeycloakRealm

func (*KeycloakComponent) DeepCopy

func (in *KeycloakComponent) DeepCopy() *KeycloakComponent

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakComponent.

func (*KeycloakComponent) DeepCopyInto

func (in *KeycloakComponent) DeepCopyInto(out *KeycloakComponent)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*KeycloakComponent) DeepCopyObject

func (in *KeycloakComponent) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*KeycloakComponent) GetClusterRealmRef

func (c *KeycloakComponent) GetClusterRealmRef() *ClusterResourceRef

GetClusterRealmRef returns the cluster realm reference (nil if using realmRef)

func (*KeycloakComponent) GetRealmRef

func (c *KeycloakComponent) GetRealmRef() *ResourceRef

GetRealmRef returns the realm reference (nil if using clusterRealmRef)

func (*KeycloakComponent) UsesClusterRealm

func (c *KeycloakComponent) UsesClusterRealm() bool

UsesClusterRealm returns true if this component references a ClusterKeycloakRealm

type KeycloakComponentList

type KeycloakComponentList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []KeycloakComponent `json:"items"`
}

KeycloakComponentList contains a list of KeycloakComponent

func (*KeycloakComponentList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakComponentList.

func (*KeycloakComponentList) DeepCopyInto

func (in *KeycloakComponentList) DeepCopyInto(out *KeycloakComponentList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*KeycloakComponentList) DeepCopyObject

func (in *KeycloakComponentList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type KeycloakComponentSpec

type KeycloakComponentSpec struct {
	// RealmRef is a reference to a KeycloakRealm
	// One of realmRef or clusterRealmRef must be specified
	// +optional
	RealmRef *ResourceRef `json:"realmRef,omitempty"`

	// ClusterRealmRef is a reference to a ClusterKeycloakRealm
	// One of realmRef or clusterRealmRef must be specified
	// +optional
	ClusterRealmRef *ClusterResourceRef `json:"clusterRealmRef,omitempty"`

	// Definition contains the Keycloak ComponentRepresentation
	// +kubebuilder:validation:Required
	// +kubebuilder:pruning:PreserveUnknownFields
	Definition runtime.RawExtension `json:"definition"`
}

KeycloakComponentSpec defines the desired state of KeycloakComponent

func (*KeycloakComponentSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakComponentSpec.

func (*KeycloakComponentSpec) DeepCopyInto

func (in *KeycloakComponentSpec) DeepCopyInto(out *KeycloakComponentSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KeycloakComponentStatus

type KeycloakComponentStatus struct {
	// Ready indicates if the component is ready
	Ready bool `json:"ready"`

	// Status is a human-readable status message
	// +optional
	Status string `json:"status,omitempty"`

	// Message contains additional information
	// +optional
	Message string `json:"message,omitempty"`

	// ResourcePath is the Keycloak API path for this component
	// +optional
	ResourcePath string `json:"resourcePath,omitempty"`

	// ComponentID is the Keycloak internal component ID
	// +optional
	ComponentID string `json:"componentID,omitempty"`

	// ComponentName is the component name in Keycloak
	// +optional
	ComponentName string `json:"componentName,omitempty"`

	// ProviderType is the component provider type
	// +optional
	ProviderType string `json:"providerType,omitempty"`

	// Instance contains the resolved instance reference
	// +optional
	Instance *InstanceRef `json:"instance,omitempty"`

	// Realm contains the resolved realm reference
	// +optional
	Realm *RealmRef `json:"realm,omitempty"`

	// ObservedGeneration is the generation of the spec that was last processed
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Conditions represent the latest available observations
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KeycloakComponentStatus defines the observed state of KeycloakComponent

func (*KeycloakComponentStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakComponentStatus.

func (*KeycloakComponentStatus) DeepCopyInto

func (in *KeycloakComponentStatus) DeepCopyInto(out *KeycloakComponentStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KeycloakGroup

type KeycloakGroup struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   KeycloakGroupSpec   `json:"spec,omitempty"`
	Status KeycloakGroupStatus `json:"status,omitempty"`
}

KeycloakGroup defines a group within a KeycloakRealm

func (*KeycloakGroup) DeepCopy

func (in *KeycloakGroup) DeepCopy() *KeycloakGroup

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakGroup.

func (*KeycloakGroup) DeepCopyInto

func (in *KeycloakGroup) DeepCopyInto(out *KeycloakGroup)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*KeycloakGroup) DeepCopyObject

func (in *KeycloakGroup) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type KeycloakGroupList

type KeycloakGroupList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []KeycloakGroup `json:"items"`
}

KeycloakGroupList contains a list of KeycloakGroup

func (*KeycloakGroupList) DeepCopy

func (in *KeycloakGroupList) DeepCopy() *KeycloakGroupList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakGroupList.

func (*KeycloakGroupList) DeepCopyInto

func (in *KeycloakGroupList) DeepCopyInto(out *KeycloakGroupList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*KeycloakGroupList) DeepCopyObject

func (in *KeycloakGroupList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type KeycloakGroupSpec

type KeycloakGroupSpec struct {
	// RealmRef is a reference to a KeycloakRealm
	// One of realmRef or clusterRealmRef must be specified
	// +optional
	RealmRef *ResourceRef `json:"realmRef,omitempty"`

	// ClusterRealmRef is a reference to a ClusterKeycloakRealm
	// One of realmRef or clusterRealmRef must be specified
	// +optional
	ClusterRealmRef *ClusterResourceRef `json:"clusterRealmRef,omitempty"`

	// ParentGroupRef is a reference to a parent KeycloakGroup (for nested groups)
	// +optional
	ParentGroupRef *ResourceRef `json:"parentGroupRef,omitempty"`

	// Definition contains the Keycloak GroupRepresentation
	// +kubebuilder:validation:Required
	// +kubebuilder:pruning:PreserveUnknownFields
	Definition runtime.RawExtension `json:"definition"`
}

KeycloakGroupSpec defines the desired state of KeycloakGroup

func (*KeycloakGroupSpec) DeepCopy

func (in *KeycloakGroupSpec) DeepCopy() *KeycloakGroupSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakGroupSpec.

func (*KeycloakGroupSpec) DeepCopyInto

func (in *KeycloakGroupSpec) DeepCopyInto(out *KeycloakGroupSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KeycloakGroupStatus

type KeycloakGroupStatus struct {
	// Ready indicates if the group is ready
	Ready bool `json:"ready"`

	// Status is a human-readable status message
	// +optional
	Status string `json:"status,omitempty"`

	// Message contains additional information
	// +optional
	Message string `json:"message,omitempty"`

	// ResourcePath is the Keycloak API path for this group
	// +optional
	ResourcePath string `json:"resourcePath,omitempty"`

	// GroupID is the Keycloak internal group ID
	// +optional
	GroupID string `json:"groupID,omitempty"`

	// Instance contains the resolved instance reference
	// +optional
	Instance *InstanceRef `json:"instance,omitempty"`

	// Realm contains the resolved realm reference
	// +optional
	Realm *RealmRef `json:"realm,omitempty"`

	// Conditions represent the latest available observations
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KeycloakGroupStatus defines the observed state of KeycloakGroup

func (*KeycloakGroupStatus) DeepCopy

func (in *KeycloakGroupStatus) DeepCopy() *KeycloakGroupStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakGroupStatus.

func (*KeycloakGroupStatus) DeepCopyInto

func (in *KeycloakGroupStatus) DeepCopyInto(out *KeycloakGroupStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KeycloakIdentityProvider

type KeycloakIdentityProvider struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   KeycloakIdentityProviderSpec   `json:"spec,omitempty"`
	Status KeycloakIdentityProviderStatus `json:"status,omitempty"`
}

KeycloakIdentityProvider defines an identity provider within a KeycloakRealm

func (*KeycloakIdentityProvider) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakIdentityProvider.

func (*KeycloakIdentityProvider) DeepCopyInto

func (in *KeycloakIdentityProvider) DeepCopyInto(out *KeycloakIdentityProvider)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*KeycloakIdentityProvider) DeepCopyObject

func (in *KeycloakIdentityProvider) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type KeycloakIdentityProviderList

type KeycloakIdentityProviderList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []KeycloakIdentityProvider `json:"items"`
}

KeycloakIdentityProviderList contains a list of KeycloakIdentityProvider

func (*KeycloakIdentityProviderList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakIdentityProviderList.

func (*KeycloakIdentityProviderList) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*KeycloakIdentityProviderList) DeepCopyObject

func (in *KeycloakIdentityProviderList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type KeycloakIdentityProviderSpec

type KeycloakIdentityProviderSpec struct {
	// RealmRef is a reference to a KeycloakRealm
	// One of realmRef or clusterRealmRef must be specified
	// +optional
	RealmRef *ResourceRef `json:"realmRef,omitempty"`

	// ClusterRealmRef is a reference to a ClusterKeycloakRealm
	// One of realmRef or clusterRealmRef must be specified
	// +optional
	ClusterRealmRef *ClusterResourceRef `json:"clusterRealmRef,omitempty"`

	// ConfigSecretRef is a reference to a Kubernetes Secret whose data entries
	// are merged into definition.config before syncing to Keycloak. This allows
	// sensitive configuration values (e.g. clientId, clientSecret) to be stored
	// in a Secret rather than in plaintext in the CR. Secret values take
	// precedence over values specified inline in definition.config.
	// +optional
	ConfigSecretRef *IDPConfigSecretRef `json:"configSecretRef,omitempty"`

	// Definition contains the Keycloak IdentityProviderRepresentation
	// +kubebuilder:validation:Required
	// +kubebuilder:pruning:PreserveUnknownFields
	Definition runtime.RawExtension `json:"definition"`
}

KeycloakIdentityProviderSpec defines the desired state of KeycloakIdentityProvider

func (*KeycloakIdentityProviderSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakIdentityProviderSpec.

func (*KeycloakIdentityProviderSpec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KeycloakIdentityProviderStatus

type KeycloakIdentityProviderStatus struct {
	// Ready indicates if the identity provider is ready
	Ready bool `json:"ready"`

	// Status is a human-readable status message
	// +optional
	Status string `json:"status,omitempty"`

	// Message contains additional information
	// +optional
	Message string `json:"message,omitempty"`

	// ResourcePath is the Keycloak API path for this identity provider
	// +optional
	ResourcePath string `json:"resourcePath,omitempty"`

	// Instance contains the resolved instance reference
	// +optional
	Instance *InstanceRef `json:"instance,omitempty"`

	// Realm contains the resolved realm reference
	// +optional
	Realm *RealmRef `json:"realm,omitempty"`

	// Conditions represent the latest available observations
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KeycloakIdentityProviderStatus defines the observed state of KeycloakIdentityProvider

func (*KeycloakIdentityProviderStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakIdentityProviderStatus.

func (*KeycloakIdentityProviderStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KeycloakInstance

type KeycloakInstance struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   KeycloakInstanceSpec   `json:"spec,omitempty"`
	Status KeycloakInstanceStatus `json:"status,omitempty"`
}

KeycloakInstance makes a Keycloak server known to the operator

func (*KeycloakInstance) DeepCopy

func (in *KeycloakInstance) DeepCopy() *KeycloakInstance

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakInstance.

func (*KeycloakInstance) DeepCopyInto

func (in *KeycloakInstance) DeepCopyInto(out *KeycloakInstance)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*KeycloakInstance) DeepCopyObject

func (in *KeycloakInstance) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type KeycloakInstanceList

type KeycloakInstanceList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []KeycloakInstance `json:"items"`
}

KeycloakInstanceList contains a list of KeycloakInstance

func (*KeycloakInstanceList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakInstanceList.

func (*KeycloakInstanceList) DeepCopyInto

func (in *KeycloakInstanceList) DeepCopyInto(out *KeycloakInstanceList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*KeycloakInstanceList) DeepCopyObject

func (in *KeycloakInstanceList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type KeycloakInstanceSpec

type KeycloakInstanceSpec struct {
	// BaseUrl is the URL of the Keycloak server (e.g., http://keycloak:8080)
	// +kubebuilder:validation:Required
	BaseUrl string `json:"baseUrl"`

	// Credentials contains the reference to the admin credentials secret
	// +kubebuilder:validation:Required
	Credentials CredentialsSpec `json:"credentials"`

	// Realm is the admin realm (defaults to "master")
	// +optional
	Realm *string `json:"realm,omitempty"`

	// Client contains optional service account client configuration
	// +optional
	Client *ClientAuthSpec `json:"client,omitempty"`

	// Token contains optional token caching configuration
	// +optional
	Token *TokenSpec `json:"token,omitempty"`
}

KeycloakInstanceSpec defines the desired state of KeycloakInstance

func (*KeycloakInstanceSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakInstanceSpec.

func (*KeycloakInstanceSpec) DeepCopyInto

func (in *KeycloakInstanceSpec) DeepCopyInto(out *KeycloakInstanceSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KeycloakInstanceStatus

type KeycloakInstanceStatus struct {
	// Ready indicates if the Keycloak instance is accessible
	Ready bool `json:"ready"`

	// Version is the Keycloak server version
	// +optional
	Version string `json:"version,omitempty"`

	// Status is a human-readable status message
	// +optional
	Status string `json:"status,omitempty"`

	// Message contains additional information about the status
	// +optional
	Message string `json:"message,omitempty"`

	// ResourcePath is the API path for this resource
	// +optional
	ResourcePath string `json:"resourcePath,omitempty"`

	// Conditions represent the latest available observations
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KeycloakInstanceStatus defines the observed state of KeycloakInstance

func (*KeycloakInstanceStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakInstanceStatus.

func (*KeycloakInstanceStatus) DeepCopyInto

func (in *KeycloakInstanceStatus) DeepCopyInto(out *KeycloakInstanceStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KeycloakOrganization

type KeycloakOrganization struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   KeycloakOrganizationSpec   `json:"spec,omitempty"`
	Status KeycloakOrganizationStatus `json:"status,omitempty"`
}

KeycloakOrganization defines an organization within a KeycloakRealm NOTE: Organizations require Keycloak 26.0.0 or later

func (*KeycloakOrganization) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakOrganization.

func (*KeycloakOrganization) DeepCopyInto

func (in *KeycloakOrganization) DeepCopyInto(out *KeycloakOrganization)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*KeycloakOrganization) DeepCopyObject

func (in *KeycloakOrganization) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*KeycloakOrganization) GetClusterRealmRef

func (o *KeycloakOrganization) GetClusterRealmRef() *ClusterResourceRef

GetClusterRealmRef returns the cluster realm reference (nil if using realmRef)

func (*KeycloakOrganization) GetRealmRef

func (o *KeycloakOrganization) GetRealmRef() *ResourceRef

GetRealmRef returns the realm reference (nil if using clusterRealmRef)

func (*KeycloakOrganization) UsesClusterRealm

func (o *KeycloakOrganization) UsesClusterRealm() bool

UsesClusterRealm returns true if this organization references a ClusterKeycloakRealm

type KeycloakOrganizationList

type KeycloakOrganizationList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []KeycloakOrganization `json:"items"`
}

KeycloakOrganizationList contains a list of KeycloakOrganization

func (*KeycloakOrganizationList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakOrganizationList.

func (*KeycloakOrganizationList) DeepCopyInto

func (in *KeycloakOrganizationList) DeepCopyInto(out *KeycloakOrganizationList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*KeycloakOrganizationList) DeepCopyObject

func (in *KeycloakOrganizationList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type KeycloakOrganizationSpec

type KeycloakOrganizationSpec struct {
	// RealmRef is a reference to a KeycloakRealm
	// One of realmRef or clusterRealmRef must be specified
	// +optional
	RealmRef *ResourceRef `json:"realmRef,omitempty"`

	// ClusterRealmRef is a reference to a ClusterKeycloakRealm
	// One of realmRef or clusterRealmRef must be specified
	// +optional
	ClusterRealmRef *ClusterResourceRef `json:"clusterRealmRef,omitempty"`

	// Definition contains the Keycloak OrganizationRepresentation
	// +kubebuilder:validation:Required
	// +kubebuilder:pruning:PreserveUnknownFields
	Definition runtime.RawExtension `json:"definition"`
}

KeycloakOrganizationSpec defines the desired state of KeycloakOrganization

func (*KeycloakOrganizationSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakOrganizationSpec.

func (*KeycloakOrganizationSpec) DeepCopyInto

func (in *KeycloakOrganizationSpec) DeepCopyInto(out *KeycloakOrganizationSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KeycloakOrganizationStatus

type KeycloakOrganizationStatus struct {
	// Ready indicates if the organization is ready
	Ready bool `json:"ready"`

	// Status is a human-readable status message
	// +optional
	Status string `json:"status,omitempty"`

	// Message contains additional information
	// +optional
	Message string `json:"message,omitempty"`

	// ResourcePath is the Keycloak API path for this organization
	// +optional
	ResourcePath string `json:"resourcePath,omitempty"`

	// OrganizationID is the Keycloak internal organization ID
	// +optional
	OrganizationID string `json:"organizationID,omitempty"`

	// Instance contains the resolved instance reference
	// +optional
	Instance *InstanceRef `json:"instance,omitempty"`

	// Realm contains the resolved realm reference
	// +optional
	Realm *RealmRef `json:"realm,omitempty"`

	// ObservedGeneration is the generation of the spec that was last processed
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Conditions represent the latest available observations
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KeycloakOrganizationStatus defines the observed state of KeycloakOrganization

func (*KeycloakOrganizationStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakOrganizationStatus.

func (*KeycloakOrganizationStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KeycloakProtocolMapper

type KeycloakProtocolMapper struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   KeycloakProtocolMapperSpec   `json:"spec,omitempty"`
	Status KeycloakProtocolMapperStatus `json:"status,omitempty"`
}

KeycloakProtocolMapper defines a protocol mapper within a KeycloakClient or KeycloakClientScope

func (*KeycloakProtocolMapper) DeepCopy

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.

func (*KeycloakProtocolMapper) DeepCopyObject

func (in *KeycloakProtocolMapper) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*KeycloakProtocolMapper) GetClientRef

func (p *KeycloakProtocolMapper) GetClientRef() *ResourceRef

GetClientRef returns the client reference (nil if using clientScopeRef)

func (*KeycloakProtocolMapper) GetClientScopeRef

func (p *KeycloakProtocolMapper) GetClientScopeRef() *ResourceRef

GetClientScopeRef returns the client scope reference (nil if using clientRef)

func (*KeycloakProtocolMapper) IsClientMapper

func (p *KeycloakProtocolMapper) IsClientMapper() bool

IsClientMapper returns true if this mapper belongs to a client

func (*KeycloakProtocolMapper) IsClientScopeMapper

func (p *KeycloakProtocolMapper) IsClientScopeMapper() bool

IsClientScopeMapper returns true if this mapper belongs to a client scope

type KeycloakProtocolMapperList

type KeycloakProtocolMapperList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []KeycloakProtocolMapper `json:"items"`
}

KeycloakProtocolMapperList contains a list of KeycloakProtocolMapper

func (*KeycloakProtocolMapperList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakProtocolMapperList.

func (*KeycloakProtocolMapperList) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*KeycloakProtocolMapperList) DeepCopyObject

func (in *KeycloakProtocolMapperList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type KeycloakProtocolMapperSpec

type KeycloakProtocolMapperSpec struct {
	// ClientRef is a reference to a KeycloakClient
	// One of clientRef or clientScopeRef must be specified
	// +optional
	ClientRef *ResourceRef `json:"clientRef,omitempty"`

	// ClientScopeRef is a reference to a KeycloakClientScope
	// One of clientRef or clientScopeRef must be specified
	// +optional
	ClientScopeRef *ResourceRef `json:"clientScopeRef,omitempty"`

	// Definition contains the Keycloak ProtocolMapperRepresentation
	// +kubebuilder:validation:Required
	// +kubebuilder:pruning:PreserveUnknownFields
	Definition runtime.RawExtension `json:"definition"`
}

KeycloakProtocolMapperSpec defines the desired state of KeycloakProtocolMapper

func (*KeycloakProtocolMapperSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakProtocolMapperSpec.

func (*KeycloakProtocolMapperSpec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KeycloakProtocolMapperStatus

type KeycloakProtocolMapperStatus struct {
	// Ready indicates if the protocol mapper is ready
	Ready bool `json:"ready"`

	// Status is a human-readable status message
	// +optional
	Status string `json:"status,omitempty"`

	// Message contains additional information
	// +optional
	Message string `json:"message,omitempty"`

	// ResourcePath is the Keycloak API path for this protocol mapper
	// +optional
	ResourcePath string `json:"resourcePath,omitempty"`

	// MapperID is the Keycloak internal mapper ID
	// +optional
	MapperID string `json:"mapperID,omitempty"`

	// MapperName is the mapper name in Keycloak
	// +optional
	MapperName string `json:"mapperName,omitempty"`

	// ParentType indicates if parent is "client" or "clientScope"
	// +optional
	ParentType string `json:"parentType,omitempty"`

	// ParentID is the parent client or clientScope ID
	// +optional
	ParentID string `json:"parentID,omitempty"`

	// Instance contains the resolved instance reference
	// +optional
	Instance *InstanceRef `json:"instance,omitempty"`

	// Realm contains the resolved realm reference
	// +optional
	Realm *RealmRef `json:"realm,omitempty"`

	// ObservedGeneration is the generation of the spec that was last processed
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Conditions represent the latest available observations
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KeycloakProtocolMapperStatus defines the observed state of KeycloakProtocolMapper

func (*KeycloakProtocolMapperStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakProtocolMapperStatus.

func (*KeycloakProtocolMapperStatus) DeepCopyInto

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 defines a realm within a KeycloakInstance

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) GetClusterInstanceRef

func (r *KeycloakRealm) GetClusterInstanceRef() *ClusterResourceRef

GetClusterInstanceRef returns the cluster instance reference (nil if using instanceRef)

func (*KeycloakRealm) GetInstanceRef

func (r *KeycloakRealm) GetInstanceRef() *ResourceRef

GetInstanceRef returns the instance reference (nil if using clusterInstanceRef)

func (*KeycloakRealm) GetRealmName

func (r *KeycloakRealm) GetRealmName() string

GetRealmName returns the realm name to use in Keycloak

func (*KeycloakRealm) UsesClusterInstance

func (r *KeycloakRealm) UsesClusterInstance() bool

UsesClusterInstance returns true if this realm references a ClusterKeycloakInstance

type KeycloakRealmList

type KeycloakRealmList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []KeycloakRealm `json:"items"`
}

KeycloakRealmList contains a list of KeycloakRealm

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 {
	// InstanceRef is a reference to a KeycloakInstance
	// One of instanceRef or clusterInstanceRef must be specified
	// +optional
	InstanceRef *ResourceRef `json:"instanceRef,omitempty"`

	// ClusterInstanceRef is a reference to a ClusterKeycloakInstance
	// One of instanceRef or clusterInstanceRef must be specified
	// +optional
	ClusterInstanceRef *ClusterResourceRef `json:"clusterInstanceRef,omitempty"`

	// RealmName is the name of the realm in Keycloak (defaults to metadata.name)
	// +optional
	RealmName *string `json:"realmName,omitempty"`

	// SmtpSecretRef is a reference to a Kubernetes Secret containing SMTP credentials.
	// When set, the secret values are injected into definition.smtpServer.user and
	// definition.smtpServer.password before syncing to Keycloak, so credentials
	// do not need to appear in plaintext in the CR.
	// +optional
	SmtpSecretRef *SmtpSecretRefSpec `json:"smtpSecretRef,omitempty"`

	// Definition contains the Keycloak RealmRepresentation
	// +kubebuilder:validation:Required
	// +kubebuilder:pruning:PreserveUnknownFields
	Definition runtime.RawExtension `json:"definition"`
}

KeycloakRealmSpec defines the desired state of KeycloakRealm

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 {
	// Ready indicates if the realm is ready
	Ready bool `json:"ready"`

	// Status is a human-readable status message
	// +optional
	Status string `json:"status,omitempty"`

	// Message contains additional information
	// +optional
	Message string `json:"message,omitempty"`

	// ResourcePath is the Keycloak API path for this realm
	// +optional
	ResourcePath string `json:"resourcePath,omitempty"`

	// Instance contains the resolved instance reference
	// +optional
	Instance *InstanceRef `json:"instance,omitempty"`

	// Conditions represent the latest available observations
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KeycloakRealmStatus defines the observed state of KeycloakRealm

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 KeycloakRequiredAction added in v0.6.0

type KeycloakRequiredAction struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   KeycloakRequiredActionSpec   `json:"spec,omitempty"`
	Status KeycloakRequiredActionStatus `json:"status,omitempty"`
}

KeycloakRequiredAction manages a required action provider within a Keycloak realm

func (*KeycloakRequiredAction) DeepCopy added in v0.6.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakRequiredAction.

func (*KeycloakRequiredAction) DeepCopyInto added in v0.6.0

func (in *KeycloakRequiredAction) DeepCopyInto(out *KeycloakRequiredAction)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*KeycloakRequiredAction) DeepCopyObject added in v0.6.0

func (in *KeycloakRequiredAction) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*KeycloakRequiredAction) GetClusterRealmRef added in v0.6.0

func (r *KeycloakRequiredAction) GetClusterRealmRef() *ClusterResourceRef

GetClusterRealmRef returns the cluster realm reference (nil if using realmRef)

func (*KeycloakRequiredAction) GetRealmRef added in v0.6.0

func (r *KeycloakRequiredAction) GetRealmRef() *ResourceRef

GetRealmRef returns the realm reference (nil if using clusterRealmRef)

func (*KeycloakRequiredAction) UsesClusterRealm added in v0.6.0

func (r *KeycloakRequiredAction) UsesClusterRealm() bool

UsesClusterRealm returns true if this required action references a ClusterKeycloakRealm

type KeycloakRequiredActionList added in v0.6.0

type KeycloakRequiredActionList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []KeycloakRequiredAction `json:"items"`
}

KeycloakRequiredActionList contains a list of KeycloakRequiredAction

func (*KeycloakRequiredActionList) DeepCopy added in v0.6.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakRequiredActionList.

func (*KeycloakRequiredActionList) DeepCopyInto added in v0.6.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*KeycloakRequiredActionList) DeepCopyObject added in v0.6.0

func (in *KeycloakRequiredActionList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type KeycloakRequiredActionSpec added in v0.6.0

type KeycloakRequiredActionSpec struct {
	// RealmRef is a reference to a KeycloakRealm
	// One of realmRef or clusterRealmRef must be specified
	// +optional
	RealmRef *ResourceRef `json:"realmRef,omitempty"`

	// ClusterRealmRef is a reference to a ClusterKeycloakRealm
	// One of realmRef or clusterRealmRef must be specified
	// +optional
	ClusterRealmRef *ClusterResourceRef `json:"clusterRealmRef,omitempty"`

	// Definition contains the Keycloak RequiredActionProviderRepresentation
	// +kubebuilder:validation:Required
	// +kubebuilder:pruning:PreserveUnknownFields
	Definition runtime.RawExtension `json:"definition"`
}

KeycloakRequiredActionSpec defines the desired state of KeycloakRequiredAction

func (*KeycloakRequiredActionSpec) DeepCopy added in v0.6.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakRequiredActionSpec.

func (*KeycloakRequiredActionSpec) DeepCopyInto added in v0.6.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KeycloakRequiredActionStatus added in v0.6.0

type KeycloakRequiredActionStatus struct {
	// Ready indicates if the required action is synchronized
	Ready bool `json:"ready"`

	// Status is a human-readable status message
	// +optional
	Status string `json:"status,omitempty"`

	// Message contains additional information
	// +optional
	Message string `json:"message,omitempty"`

	// ResourcePath is the Keycloak API path for this required action
	// +optional
	ResourcePath string `json:"resourcePath,omitempty"`

	// Alias is the required action alias in Keycloak
	// +optional
	Alias string `json:"alias,omitempty"`

	// Instance contains the resolved instance reference
	// +optional
	Instance *InstanceRef `json:"instance,omitempty"`

	// Realm contains the resolved realm reference
	// +optional
	Realm *RealmRef `json:"realm,omitempty"`

	// ObservedGeneration is the generation of the spec that was last processed
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Conditions represent the latest available observations
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KeycloakRequiredActionStatus defines the observed state of KeycloakRequiredAction

func (*KeycloakRequiredActionStatus) DeepCopy added in v0.6.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakRequiredActionStatus.

func (*KeycloakRequiredActionStatus) DeepCopyInto added in v0.6.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KeycloakRole

type KeycloakRole struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   KeycloakRoleSpec   `json:"spec,omitempty"`
	Status KeycloakRoleStatus `json:"status,omitempty"`
}

KeycloakRole defines a role within a KeycloakRealm or KeycloakClient

func (*KeycloakRole) DeepCopy

func (in *KeycloakRole) DeepCopy() *KeycloakRole

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakRole.

func (*KeycloakRole) DeepCopyInto

func (in *KeycloakRole) DeepCopyInto(out *KeycloakRole)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*KeycloakRole) DeepCopyObject

func (in *KeycloakRole) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*KeycloakRole) GetClusterRealmRef

func (r *KeycloakRole) GetClusterRealmRef() *ClusterResourceRef

GetClusterRealmRef returns the cluster realm reference (nil if using realmRef)

func (*KeycloakRole) GetRealmRef

func (r *KeycloakRole) GetRealmRef() *ResourceRef

GetRealmRef returns the realm reference (nil if using clusterRealmRef)

func (*KeycloakRole) IsClientRole

func (r *KeycloakRole) IsClientRole() bool

IsClientRole returns true if this is a client-level role

func (*KeycloakRole) UsesClusterRealm

func (r *KeycloakRole) UsesClusterRealm() bool

UsesClusterRealm returns true if this role references a ClusterKeycloakRealm

type KeycloakRoleList

type KeycloakRoleList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []KeycloakRole `json:"items"`
}

KeycloakRoleList contains a list of KeycloakRole

func (*KeycloakRoleList) DeepCopy

func (in *KeycloakRoleList) DeepCopy() *KeycloakRoleList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakRoleList.

func (*KeycloakRoleList) DeepCopyInto

func (in *KeycloakRoleList) DeepCopyInto(out *KeycloakRoleList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*KeycloakRoleList) DeepCopyObject

func (in *KeycloakRoleList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type KeycloakRoleMapping

type KeycloakRoleMapping struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   KeycloakRoleMappingSpec   `json:"spec,omitempty"`
	Status KeycloakRoleMappingStatus `json:"status,omitempty"`
}

KeycloakRoleMapping maps a role to a user or group

func (*KeycloakRoleMapping) DeepCopy

func (in *KeycloakRoleMapping) DeepCopy() *KeycloakRoleMapping

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakRoleMapping.

func (*KeycloakRoleMapping) DeepCopyInto

func (in *KeycloakRoleMapping) DeepCopyInto(out *KeycloakRoleMapping)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*KeycloakRoleMapping) DeepCopyObject

func (in *KeycloakRoleMapping) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*KeycloakRoleMapping) GetSubject

func (r *KeycloakRoleMapping) GetSubject() RoleMappingSubject

GetSubject returns the subject reference (user or group)

func (*KeycloakRoleMapping) IsClientRole

func (r *KeycloakRoleMapping) IsClientRole() bool

IsClientRole returns true if this is a client-level role

func (*KeycloakRoleMapping) IsGroupMapping

func (r *KeycloakRoleMapping) IsGroupMapping() bool

IsGroupMapping returns true if this maps to a group

func (*KeycloakRoleMapping) IsUserMapping

func (r *KeycloakRoleMapping) IsUserMapping() bool

IsUserMapping returns true if this maps to a user

type KeycloakRoleMappingList

type KeycloakRoleMappingList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []KeycloakRoleMapping `json:"items"`
}

KeycloakRoleMappingList contains a list of KeycloakRoleMapping

func (*KeycloakRoleMappingList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakRoleMappingList.

func (*KeycloakRoleMappingList) DeepCopyInto

func (in *KeycloakRoleMappingList) DeepCopyInto(out *KeycloakRoleMappingList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*KeycloakRoleMappingList) DeepCopyObject

func (in *KeycloakRoleMappingList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type KeycloakRoleMappingSpec

type KeycloakRoleMappingSpec struct {
	// Subject defines who the role is assigned to (user or group)
	// +kubebuilder:validation:Required
	Subject RoleMappingSubject `json:"subject"`

	// Role defines the role to assign (inline definition)
	// Either Role or RoleRef must be specified
	// +optional
	Role *RoleDefinition `json:"role,omitempty"`

	// RoleRef references an existing KeycloakRole resource
	// Either Role or RoleRef must be specified
	// +optional
	RoleRef *ResourceRef `json:"roleRef,omitempty"`
}

KeycloakRoleMappingSpec defines the desired state of KeycloakRoleMapping

func (*KeycloakRoleMappingSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakRoleMappingSpec.

func (*KeycloakRoleMappingSpec) DeepCopyInto

func (in *KeycloakRoleMappingSpec) DeepCopyInto(out *KeycloakRoleMappingSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KeycloakRoleMappingStatus

type KeycloakRoleMappingStatus struct {
	// Ready indicates if the role mapping is applied
	Ready bool `json:"ready"`

	// Status is a human-readable status message
	// +optional
	Status string `json:"status,omitempty"`

	// Message contains additional information
	// +optional
	Message string `json:"message,omitempty"`

	// ResourcePath is the Keycloak API path for this role mapping
	// +optional
	ResourcePath string `json:"resourcePath,omitempty"`

	// Instance contains the resolved instance reference
	// +optional
	Instance *InstanceRef `json:"instance,omitempty"`

	// Realm contains the resolved realm reference
	// +optional
	Realm *RealmRef `json:"realm,omitempty"`

	// SubjectType is either "user" or "group"
	// +optional
	SubjectType string `json:"subjectType,omitempty"`

	// SubjectID is the Keycloak ID of the subject
	// +optional
	SubjectID string `json:"subjectID,omitempty"`

	// RoleName is the resolved role name
	// +optional
	RoleName string `json:"roleName,omitempty"`

	// RoleType is either "realm" or "client"
	// +optional
	RoleType string `json:"roleType,omitempty"`

	// ObservedGeneration is the generation of the spec that was last processed
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Conditions represent the latest available observations
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KeycloakRoleMappingStatus defines the observed state of KeycloakRoleMapping

func (*KeycloakRoleMappingStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakRoleMappingStatus.

func (*KeycloakRoleMappingStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KeycloakRoleSpec

type KeycloakRoleSpec struct {
	// RealmRef is a reference to a KeycloakRealm
	// One of realmRef or clusterRealmRef must be specified
	// +optional
	RealmRef *ResourceRef `json:"realmRef,omitempty"`

	// ClusterRealmRef is a reference to a ClusterKeycloakRealm
	// One of realmRef or clusterRealmRef must be specified
	// +optional
	ClusterRealmRef *ClusterResourceRef `json:"clusterRealmRef,omitempty"`

	// ClientRef is a reference to a KeycloakClient for client-level roles
	// If not specified, the role is a realm-level role
	// +optional
	ClientRef *ResourceRef `json:"clientRef,omitempty"`

	// Definition contains the Keycloak RoleRepresentation
	// +kubebuilder:validation:Required
	// +kubebuilder:pruning:PreserveUnknownFields
	Definition runtime.RawExtension `json:"definition"`
}

KeycloakRoleSpec defines the desired state of KeycloakRole

func (*KeycloakRoleSpec) DeepCopy

func (in *KeycloakRoleSpec) DeepCopy() *KeycloakRoleSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakRoleSpec.

func (*KeycloakRoleSpec) DeepCopyInto

func (in *KeycloakRoleSpec) DeepCopyInto(out *KeycloakRoleSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KeycloakRoleStatus

type KeycloakRoleStatus struct {
	// Ready indicates if the role is ready
	Ready bool `json:"ready"`

	// Status is a human-readable status message
	// +optional
	Status string `json:"status,omitempty"`

	// Message contains additional information
	// +optional
	Message string `json:"message,omitempty"`

	// ResourcePath is the Keycloak API path for this role
	// +optional
	ResourcePath string `json:"resourcePath,omitempty"`

	// RoleID is the Keycloak internal role ID
	// +optional
	RoleID string `json:"roleID,omitempty"`

	// RoleName is the role name in Keycloak
	// +optional
	RoleName string `json:"roleName,omitempty"`

	// IsClientRole indicates if this is a client role
	// +optional
	IsClientRole bool `json:"isClientRole,omitempty"`

	// ClientID is the client ID if this is a client role
	// +optional
	ClientID string `json:"clientID,omitempty"`

	// Instance contains the resolved instance reference
	// +optional
	Instance *InstanceRef `json:"instance,omitempty"`

	// Realm contains the resolved realm reference
	// +optional
	Realm *RealmRef `json:"realm,omitempty"`

	// ObservedGeneration is the generation of the spec that was last processed
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Conditions represent the latest available observations
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KeycloakRoleStatus defines the observed state of KeycloakRole

func (*KeycloakRoleStatus) DeepCopy

func (in *KeycloakRoleStatus) DeepCopy() *KeycloakRoleStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakRoleStatus.

func (*KeycloakRoleStatus) DeepCopyInto

func (in *KeycloakRoleStatus) DeepCopyInto(out *KeycloakRoleStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KeycloakUser

type KeycloakUser struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   KeycloakUserSpec   `json:"spec,omitempty"`
	Status KeycloakUserStatus `json:"status,omitempty"`
}

KeycloakUser defines a user within a KeycloakRealm

func (*KeycloakUser) DeepCopy

func (in *KeycloakUser) DeepCopy() *KeycloakUser

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakUser.

func (*KeycloakUser) DeepCopyInto

func (in *KeycloakUser) DeepCopyInto(out *KeycloakUser)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*KeycloakUser) DeepCopyObject

func (in *KeycloakUser) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*KeycloakUser) GetClientRef

func (u *KeycloakUser) GetClientRef() *ResourceRef

GetClientRef returns the client reference for service account users

func (*KeycloakUser) GetClusterRealmRef

func (u *KeycloakUser) GetClusterRealmRef() *ClusterResourceRef

GetClusterRealmRef returns the cluster realm reference (nil if using realmRef or clientRef)

func (*KeycloakUser) GetRealmRef

func (u *KeycloakUser) GetRealmRef() *ResourceRef

GetRealmRef returns the realm reference (nil if using clusterRealmRef or clientRef)

func (*KeycloakUser) IsServiceAccountUser

func (u *KeycloakUser) IsServiceAccountUser() bool

IsServiceAccountUser returns true if this user is a service account for a client

func (*KeycloakUser) UsesClusterRealm

func (u *KeycloakUser) UsesClusterRealm() bool

UsesClusterRealm returns true if this user references a ClusterKeycloakRealm

type KeycloakUserCredential

type KeycloakUserCredential struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   KeycloakUserCredentialSpec   `json:"spec,omitempty"`
	Status KeycloakUserCredentialStatus `json:"status,omitempty"`
}

KeycloakUserCredential manages credentials for a KeycloakUser

func (*KeycloakUserCredential) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakUserCredential.

func (*KeycloakUserCredential) DeepCopyInto

func (in *KeycloakUserCredential) DeepCopyInto(out *KeycloakUserCredential)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*KeycloakUserCredential) DeepCopyObject

func (in *KeycloakUserCredential) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*KeycloakUserCredential) GetUserRef

func (c *KeycloakUserCredential) GetUserRef() ResourceRef

GetUserRef returns the user reference

type KeycloakUserCredentialList

type KeycloakUserCredentialList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []KeycloakUserCredential `json:"items"`
}

KeycloakUserCredentialList contains a list of KeycloakUserCredential

func (*KeycloakUserCredentialList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakUserCredentialList.

func (*KeycloakUserCredentialList) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*KeycloakUserCredentialList) DeepCopyObject

func (in *KeycloakUserCredentialList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type KeycloakUserCredentialSpec

type KeycloakUserCredentialSpec struct {
	// UserRef is a reference to a KeycloakUser
	// +kubebuilder:validation:Required
	UserRef ResourceRef `json:"userRef"`

	// UserSecret defines the secret containing the credentials
	// +kubebuilder:validation:Required
	UserSecret CredentialSecretSpec `json:"userSecret"`
}

KeycloakUserCredentialSpec defines the desired state of KeycloakUserCredential

func (*KeycloakUserCredentialSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakUserCredentialSpec.

func (*KeycloakUserCredentialSpec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KeycloakUserCredentialStatus

type KeycloakUserCredentialStatus struct {
	// Ready indicates if the credentials are synchronized
	Ready bool `json:"ready"`

	// Status is a human-readable status message
	// +optional
	Status string `json:"status,omitempty"`

	// Message contains additional information
	// +optional
	Message string `json:"message,omitempty"`

	// ResourcePath is the Keycloak API path for the user
	// +optional
	ResourcePath string `json:"resourcePath,omitempty"`

	// Instance contains the resolved instance reference
	// +optional
	Instance *InstanceRef `json:"instance,omitempty"`

	// Realm contains the resolved realm reference
	// +optional
	Realm *RealmRef `json:"realm,omitempty"`

	// SecretCreated indicates if the secret was created by the operator
	// +optional
	SecretCreated bool `json:"secretCreated,omitempty"`

	// ObservedGeneration is the generation of the spec that was last processed
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// PasswordHash is a hash of the last synchronized password (for change detection)
	// +optional
	PasswordHash string `json:"passwordHash,omitempty"`

	// SecretResourceVersion is the resource version of the secret when last synced
	// +optional
	SecretResourceVersion string `json:"secretResourceVersion,omitempty"`

	// Conditions represent the latest available observations
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KeycloakUserCredentialStatus defines the observed state of KeycloakUserCredential

func (*KeycloakUserCredentialStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakUserCredentialStatus.

func (*KeycloakUserCredentialStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KeycloakUserList

type KeycloakUserList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []KeycloakUser `json:"items"`
}

KeycloakUserList contains a list of KeycloakUser

func (*KeycloakUserList) DeepCopy

func (in *KeycloakUserList) DeepCopy() *KeycloakUserList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakUserList.

func (*KeycloakUserList) DeepCopyInto

func (in *KeycloakUserList) DeepCopyInto(out *KeycloakUserList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*KeycloakUserList) DeepCopyObject

func (in *KeycloakUserList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type KeycloakUserSpec

type KeycloakUserSpec struct {
	// RealmRef is a reference to a KeycloakRealm
	// One of realmRef, clusterRealmRef, or clientRef must be specified
	// Use this for regular realm users
	// +optional
	RealmRef *ResourceRef `json:"realmRef,omitempty"`

	// ClusterRealmRef is a reference to a ClusterKeycloakRealm
	// One of realmRef, clusterRealmRef, or clientRef must be specified
	// Use this for regular realm users with cluster-scoped realms
	// +optional
	ClusterRealmRef *ClusterResourceRef `json:"clusterRealmRef,omitempty"`

	// ClientRef is a reference to a KeycloakClient for service account users
	// One of realmRef, clusterRealmRef, or clientRef must be specified
	// Use this to manage the service account user associated with a client
	// +optional
	ClientRef *ResourceRef `json:"clientRef,omitempty"`

	// Definition contains the Keycloak UserRepresentation
	// +kubebuilder:pruning:PreserveUnknownFields
	// +optional
	Definition *runtime.RawExtension `json:"definition,omitempty"`

	// InitialPassword sets the initial password for the user (only on creation)
	// +optional
	InitialPassword *InitialPassword `json:"initialPassword,omitempty"`

	// UserSecret configures where to store user credentials
	// +optional
	UserSecret *UserSecretSpec `json:"userSecret,omitempty"`
}

KeycloakUserSpec defines the desired state of KeycloakUser

func (*KeycloakUserSpec) DeepCopy

func (in *KeycloakUserSpec) DeepCopy() *KeycloakUserSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakUserSpec.

func (*KeycloakUserSpec) DeepCopyInto

func (in *KeycloakUserSpec) DeepCopyInto(out *KeycloakUserSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KeycloakUserStatus

type KeycloakUserStatus struct {
	// Ready indicates if the user is ready
	Ready bool `json:"ready"`

	// Status is a human-readable status message
	// +optional
	Status string `json:"status,omitempty"`

	// Message contains additional information
	// +optional
	Message string `json:"message,omitempty"`

	// ResourcePath is the Keycloak API path for this user
	// +optional
	ResourcePath string `json:"resourcePath,omitempty"`

	// UserID is the Keycloak internal user ID
	// +optional
	UserID string `json:"userID,omitempty"`

	// IsServiceAccount indicates if this user is a service account for a client
	// +optional
	IsServiceAccount bool `json:"isServiceAccount,omitempty"`

	// ClientID is the client UUID if this is a service account user
	// +optional
	ClientID string `json:"clientID,omitempty"`

	// Instance contains the resolved instance reference
	// +optional
	Instance *InstanceRef `json:"instance,omitempty"`

	// Realm contains the resolved realm reference
	// +optional
	Realm *RealmRef `json:"realm,omitempty"`

	// ObservedGeneration is the generation of the spec that was last processed
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Conditions represent the latest available observations
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

KeycloakUserStatus defines the observed state of KeycloakUser

func (*KeycloakUserStatus) DeepCopy

func (in *KeycloakUserStatus) DeepCopy() *KeycloakUserStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeycloakUserStatus.

func (*KeycloakUserStatus) DeepCopyInto

func (in *KeycloakUserStatus) DeepCopyInto(out *KeycloakUserStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NamespacedRef

type NamespacedRef struct {
	// Name of the resource
	// +kubebuilder:validation:Required
	Name string `json:"name"`

	// Namespace of the resource
	// +kubebuilder:validation:Required
	Namespace string `json:"namespace"`
}

NamespacedRef is a reference to a namespaced resource (required namespace)

func (*NamespacedRef) DeepCopy

func (in *NamespacedRef) DeepCopy() *NamespacedRef

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespacedRef.

func (*NamespacedRef) DeepCopyInto

func (in *NamespacedRef) DeepCopyInto(out *NamespacedRef)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OrganizationDefinition

type OrganizationDefinition struct {
	// Name is the organization name (required)
	// +kubebuilder:validation:Required
	Name string `json:"name"`

	// Alias is the URL-friendly identifier for the organization
	// +optional
	Alias string `json:"alias,omitempty"`

	// Description of the organization
	// +optional
	Description string `json:"description,omitempty"`

	// Enabled indicates whether the organization is enabled
	// +optional
	Enabled *bool `json:"enabled,omitempty"`

	// Domains associated with the organization
	// +optional
	Domains []OrganizationDomain `json:"domains,omitempty"`

	// Attributes for custom organization attributes
	// +optional
	Attributes map[string][]string `json:"attributes,omitempty"`
}

OrganizationDefinition represents the Keycloak OrganizationRepresentation This is a subset - use runtime.RawExtension for full flexibility

func (*OrganizationDefinition) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationDefinition.

func (*OrganizationDefinition) DeepCopyInto

func (in *OrganizationDefinition) DeepCopyInto(out *OrganizationDefinition)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OrganizationDomain

type OrganizationDomain struct {
	// Name is the domain name
	// +kubebuilder:validation:Required
	Name string `json:"name"`

	// Verified indicates if the domain is verified
	// +optional
	Verified bool `json:"verified,omitempty"`
}

OrganizationDomain represents a domain associated with an organization

func (*OrganizationDomain) DeepCopy

func (in *OrganizationDomain) DeepCopy() *OrganizationDomain

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationDomain.

func (*OrganizationDomain) DeepCopyInto

func (in *OrganizationDomain) DeepCopyInto(out *OrganizationDomain)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PasswordPolicySpec

type PasswordPolicySpec struct {
	// Length is the password length (default 24)
	// +kubebuilder:default=24
	// +optional
	Length int `json:"length,omitempty"`

	// IncludeNumbers includes numbers in the password
	// +kubebuilder:default=true
	// +optional
	IncludeNumbers *bool `json:"includeNumbers,omitempty"`

	// IncludeSymbols includes symbols in the password
	// +kubebuilder:default=true
	// +optional
	IncludeSymbols *bool `json:"includeSymbols,omitempty"`
}

PasswordPolicySpec defines password generation policy

func (*PasswordPolicySpec) DeepCopy

func (in *PasswordPolicySpec) DeepCopy() *PasswordPolicySpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PasswordPolicySpec.

func (*PasswordPolicySpec) DeepCopyInto

func (in *PasswordPolicySpec) DeepCopyInto(out *PasswordPolicySpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProtocolMapperDefinition

type ProtocolMapperDefinition struct {
	// Name is the mapper name (required)
	// +kubebuilder:validation:Required
	Name string `json:"name"`

	// Protocol is the protocol (openid-connect or saml)
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum=openid-connect;saml
	Protocol string `json:"protocol"`

	// ProtocolMapper is the mapper type
	// +kubebuilder:validation:Required
	ProtocolMapper string `json:"protocolMapper"`

	// ConsentRequired indicates if consent is required
	// +optional
	ConsentRequired *bool `json:"consentRequired,omitempty"`

	// Config contains mapper configuration
	// +optional
	Config map[string]string `json:"config,omitempty"`
}

ProtocolMapperDefinition represents the Keycloak ProtocolMapperRepresentation This is a subset - use runtime.RawExtension for full flexibility

func (*ProtocolMapperDefinition) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProtocolMapperDefinition.

func (*ProtocolMapperDefinition) DeepCopyInto

func (in *ProtocolMapperDefinition) DeepCopyInto(out *ProtocolMapperDefinition)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RealmDefinition

type RealmDefinition struct {
	// Realm is the realm name (unique identifier)
	// +kubebuilder:validation:Required
	Realm string `json:"realm"`

	// DisplayName is the display name of the realm
	// +optional
	DisplayName string `json:"displayName,omitempty"`

	// DisplayNameHtml is the HTML display name
	// +optional
	DisplayNameHtml string `json:"displayNameHtml,omitempty"`

	// Enabled indicates whether the realm is enabled
	// +optional
	Enabled *bool `json:"enabled,omitempty"`

	// RegistrationAllowed allows user self-registration
	// +optional
	RegistrationAllowed *bool `json:"registrationAllowed,omitempty"`

	// LoginWithEmailAllowed allows login with email
	// +optional
	LoginWithEmailAllowed *bool `json:"loginWithEmailAllowed,omitempty"`

	// DuplicateEmailsAllowed allows duplicate emails
	// +optional
	DuplicateEmailsAllowed *bool `json:"duplicateEmailsAllowed,omitempty"`

	// ResetPasswordAllowed enables password reset
	// +optional
	ResetPasswordAllowed *bool `json:"resetPasswordAllowed,omitempty"`

	// VerifyEmail requires email verification
	// +optional
	VerifyEmail *bool `json:"verifyEmail,omitempty"`

	// SslRequired specifies SSL requirement level
	// +optional
	// +kubebuilder:validation:Enum=all;external;none
	SslRequired string `json:"sslRequired,omitempty"`

	// AccessTokenLifespan in seconds
	// +optional
	AccessTokenLifespan *int32 `json:"accessTokenLifespan,omitempty"`

	// SsoSessionIdleTimeout in seconds
	// +optional
	SsoSessionIdleTimeout *int32 `json:"ssoSessionIdleTimeout,omitempty"`

	// SsoSessionMaxLifespan in seconds
	// +optional
	SsoSessionMaxLifespan *int32 `json:"ssoSessionMaxLifespan,omitempty"`

	// LoginTheme for the realm
	// +optional
	LoginTheme string `json:"loginTheme,omitempty"`

	// AccountTheme for the realm
	// +optional
	AccountTheme string `json:"accountTheme,omitempty"`

	// AdminTheme for the realm
	// +optional
	AdminTheme string `json:"adminTheme,omitempty"`

	// EmailTheme for the realm
	// +optional
	EmailTheme string `json:"emailTheme,omitempty"`

	// InternationalizationEnabled enables i18n
	// +optional
	InternationalizationEnabled *bool `json:"internationalizationEnabled,omitempty"`

	// SupportedLocales list of supported locales
	// +optional
	SupportedLocales []string `json:"supportedLocales,omitempty"`

	// DefaultLocale for the realm
	// +optional
	DefaultLocale string `json:"defaultLocale,omitempty"`

	// BruteForceProtected enables brute force protection
	// +optional
	BruteForceProtected *bool `json:"bruteForceProtected,omitempty"`

	// SmtpServer configuration
	// +optional
	SmtpServer map[string]string `json:"smtpServer,omitempty"`

	// Attributes for custom attributes
	// +optional
	Attributes map[string]string `json:"attributes,omitempty"`
}

RealmDefinition represents the Keycloak RealmRepresentation This is a subset of the full representation - use runtime.RawExtension for full flexibility

func (*RealmDefinition) DeepCopy

func (in *RealmDefinition) DeepCopy() *RealmDefinition

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RealmDefinition.

func (*RealmDefinition) DeepCopyInto

func (in *RealmDefinition) DeepCopyInto(out *RealmDefinition)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RealmRef

type RealmRef struct {
	// RealmRef is the name of the namespaced realm
	// +optional
	RealmRef string `json:"realmRef,omitempty"`

	// ClusterRealmRef is the name of the cluster realm
	// +optional
	ClusterRealmRef string `json:"clusterRealmRef,omitempty"`
}

RealmRef contains the resolved realm reference

func (*RealmRef) DeepCopy

func (in *RealmRef) DeepCopy() *RealmRef

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RealmRef.

func (*RealmRef) DeepCopyInto

func (in *RealmRef) DeepCopyInto(out *RealmRef)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ResourceRef

type ResourceRef struct {
	// Name of the resource
	// +kubebuilder:validation:Required
	Name string `json:"name"`

	// Namespace of the resource (optional, defaults to the same namespace)
	// +optional
	Namespace *string `json:"namespace,omitempty"`
}

ResourceRef is a reference to another resource

func (*ResourceRef) DeepCopy

func (in *ResourceRef) DeepCopy() *ResourceRef

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceRef.

func (*ResourceRef) DeepCopyInto

func (in *ResourceRef) DeepCopyInto(out *ResourceRef)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RoleDefinition

type RoleDefinition struct {
	// Name is the role name
	// +kubebuilder:validation:Required
	Name string `json:"name"`

	// ClientRef references a KeycloakClient for client-level roles
	// If not specified, the role is a realm-level role
	// +optional
	ClientRef *ResourceRef `json:"clientRef,omitempty"`

	// ClientID is the client ID for client-level roles (alternative to ClientRef)
	// +optional
	ClientID *string `json:"clientId,omitempty"`
}

RoleDefinition defines a role inline

func (*RoleDefinition) DeepCopy

func (in *RoleDefinition) DeepCopy() *RoleDefinition

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleDefinition.

func (*RoleDefinition) DeepCopyInto

func (in *RoleDefinition) DeepCopyInto(out *RoleDefinition)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RoleMappingSubject

type RoleMappingSubject struct {
	// UserRef references a KeycloakUser
	// +optional
	UserRef *ResourceRef `json:"userRef,omitempty"`

	// GroupRef references a KeycloakGroup
	// +optional
	GroupRef *ResourceRef `json:"groupRef,omitempty"`
}

RoleMappingSubject defines the target of the role mapping

func (*RoleMappingSubject) DeepCopy

func (in *RoleMappingSubject) DeepCopy() *RoleMappingSubject

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleMappingSubject.

func (*RoleMappingSubject) DeepCopyInto

func (in *RoleMappingSubject) DeepCopyInto(out *RoleMappingSubject)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RoleRepresentation

type RoleRepresentation struct {
	// Name is the role name (required)
	// +kubebuilder:validation:Required
	Name string `json:"name"`

	// Description of the role
	// +optional
	Description string `json:"description,omitempty"`

	// Composite indicates if this is a composite role
	// +optional
	Composite *bool `json:"composite,omitempty"`

	// ClientRole indicates if this is a client role
	// +optional
	ClientRole *bool `json:"clientRole,omitempty"`

	// ContainerId is the container ID (realm or client ID)
	// +optional
	ContainerId string `json:"containerId,omitempty"`

	// Attributes for custom role attributes
	// +optional
	Attributes map[string][]string `json:"attributes,omitempty"`
}

RoleRepresentation represents the Keycloak RoleRepresentation This is a subset - use runtime.RawExtension for full flexibility

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 SecretRefSpec

type SecretRefSpec struct {
	// Name is the name of the secret
	// +kubebuilder:validation:Required
	Name string `json:"name"`

	// Namespace is the namespace of the secret (defaults to resource namespace)
	// +optional
	Namespace *string `json:"namespace,omitempty"`

	// UsernameKey is the key in the secret for the username (defaults to "username")
	// +kubebuilder:default="username"
	// +optional
	UsernameKey string `json:"usernameKey,omitempty"`

	// PasswordKey is the key in the secret for the password (defaults to "password")
	// +kubebuilder:default="password"
	// +optional
	PasswordKey string `json:"passwordKey,omitempty"`
}

SecretRefSpec defines a reference to a secret

func (*SecretRefSpec) DeepCopy

func (in *SecretRefSpec) DeepCopy() *SecretRefSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretRefSpec.

func (*SecretRefSpec) DeepCopyInto

func (in *SecretRefSpec) DeepCopyInto(out *SecretRefSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SmtpSecretRefSpec added in v0.5.0

type SmtpSecretRefSpec struct {
	// Name of the Kubernetes Secret
	// +kubebuilder:validation:Required
	Name string `json:"name"`

	// UserKey is the key in the secret for the SMTP username (defaults to "user")
	// +kubebuilder:default="user"
	// +optional
	UserKey string `json:"userKey,omitempty"`

	// PasswordKey is the key in the secret for the SMTP password (defaults to "password")
	// +kubebuilder:default="password"
	// +optional
	PasswordKey string `json:"passwordKey,omitempty"`
}

SmtpSecretRefSpec references a Kubernetes Secret containing SMTP credentials.

func (*SmtpSecretRefSpec) DeepCopy added in v0.5.0

func (in *SmtpSecretRefSpec) DeepCopy() *SmtpSecretRefSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SmtpSecretRefSpec.

func (*SmtpSecretRefSpec) DeepCopyInto added in v0.5.0

func (in *SmtpSecretRefSpec) DeepCopyInto(out *SmtpSecretRefSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TokenSpec

type TokenSpec struct {
	// SecretName is the name of the secret to cache the token
	// +optional
	SecretName *string `json:"secretName,omitempty"`

	// TokenKey is the key in the secret for the token
	// +optional
	TokenKey *string `json:"tokenKey,omitempty"`

	// ExpiresKey is the key in the secret for the token expiration
	// +optional
	ExpiresKey *string `json:"expiresKey,omitempty"`
}

TokenSpec defines token caching configuration

func (*TokenSpec) DeepCopy

func (in *TokenSpec) DeepCopy() *TokenSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TokenSpec.

func (*TokenSpec) DeepCopyInto

func (in *TokenSpec) DeepCopyInto(out *TokenSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UserDefinition

type UserDefinition struct {
	// Username is the unique username
	// +kubebuilder:validation:Required
	Username string `json:"username"`

	// Email address
	// +optional
	Email string `json:"email,omitempty"`

	// EmailVerified indicates if email is verified
	// +optional
	EmailVerified *bool `json:"emailVerified,omitempty"`

	// FirstName of the user
	// +optional
	FirstName string `json:"firstName,omitempty"`

	// LastName of the user
	// +optional
	LastName string `json:"lastName,omitempty"`

	// Enabled indicates if the user is enabled
	// +optional
	Enabled *bool `json:"enabled,omitempty"`

	// Groups the user belongs to
	// +optional
	Groups []string `json:"groups,omitempty"`

	// RealmRoles assigned to the user
	// +optional
	RealmRoles []string `json:"realmRoles,omitempty"`

	// ClientRoles assigned to the user (map of client to roles)
	// +optional
	ClientRoles map[string][]string `json:"clientRoles,omitempty"`

	// RequiredActions for the user
	// +optional
	RequiredActions []string `json:"requiredActions,omitempty"`

	// Attributes for custom user attributes
	// +optional
	Attributes map[string][]string `json:"attributes,omitempty"`

	// Credentials for the user (e.g., password)
	// +optional
	Credentials []CredentialRepresentation `json:"credentials,omitempty"`
}

UserDefinition represents the Keycloak UserRepresentation This is a subset - use runtime.RawExtension for full flexibility

func (*UserDefinition) DeepCopy

func (in *UserDefinition) DeepCopy() *UserDefinition

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserDefinition.

func (*UserDefinition) DeepCopyInto

func (in *UserDefinition) DeepCopyInto(out *UserDefinition)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UserSecretSpec

type UserSecretSpec struct {
	// SecretName is the name of the Kubernetes secret to create
	// +kubebuilder:validation:Required
	SecretName string `json:"secretName"`

	// UsernameKey is the key for the username in the secret (defaults to "username")
	// +optional
	UsernameKey *string `json:"usernameKey,omitempty"`

	// PasswordKey is the key for the password (defaults to "password")
	// +optional
	PasswordKey *string `json:"passwordKey,omitempty"`

	// GeneratePassword indicates whether to generate a password
	// +optional
	GeneratePassword *bool `json:"generatePassword,omitempty"`
}

UserSecretSpec defines where to store user credentials

func (*UserSecretSpec) DeepCopy

func (in *UserSecretSpec) DeepCopy() *UserSecretSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserSecretSpec.

func (*UserSecretSpec) DeepCopyInto

func (in *UserSecretSpec) DeepCopyInto(out *UserSecretSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL