v1alpha1

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Jan 28, 2023 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the keycloak v1alpha1 API group +kubebuilder:object:generate=true +groupName=keycloak.org

Index

Constants

This section is empty.

Variables

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

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

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

Functions

func DeleteFromStatusSecondaryResources

func DeleteFromStatusSecondaryResources(secondaryResources map[string][]string, kind string, resourceName string)

func UpdateStatusSecondaryResources

func UpdateStatusSecondaryResources(secondaryResources map[string][]string, kind string, resourceName string) map[string][]string

Types

type ClientMappingsRepresentation

type ClientMappingsRepresentation struct {
	// Client
	// +optional
	Client string `json:"client,omitempty"`

	// ID
	// +optional
	ID string `json:"id,omitempty"`

	// Mappings
	// +optional
	Mappings []RoleRepresentation `json:"mappings,omitempty"`
}

https://www.keycloak.org/docs-api/11.0/rest-api/index.html#_clientmappingsrepresentation

func (*ClientMappingsRepresentation) DeepCopy

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

func (*ClientMappingsRepresentation) DeepCopyInto

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

type FederatedIdentity

type FederatedIdentity struct {
	// Federated Identity Provider.
	IdentityProvider string `json:"identityProvider,omitempty"`
	// Federated Identity User ID.
	UserID string `json:"userId,omitempty"`
	// Federated Identity User Name.
	UserName string `json:"userName,omitempty"`
}

func (*FederatedIdentity) DeepCopy

func (in *FederatedIdentity) DeepCopy() *FederatedIdentity

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

func (*FederatedIdentity) DeepCopyInto

func (in *FederatedIdentity) DeepCopyInto(out *FederatedIdentity)

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

type Keycloak

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

	Spec   KeycloakSpec   `json:"spec,omitempty"`
	Status KeycloakStatus `json:"status,omitempty"`
}

Keycloak is the Schema for the keycloaks API. +genclient +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:object:root=true

func (*Keycloak) DeepCopy

func (in *Keycloak) DeepCopy() *Keycloak

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

func (*Keycloak) DeepCopyInto

func (in *Keycloak) DeepCopyInto(out *Keycloak)

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

func (*Keycloak) DeepCopyObject

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

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

func (*Keycloak) UpdateStatusSecondaryResources

func (i *Keycloak) UpdateStatusSecondaryResources(kind string, resourceName string)

type KeycloakAPIClient

