This commit is contained in:
2026-09-28 16:28:35 +01:00
parent 666b1ff877
commit e27aa106fd
76 changed files with 5634 additions and 906 deletions
@@ -16,7 +16,8 @@
"description": "KeycloakClientSpec defines the desired state of KeycloakClient",
"properties": {
"clientId": {
"description": "ClientId is the client ID in Keycloak (defaults to metadata.name)",
"description": "ClientId is the client ID in Keycloak. Immutable once set.",
"minLength": 1,
"type": "string"
},
"clientSecretRef": {
@@ -61,7 +62,7 @@
"additionalProperties": false
},
"definition": {
"description": "Definition contains the Keycloak ClientRepresentation",
"description": "Definition contains the Keycloak ClientRepresentation. Set the client ID\nvia spec.clientId.",
"type": "object",
"x-kubernetes-preserve-unknown-fields": true
},
@@ -71,10 +72,6 @@
"name": {
"description": "Name of the resource",
"type": "string"
},
"namespace": {
"description": "Namespace of the resource (optional, defaults to the same namespace)",
"type": "string"
}
},
"required": [
@@ -84,12 +81,29 @@
"additionalProperties": false
}
},
"required": [
"clientId"
],
"type": "object",
"x-kubernetes-validations": [
{
"message": "exactly one of realmRef or clusterRealmRef must be set",
"rule": "has(self.realmRef) != has(self.clusterRealmRef)"
},
{
"message": "spec.clientId is immutable once set",
"rule": "!has(oldSelf.clientId) || self.clientId == oldSelf.clientId"
}
],
"additionalProperties": false
},
"status": {
"description": "KeycloakClientStatus defines the observed state of KeycloakClient",
"properties": {
"clientId": {
"description": "ClientID is the resolved client ID (clientId) in Keycloak",
"type": "string"
},
"clientUUID": {
"description": "ClientUUID is the Keycloak internal ID",
"type": "string"