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
@@ -30,7 +30,7 @@
"additionalProperties": false
},
"definition": {
"description": "Definition contains the Keycloak RealmRepresentation",
"description": "Definition contains the Keycloak RealmRepresentation. Set the realm name\nvia spec.realmName.",
"type": "object",
"x-kubernetes-preserve-unknown-fields": true
},
@@ -40,10 +40,6 @@
"name": {
"description": "Name of the resource",
"type": "string"
},
"namespace": {
"description": "Namespace of the resource (optional, defaults to the same namespace)",
"type": "string"
}
},
"required": [
@@ -53,7 +49,8 @@
"additionalProperties": false
},
"realmName": {
"description": "RealmName is the name of the realm in Keycloak (defaults to metadata.name)",
"description": "RealmName is the name of the realm in Keycloak. It is immutable once set:\nrenaming a realm in Keycloak is destructive and would orphan it.",
"minLength": 1,
"type": "string"
},
"smtpSecretRef": {
@@ -82,9 +79,20 @@
}
},
"required": [
"definition"
"definition",
"realmName"
],
"type": "object",
"x-kubernetes-validations": [
{
"message": "exactly one of instanceRef or clusterInstanceRef must be set",
"rule": "has(self.instanceRef) != has(self.clusterInstanceRef)"
},
{
"message": "spec.realmName is immutable once set",
"rule": "!has(oldSelf.realmName) || self.realmName == oldSelf.realmName"
}
],
"additionalProperties": false
},
"status": {
@@ -161,6 +169,10 @@
"type": "object",
"additionalProperties": false
},
"lastAppliedDefinitionHash": {
"description": "LastAppliedDefinitionHash is a hash of the last successfully applied\ndefinition (after SMTP credential merging). Keycloak masks\nsmtpServer.password on read, so this is the only way to detect that\nthe desired password changed and must be pushed.",
"type": "string"
},
"message": {
"description": "Message contains additional information",
"type": "string"
@@ -169,6 +181,10 @@
"description": "Ready indicates if the realm is ready",
"type": "boolean"
},
"realmName": {
"description": "RealmName is the resolved realm name in Keycloak",
"type": "string"
},
"resourcePath": {
"description": "ResourcePath is the Keycloak API path for this realm",
"type": "string"