type KeycloakAPIClient struct {
	// Client ID. If not specified, automatically generated.
	// +optional
	ID string `json:"id,omitempty"`
	// Client ID.
	// +kubebuilder:validation:Required
	ClientID string `json:"clientId"`
	// Client name.
	// +optional
	Name string `json:"name,omitempty"`
	// Surrogate Authentication Required option.
	// +optional
	SurrogateAuthRequired bool `json:"surrogateAuthRequired,omitempty"`
	// Client enabled flag.
	// +optional
	Enabled bool `json:"enabled,omitempty"`
	// What Client authentication type to use.
	// +optional
	ClientAuthenticatorType string `json:"clientAuthenticatorType,omitempty"`
	// Client Secret. The Operator will automatically create a Secret based on this value.
	// +optional
	Secret string `json:"secret,omitempty"`
	// Application base URL.
	// +optional
	BaseURL string `json:"baseUrl,omitempty"`
	// Application Admin URL.
	// +optional
	AdminURL string `json:"adminUrl,omitempty"`
	// Application root URL.
	// +optional
	RootURL string `json:"rootUrl,omitempty"`
	// Client description.
	// +optional
	Description string `json:"description,omitempty"`
	// Default Client roles.
	// +optional
	DefaultRoles []string `json:"defaultRoles,omitempty"`
	// A list of valid Redirection URLs.
	// +optional
	RedirectUris []string `json:"redirectUris,omitempty"`
	// A list of valid Web Origins.
	// +optional
	WebOrigins []string `json:"webOrigins,omitempty"`
	// Not Before setting.
	// +optional
	NotBefore int `json:"notBefore,omitempty"`
	// True if a client supports only Bearer Tokens.
	// +optional
	BearerOnly bool `json:"bearerOnly,omitempty"`
	// True if Consent Screen is required.
	// +optional
	ConsentRequired bool `json:"consentRequired,omitempty"`
	// True if Standard flow is enabled.
	// +optional
	StandardFlowEnabled bool `json:"standardFlowEnabled"`
	// True if Implicit flow is enabled.
	// +optional
	ImplicitFlowEnabled bool `json:"implicitFlowEnabled"`
	// True if Direct Grant is enabled.
	// +optional
	DirectAccessGrantsEnabled bool `json:"directAccessGrantsEnabled"`
	// True if Service Accounts are enabled.
	// +optional
	ServiceAccountsEnabled bool `json:"serviceAccountsEnabled,omitempty"`
	// True if this is a public Client.
	// +optional
	PublicClient bool `json:"publicClient"`
	// True if this client supports Front Channel logout.
	// +optional
	FrontchannelLogout bool `json:"frontchannelLogout,omitempty"`
	// Protocol used for this Client.
	// +optional
	Protocol string `json:"protocol,omitempty"`
	// Client Attributes.
	// +optional
	Attributes map[string]string `json:"attributes,omitempty"`
	// True if Full Scope is allowed.
	// +optional
	FullScopeAllowed *bool `json:"fullScopeAllowed,omitempty"`
	// Node registration timeout.
	// +optional
	NodeReRegistrationTimeout int `json:"nodeReRegistrationTimeout,omitempty"`
	// Protocol Mappers.
	// +optional
	ProtocolMappers []KeycloakProtocolMapper `json:"protocolMappers,omitempty"`
	// True to use a Template Config.
	// +optional
	UseTemplateConfig bool `json:"useTemplateConfig,omitempty"`
	// True to use Template Scope.
	// +optional
	UseTemplateScope bool `json:"useTemplateScope,omitempty"`
	// True to use Template Mappers.
	// +optional
	UseTemplateMappers bool `json:"useTemplateMappers,omitempty"`
	// Access options.
	// +optional
	Access map[string]bool `json:"access,omitempty"`
	// A list of optional client scopes. Optional client scopes are
	// applied when issuing tokens for this client, but only when they
	// are requested by the scope parameter in the OpenID Connect
	// authorization request.
	// +optional
	OptionalClientScopes []string `json:"optionalClientScopes,omitempty"`
	// A list of default client scopes. Default client scopes are
	// always applied when issuing OpenID Connect tokens or SAML
	// assertions for this client.
	// +optional
	DefaultClientScopes []string `json:"defaultClientScopes,omitempty"`
	// True if fine-grained authorization support is enabled for this client.
	// +optional
	AuthorizationServicesEnabled bool `json:"authorizationServicesEnabled,omitempty"`
	// Authorization settings for this resource server.
	// +optional
	AuthorizationSettings *KeycloakResourceServer `json:"authorizationSettings,omitempty"`
	// Authentication Flow Binding Overrides.
	// +optional
	AuthenticationFlowBindingOverrides map[string]string `json:"authenticationFlowBindingOverrides,omitempty"`
}

func (*KeycloakAPIClient) DeepCopy

func (in *KeycloakAPIClient) DeepCopy() *KeycloakAPIClient

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

func (*KeycloakAPIClient) DeepCopyInto

func (in *KeycloakAPIClient) DeepCopyInto(out *KeycloakAPIClient)

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

type KeycloakAPIRealm

type KeycloakAPIRealm struct {
	// +kubebuilder:validation:Required
	// +optional
	ID string `json:"id,omitempty"`
	// Realm name.
	// +kubebuilder:validation:Required
	Realm string `json:"realm"`
	// Realm enabled flag.
	// +optional
	Enabled bool `json:"enabled"`
	// Client scopes
	// +optional
	ClientScopes []KeycloakClientScope `json:"clientScopes,omitempty"`

	// Default role
	// +optional
	DefaultRole *RoleRepresentation `json:"defaultRole,omitempty"`
}

func (*KeycloakAPIRealm) DeepCopy

func (in *KeycloakAPIRealm) DeepCopy() *KeycloakAPIRealm

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

func (*KeycloakAPIRealm) DeepCopyInto

func (in *KeycloakAPIRealm) DeepCopyInto(out *KeycloakAPIRealm)

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

type KeycloakAPIUser

type KeycloakAPIUser struct {
	// User ID.
	ID string `json:"id,omitempty"`
	// User Name.
	UserName string `json:"username,omitempty"`
	// First Name.
	FirstName string `json:"firstName,omitempty"`
	// Last Name.
	LastName string `json:"lastName,omitempty"`
	// Email.
	Email string `json:"email,omitempty"`
	// True if email has already been verified.
	EmailVerified bool `json:"emailVerified,omitempty"`
	// User enabled flag.
	Enabled bool `json:"enabled,omitempty"`
	// A set of Realm Roles.
	RealmRoles []string `json:"realmRoles,omitempty"`
	// A set of Client Roles.
	ClientRoles map[string][]string `json:"clientRoles,omitempty"`
	// A set of Required Actions.
	RequiredActions []string `json:"requiredActions,omitempty"`
	// A set of Groups.
	Groups []string `json:"groups,omitempty"`
	// A set of Federated Identities.
	FederatedIdentities []FederatedIdentity `json:"federatedIdentities,omitempty"`
	// A set of Credentials.
	Credentials []KeycloakCredential `json:"credentials,omitempty"`
	// A set of Attributes.
	Attributes map[string][]string `json:"attributes,omitempty"`
}

func (*KeycloakAPIUser) DeepCopy

func (in *KeycloakAPIUser) DeepCopy() *KeycloakAPIUser

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

func (*KeycloakAPIUser) DeepCopyInto

func (in *KeycloakAPIUser) DeepCopyInto(out *KeycloakAPIUser)

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

type KeycloakClient

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

	Spec   KeycloakClientSpec   `json:"spec,omitempty"`
	Status KeycloakClientStatus `json:"status,omitempty"`
}

KeycloakClient is the Schema for the keycloakclients API. +genclient +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:object:root=true

func (*KeycloakClient) DeepCopy

func (in *KeycloakClient) DeepCopy() *KeycloakClient

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

func (*KeycloakClient) DeepCopyInto

func (in *KeycloakClient) DeepCopyInto(out *KeycloakClient)

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

func (*KeycloakClient) DeepCopyObject

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

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

func (*KeycloakClient) DeleteFromStatusSecondaryResources

func (i *KeycloakClient) DeleteFromStatusSecondaryResources(kind string, resourceName string)

func (*KeycloakClient) UpdateStatusSecondaryResources

func (i *KeycloakClient) UpdateStatusSecondaryResources(kind string, resourceName string)

type KeycloakClientList

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

KeycloakClientList contains a list of KeycloakClient. +kubebuilder:object:root=true

func (*KeycloakClientList) DeepCopy

func (in *KeycloakClientList) DeepCopy() *KeycloakClientList

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

func (*KeycloakClientList) DeepCopyInto

func (in *KeycloakClientList) DeepCopyInto(out *KeycloakClientList)

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

func (*KeycloakClientList) DeepCopyObject

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

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

type KeycloakClientScope

type KeycloakClientScope struct {
	// +optional
	Attributes map[string]string `json:"attributes,omitempty"`
	// +optional
	Description string `json:"description,omitempty"`
	// +optional
	ID string `json:"id,omitempty"`
	// +optional
	Name string `json:"name,omitempty"`
	// +optional
	Protocol string `json:"protocol,omitempty"`
	// Protocol Mappers.
	// +optional
	ProtocolMappers []KeycloakProtocolMapper `json:"protocolMappers,omitempty"`
}

func (*KeycloakClientScope) DeepCopy

func (in *KeycloakClientScope) DeepCopy() *KeycloakClientScope

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

func (*KeycloakClientScope) DeepCopyInto

func (in *KeycloakClientScope) DeepCopyInto(out *KeycloakClientScope)

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

type KeycloakClientSpec

type KeycloakClientSpec struct {
	// Selector for looking up KeycloakRealm Custom Resources.
	// +kubebuilder:validation:Required
	RealmSelector *metav1.LabelSelector `json:"realmSelector"`
	// Keycloak Client REST object.
	// +kubebuilder:validation:Required
	Client *KeycloakAPIClient `json:"client"`
	// Client Roles
	// +optional
	// +listType=map
	// +listMapKey=name
	Roles []RoleRepresentation `json:"roles,omitempty"`
	// Scope Mappings
	// +optional
	ScopeMappings *MappingsRepresentation `json:"scopeMappings,omitempty"`
	// Service account realm roles for this client.
	// +optional
	ServiceAccountRealmRoles []string `json:"serviceAccountRealmRoles,omitempty"`
	// Service account client roles for this client.
	// +optional
	ServiceAccountClientRoles map[string][]string `json:"serviceAccountClientRoles,omitempty"`
}

KeycloakClientSpec defines the desired state of KeycloakClient. +k8s:openapi-gen=true

func (*KeycloakClientSpec) DeepCopy

func (in *KeycloakClientSpec) DeepCopy() *KeycloakClientSpec

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

func (*KeycloakClientSpec) DeepCopyInto

func (in *KeycloakClientSpec) DeepCopyInto(out *KeycloakClientSpec)

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

type KeycloakClientStatus

type KeycloakClientStatus struct {
	// Current phase of the operator.
	Phase StatusPhase `json:"phase"`
	// Human-readable message indicating details about current operator phase or error.
	Message string `json:"message"`
	// True if all resources are in a ready state and all work is done.
	Ready bool `json:"ready"`
	// A map of all the secondary resources types and names created for this CR. e.g "Deployment": [ "DeploymentName1", "DeploymentName2" ]
	SecondaryResources map[string][]string `json:"secondaryResources,omitempty"`
}

KeycloakClientStatus defines the observed state of KeycloakClient +k8s:openapi-gen=true

func (*KeycloakClientStatus) DeepCopy

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

func (*KeycloakClientStatus) DeepCopyInto

func (in *KeycloakClientStatus) DeepCopyInto(out *KeycloakClientStatus)

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

type KeycloakCredential

type KeycloakCredential struct {
	// Credential Type.
	Type string `json:"type,omitempty"`
	// Credential Value.
	Value string `json:"value,omitempty"`
	// True if this credential object is temporary.
	Temporary bool `json:"temporary,omitempty"`
}

func (*KeycloakCredential) DeepCopy

func (in *KeycloakCredential) DeepCopy() *KeycloakCredential

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

func (*KeycloakCredential) DeepCopyInto

func (in *KeycloakCredential) DeepCopyInto(out *KeycloakCredential)

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

type KeycloakExternal

type KeycloakExternal struct {
	// If set to true, this Keycloak will be treated as an external instance.
	// The unmanaged field also needs to be set to true if this field is true.
	Enabled bool `json:"enabled,omitempty"`
	// The URL to use for the keycloak admin API. Needs to be set if external is true.
	// +optional
	URL string `json:"url,omitempty"`
}

func (*KeycloakExternal) DeepCopy

func (in *KeycloakExternal) DeepCopy() *KeycloakExternal

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

func (*KeycloakExternal) DeepCopyInto

func (in *KeycloakExternal) DeepCopyInto(out *KeycloakExternal)

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

type KeycloakList

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

KeycloakList contains a list of Keycloak. +kubebuilder:object:root=true

func (*KeycloakList) DeepCopy

func (in *KeycloakList) DeepCopy() *KeycloakList

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

func (*KeycloakList) DeepCopyInto

func (in *KeycloakList) DeepCopyInto(out *KeycloakList)

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

func (*KeycloakList) DeepCopyObject

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

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

type KeycloakPolicy

type KeycloakPolicy struct {
	// Config.
	// +optional
	Config map[string]string `json:"config,omitempty"`
	// The decision strategy dictates how the policies associated with a given permission are evaluated and how
	// a final decision is obtained. 'Affirmative' means that at least one policy must evaluate to a positive
	// decision in order for the final decision to be also positive. 'Unanimous' means that all policies must
	// evaluate to a positive decision in order for the final decision to be also positive. 'Consensus' means
	// that the number of positive decisions must be greater than the number of negative decisions. If the number
	// of positive and negative is the same, the final decision will be negative.
	// +optional
	DecisionStrategy string `json:"decisionStrategy,omitempty"`
	// A description for this policy.
	// +optional
	Description string `json:"description,omitempty"`
	// ID.
	// +optional
	ID string `json:"id,omitempty"`
	// The logic dictates how the policy decision should be made. If 'Positive', the resulting effect
	// (permit or deny) obtained during the evaluation of this policy will be used to perform a decision.
	// If 'Negative', the resulting effect will be negated, in other words, a permit becomes a deny and vice-versa.
	// +optional
	Logic string `json:"logic,omitempty"`
	// The name of this policy.
	// +optional
	Name string `json:"name,omitempty"`
	// Owner.
	// +optional
	Owner string `json:"owner,omitempty"`
	// Policies.
	// +optional
	Policies []string `json:"policies,omitempty"`
	// Resources.
	// +optional
	Resources []string `json:"resources,omitempty"`
	// Resources Data.
	// +optional
	ResourcesData []KeycloakResource `json:"resourcesData,omitempty"`
	// Scopes.
	// +optional
	Scopes []string `json:"scopes,omitempty"`
	// Type.
	// +optional
	Type string `json:"type,omitempty"`
	// Scopes Data.
	// +optional
	ScopesData []apiextensionsv1.JSON `json:"scopesData,omitempty"`
}

https://www.keycloak.org/docs-api/12.0/rest-api/index.html#_policyrepresentation

func (*KeycloakPolicy) DeepCopy

func (in *KeycloakPolicy) DeepCopy() *KeycloakPolicy

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

func (*KeycloakPolicy) DeepCopyInto

func (in *KeycloakPolicy) DeepCopyInto(out *KeycloakPolicy)

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

type KeycloakProtocolMapper

type KeycloakProtocolMapper struct {
	// Protocol Mapper ID.
	// +optional
	ID string `json:"id,omitempty"`
	// Protocol Mapper Name.
	// +optional
	Name string `json:"name,omitempty"`
	// Protocol to use.
	// +optional
	Protocol string `json:"protocol,omitempty"`
	// Protocol Mapper to use
	// +optional
	ProtocolMapper string `json:"protocolMapper,omitempty"`
	// True if Consent Screen is required.
	// +optional
	ConsentRequired bool `json:"consentRequired,omitempty"`
	// Text to use for displaying Consent Screen.
	// +optional
	ConsentText string `json:"consentText,omitempty"`
	// Config options.
	// +optional
	Config map[string]string `json:"config,omitempty"`
}

func (*KeycloakProtocolMapper) DeepCopy

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

func (*KeycloakProtocolMapper) DeepCopyInto

func (in *KeycloakProtocolMapper) DeepCopyInto(out *KeycloakProtocolMapper)

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

type KeycloakRealm

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

	Spec   KeycloakRealmSpec   `json:"spec,omitempty"`
	Status KeycloakRealmStatus `json:"status,omitempty"`
}

KeycloakRealm is the Schema for the keycloakrealms API +genclient +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:object:root=true

func (*KeycloakRealm) DeepCopy

func (in *KeycloakRealm) DeepCopy() *KeycloakRealm

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

func (*KeycloakRealm) DeepCopyInto

func (in *KeycloakRealm) DeepCopyInto(out *KeycloakRealm)

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

func (*KeycloakRealm) DeepCopyObject

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

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

func (*KeycloakRealm) UpdateStatusSecondaryResources

func (i *KeycloakRealm) UpdateStatusSecondaryResources(kind string, resourceName string)

type KeycloakRealmList

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

KeycloakRealmList contains a list of KeycloakRealm +kubebuilder:object:root=true

func (*KeycloakRealmList) DeepCopy

func (in *KeycloakRealmList) DeepCopy() *KeycloakRealmList

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

func (*KeycloakRealmList) DeepCopyInto

func (in *KeycloakRealmList) DeepCopyInto(out *KeycloakRealmList)

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

func (*KeycloakRealmList) DeepCopyObject

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

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

type KeycloakRealmSpec

type KeycloakRealmSpec struct {
	// When set to true, this KeycloakRealm will be marked as unmanaged and not be managed by this operator.
	// It can then be used for targeting purposes.
	// +optional
	Unmanaged bool `json:"unmanaged,omitempty"`
	// Selector for looking up Keycloak Custom Resources.
	// +kubebuilder:validation:Required
	InstanceSelector *metav1.LabelSelector `json:"instanceSelector,omitempty"`
	// Keycloak Realm REST object.
	// +kubebuilder:validation:Required
	Realm *KeycloakAPIRealm `json:"realm"`
}

KeycloakRealmSpec defines the desired state of KeycloakRealm. +k8s:openapi-gen=true

func (*KeycloakRealmSpec) DeepCopy

func (in *KeycloakRealmSpec) DeepCopy() *KeycloakRealmSpec

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

func (*KeycloakRealmSpec) DeepCopyInto

func (in *KeycloakRealmSpec) DeepCopyInto(out *KeycloakRealmSpec)

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

type KeycloakRealmStatus

type KeycloakRealmStatus struct {
	// Current phase of the operator.
	Phase StatusPhase `json:"phase"`
	// Human-readable message indicating details about current operator phase or error.
	Message string `json:"message"`
	// True if all resources are in a ready state and all work is done.
	Ready bool `json:"ready"`
	// A map of all the secondary resources types and names created for this CR. e.g "Deployment": [ "DeploymentName1", "DeploymentName2" ]
	SecondaryResources map[string][]string `json:"secondaryResources,omitempty"`
	// TODO
	LoginURL string `json:"loginURL"`
}

KeycloakRealmStatus defines the observed state of KeycloakRealm +k8s:openapi-gen=true

func (*KeycloakRealmStatus) DeepCopy

func (in *KeycloakRealmStatus) DeepCopy() *KeycloakRealmStatus

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

func (*KeycloakRealmStatus) DeepCopyInto

func (in *KeycloakRealmStatus) DeepCopyInto(out *KeycloakRealmStatus)

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

type KeycloakResource

type KeycloakResource struct {
	// ID.
	// +optional
	ID string `json:"_id,omitempty"`
	// The attributes associated with the resource.
	// +optional
	Attributes map[string]string `json:"attributes,omitempty"`
	// A unique name for this resource. The name can be used to uniquely identify a resource, useful when
	// querying for a specific resource.
	// +optional
	DisplayName string `json:"displayName,omitempty"`
	// An URI pointing to an icon.
	// +optional
	IconURI string `json:"icon_uri,omitempty"`
	// A unique name for this resource. The name can be used to uniquely identify a resource, useful when
	// querying for a specific resource.
	// +optional
	Name string `json:"name,omitempty"`
	// True if the access to this resource can be managed by the resource owner.
	// +optional
	OwnerManagedAccess bool `json:"ownerManagedAccess,omitempty"`
	// The type of this resource. It can be used to group different resource instances with the same type.
	// +optional
	Type string `json:"type,omitempty"`
	// Set of URIs which are protected by resource.
	// +optional
	Uris []string `json:"uris,omitempty"`
	// The scopes associated with this resource.
	// +optional
	Scopes []apiextensionsv1.JSON `json:"scopes,omitempty"`
}

https://www.keycloak.org/docs-api/12.0/rest-api/index.html#_resourcerepresentation

func (*KeycloakResource) DeepCopy

func (in *KeycloakResource) DeepCopy() *KeycloakResource

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

func (*KeycloakResource) DeepCopyInto

func (in *KeycloakResource) DeepCopyInto(out *KeycloakResource)

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

type KeycloakResourceServer

type KeycloakResourceServer struct {
	// True if resources should be managed remotely by the resource server.
	// +optional
	AllowRemoteResourceManagement bool `json:"allowRemoteResourceManagement,omitempty"`
	// Client ID.
	// +optional
	ClientID string `json:"clientId,omitempty"`
	// The decision strategy dictates how permissions are evaluated and how a
	// final decision is obtained. 'Affirmative' means that at least one
	// permission must evaluate to a positive decision in order to grant access
	// to a resource and its scopes. 'Unanimous' means that all permissions must
	// evaluate to a positive decision in order for the final decision to be also positive.
	// +optional
	DecisionStrategy string `json:"decisionStrategy,omitempty"`
	// ID.
	// +optional
	ID string `json:"id,omitempty"`
	// Name.
	// +optional
	Name string `json:"name,omitempty"`
	// Policies.
	// +optional
	Policies []KeycloakPolicy `json:"policies,omitempty"`
	// The policy enforcement mode dictates how policies are enforced when evaluating authorization requests.
	// 'Enforcing' means requests are denied by default even when there is no policy associated with a given resource.
	// 'Permissive' means requests are allowed even when there is no policy associated with a given resource.
	// 'Disabled' completely disables the evaluation of policies and allows access to any resource.
	// +optional
	PolicyEnforcementMode string `json:"policyEnforcementMode,omitempty"`
	// Resources.
	// +optional
	Resources []KeycloakResource `json:"resources,omitempty"`
	// Authorization Scopes.
	// +optional
	Scopes []KeycloakScope `json:"scopes,omitempty"`
}

https://www.keycloak.org/docs-api/12.0/rest-api/index.html#_resourceserverrepresentation

func (*KeycloakResourceServer) DeepCopy

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

func (*KeycloakResourceServer) DeepCopyInto

func (in *KeycloakResourceServer) DeepCopyInto(out *KeycloakResourceServer)

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

type KeycloakScope

type KeycloakScope struct {
	// A unique name for this scope. The name can be used to uniquely identify a scope, useful when querying
	// for a specific scope.
	// +optional
	DisplayName string `json:"displayName,omitempty"`
	// An URI pointing to an icon.
	// +optional
	IconURI string `json:"iconUri,omitempty"`
	// ID.
	// +optional
	ID string `json:"id,omitempty"`
	// A unique name for this scope. The name can be used to uniquely identify a scope, useful when querying
	// for a specific scope.
	// +optional
	Name string `json:"name,omitempty"`
	// Policies.
	// +optional
	Policies []KeycloakPolicy `json:"policies,omitempty"`
	// Resources.
	// +optional
	Resources []KeycloakResource `json:"resources,omitempty"`
}

https://www.keycloak.org/docs-api/12.0/rest-api/index.html#_scoperepresentation

func (*KeycloakScope) DeepCopy

func (in *KeycloakScope) DeepCopy() *KeycloakScope

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

func (*KeycloakScope) DeepCopyInto

func (in *KeycloakScope) DeepCopyInto(out *KeycloakScope)

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

type KeycloakSpec

type KeycloakSpec struct {
	// When set to true, this Keycloak will be marked as unmanaged and will not be managed by this operator.
	// It can then be used for targeting purposes.
	// +optional
	// +kubebuilder:default:=true
	Unmanaged bool `json:"unmanaged,omitempty"`
	// Contains configuration for external Keycloak instances. Unmanaged needs to be set to true to use this.
	// +optional
	External KeycloakExternal `json:"external"`
}

KeycloakSpec defines the desired state of Keycloak. +k8s:openapi-gen=true

func (*KeycloakSpec) DeepCopy

func (in *KeycloakSpec) DeepCopy() *KeycloakSpec

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

func (*KeycloakSpec) DeepCopyInto

func (in *KeycloakSpec) DeepCopyInto(out *KeycloakSpec)

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

type KeycloakStatus

type KeycloakStatus struct {
	// Current phase of the operator.
	Phase StatusPhase `json:"phase"`
	// Human-readable message indicating details about current operator phase or error.
	Message string `json:"message"`
	// True if all resources are in a ready state and all work is done.
	Ready bool `json:"ready"`
	// A map of all the secondary resources types and names created for this CR. e.g "Deployment": [ "DeploymentName1", "DeploymentName2" ].
	SecondaryResources map[string][]string `json:"secondaryResources,omitempty"`
	// Version of Keycloak or RHSSO running on the cluster.
	Version string `json:"version"`
	// External URL for accessing Keycloak instance from outside the cluster. Is identical to external.URL if it's specified, otherwise is computed (e.g. from Ingress).
	ExternalURL string `json:"externalURL,omitempty"`
	// The secret where the admin credentials are to be found.
	CredentialSecret string `json:"credentialSecret"`
}

KeycloakStatus defines the observed state of Keycloak. +k8s:openapi-gen=true

func (*KeycloakStatus) DeepCopy

func (in *KeycloakStatus) DeepCopy() *KeycloakStatus

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

func (*KeycloakStatus) DeepCopyInto

func (in *KeycloakStatus) DeepCopyInto(out *KeycloakStatus)

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

type KeycloakUserRole

type KeycloakUserRole struct {
	ID          string `json:"id,omitempty"`
	Name        string `json:"name,omitempty"`
	Description string `json:"description,omitempty"`
	Composite   bool   `json:"composite,omitempty"`
	ClientRole  bool   `json:"clientRole,omitempty"`
	ContainerID string `json:"containerId,omitempty"`
}

func (*KeycloakUserRole) DeepCopy

func (in *KeycloakUserRole) DeepCopy() *KeycloakUserRole

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

func (*KeycloakUserRole) DeepCopyInto

func (in *KeycloakUserRole) DeepCopyInto(out *KeycloakUserRole)

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

type MappingsRepresentation

type MappingsRepresentation struct {
	// Client Mappings
	// +optional
	ClientMappings map[string]ClientMappingsRepresentation `json:"clientMappings,omitempty"`

	// Realm Mappings
	// +optional
	RealmMappings []RoleRepresentation `json:"realmMappings,omitempty"`
}

https://www.keycloak.org/docs-api/11.0/rest-api/index.html#_mappingsrepresentation

func (*MappingsRepresentation) DeepCopy

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

func (*MappingsRepresentation) DeepCopyInto

func (in *MappingsRepresentation) DeepCopyInto(out *MappingsRepresentation)

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

type RoleRepresentation

type RoleRepresentation struct {
	// Role Attributes
	// +optional
	Attributes map[string][]string `json:"attributes,omitempty"`

	// Client Role
	// +optional
	ClientRole *bool `json:"clientRole,omitempty"`

	// Composite
	// +optional
	Composite *bool `json:"composite,omitempty"`

	// Composites
	// +optional
	Composites *RoleRepresentationComposites `json:"composites,omitempty"`

	// Container Id
	// +optional
	ContainerID string `json:"containerId,omitempty"`

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

	// Id
	// +optional
	ID string `json:"id,omitempty"`

	// Name
	Name string `json:"name"`
}

https://www.keycloak.org/docs-api/11.0/rest-api/index.html#_rolerepresentation

func (*RoleRepresentation) DeepCopy

func (in *RoleRepresentation) DeepCopy() *RoleRepresentation

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

func (*RoleRepresentation) DeepCopyInto

func (in *RoleRepresentation) DeepCopyInto(out *RoleRepresentation)

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

type RoleRepresentationArray

type RoleRepresentationArray []RoleRepresentation

func (RoleRepresentationArray) DeepCopy

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

func (RoleRepresentationArray) DeepCopyInto

func (in RoleRepresentationArray) DeepCopyInto(out *RoleRepresentationArray)

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

type RoleRepresentationComposites

type RoleRepresentationComposites struct {
	// Map client => []role
	// +optional
	Client map[string][]string `json:"client,omitempty"`

	// Realm roles
	// +optional
	Realm []string `json:"realm,omitempty"`
}

https://www.keycloak.org/docs-api/11.0/rest-api/index.html#_rolerepresentation-composites

func (*RoleRepresentationComposites) DeepCopy

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

func (*RoleRepresentationComposites) DeepCopyInto

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

type RolesRepresentation

type RolesRepresentation struct {
	// Client Roles
	// +optional
	Client map[string]RoleRepresentationArray `json:"client,omitempty"`

	// Realm Roles
	// +optional
	Realm []RoleRepresentation `json:"realm,omitempty"`
}

https://www.keycloak.org/docs-api/11.0/rest-api/index.html#_rolesrepresentation

func (*RolesRepresentation) DeepCopy

func (in *RolesRepresentation) DeepCopy() *RolesRepresentation

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

func (*RolesRepresentation) DeepCopyInto

func (in *RolesRepresentation) DeepCopyInto(out *RolesRepresentation)

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

type ScopeMappingRepresentation

type ScopeMappingRepresentation struct {
	// Client
	// +optional
	Client string `json:"client,omitempty"`

	// Client Scope
	// +optional
	ClientScope string `json:"clientScope,omitempty"`

	// Roles
	// +optional
	Roles []string `json:"roles,omitempty"`

	// Self
	// +optional
	Self string `json:"self,omitempty"`
}

https://www.keycloak.org/docs-api/11.0/rest-api/index.html#_scopemappingrepresentation

func (*ScopeMappingRepresentation) DeepCopy

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

func (*ScopeMappingRepresentation) DeepCopyInto

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

type ScopeMappingRepresentationArray

type ScopeMappingRepresentationArray []ScopeMappingRepresentation

func (ScopeMappingRepresentationArray) DeepCopy

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

func (ScopeMappingRepresentationArray) DeepCopyInto

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

type StatusPhase

type StatusPhase string
var (
	NoPhase           StatusPhase
	PhaseReconciling  StatusPhase = "reconciling"
	PhaseFailing      StatusPhase = "failing"
	PhaseInitialising StatusPhase = "initialising"
)

type TokenResponse

type TokenResponse struct {
	// Token Response Access Token.
	// +optional
	AccessToken string `json:"access_token"`
	// Token Response Expired In setting.
	// +optional
	ExpiresIn int `json:"expires_in"`
	// Token Response Refresh Expires In setting.
	// +optional
	RefreshExpiresIn int `json:"refresh_expires_in"`
	// Token Response Refresh Token.
	// +optional
	RefreshToken string `json:"refresh_token"`
	// Token Response Token Type.
	// +optional
	TokenType string `json:"token_type"`
	// Token Response Not Before Policy setting.
	// +optional
	NotBeforePolicy int `json:"not-before-policy"`
	// Token Response Session State.
	// +optional
	SessionState string `json:"session_state"`
	// Token Response Error.
	// +optional
	Error string `json:"error"`
	// Token Response Error Description.
	// +optional
	ErrorDescription string `json:"error_description"`
}

func (*TokenResponse) DeepCopy

func (in *TokenResponse) DeepCopy() *TokenResponse

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

func (*TokenResponse) DeepCopyInto

func (in *TokenResponse) DeepCopyInto(out *TokenResponse)

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

Jump to

Keyboard shortcuts

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