From 501b7544dd7de3c94dde4bc9277c376b5ca2db98 Mon Sep 17 00:00:00 2001 From: Fabio Burzigotti Date: Thu, 9 Jan 2025 16:21:18 +0100 Subject: [PATCH] [issue-215] - Support latest Keycloak/Red Hat Build of keycloak --- README.md | 4 +- docs/Operator-Based-Provisioning.md | 4 +- .../wildfly-keycloak-saml-adapter/pom.xml | 2 +- global-test.properties | 2 +- provisioners/README.md | 2 +- provisioners/docs/operator-howto.md | 4 +- provisioners/pom.xml | 2 +- ...ycloakrealmimports.k8s.keycloak.org-v1.yml | 3095 ++++++++------- .../crds/keycloaks.k8s.keycloak.org-v1.yml | 3331 ++++++++++------- 9 files changed, 3608 insertions(+), 2838 deletions(-) diff --git a/README.md b/README.md index 76710f005..4dbacea82 100644 --- a/README.md +++ b/README.md @@ -154,8 +154,8 @@ Feel free to submit an issue in such a case, Intersmash welcomes community contr | Kafka provided by Strimzi | 3.8.0 | Provided by the Strimzi Operator `stable` channel | | Red Hat AMQ Streams | 3.8.0.redhat-00007 | Or _default_, as provided by the Red Hat AMQ Streams Operator `stable` channel | | | | | -| Keycloak | 24.0.3 | Or _default_, as provided by default by the Keycloak Operator `fast` channel | -| Red Hat Build of keycloak (RHBK) | 24.0.3.redhat-00004 | Or _latest_ in the `:24` tag image stream, see registry.redhat.io/rhbk/keycloak-rhel9 | +| Keycloak | 26.0.7 | Or _default_, as provided by default by the Keycloak Operator `fast` channel | +| Red Hat Build of keycloak (RHBK) | 26.0.7.redhat-00001 | Or _latest_ in the `:26.0` tag image stream, see registry.redhat.io/rhbk/keycloak-rhel9 | | Red Hat SSO - **DEPRECATED** | 7.6.z | The _latest_ in the `:7.6` tag image stream, see registry.redhat.io/rh-sso-7/sso76-openshift-rhel8:7.6 | | | | | | WildFly | 32.0.0.Final | | diff --git a/docs/Operator-Based-Provisioning.md b/docs/Operator-Based-Provisioning.md index 7bd56caed..fbcc865bd 100644 --- a/docs/Operator-Based-Provisioning.md +++ b/docs/Operator-Based-Provisioning.md @@ -15,8 +15,8 @@ extended easily, since Intersmash _provisioners_ are pluggable components. | Red Hat DataGrid | 8.5.2 | stable | https://github.com/infinispan/infinispan-operator | As available on the OpenShift OperatorHub | | Kafka provided by Strimzi | 0.44.0 | stable | https://github.com/strimzi/strimzi-kafka-operator | | | Red Hat AMQ Streams | 2.8.0-0 | stable | https://github.com/strimzi/strimzi-kafka-operator | As available on the OpenShift OperatorHub | -| Keycloak | 24.0.3 | fast | https://github.com/keycloak/keycloak/tree/main/operator | Latest Keycloak, based on Quarkus. Supports a limited number of CR (Keycloak and KeycloakRealmImport): more to come in upcoming versions | -| Red Hat Build of keycloak (RHBK) | 24.0.3-opr.1 | stable-v24 | https://github.com/keycloak/keycloak/tree/main/operator | Latest Keycloak, based on Quarkus. | +| Keycloak | 26.0.7 | fast | https://github.com/keycloak/keycloak/tree/main/operator | Latest Keycloak, based on Quarkus. Supports a limited number of CR (Keycloak and KeycloakRealmImport): more to come in upcoming versions | +| Red Hat Build of keycloak (RHBK) | 26.0.7-opr.1 | stable-v26 | https://github.com/keycloak/keycloak/tree/main/operator | Latest Keycloak, based on Quarkus. | | Red Hat SSO - **DEPRECATED** | 7.6.8-opr-001 | stable | https://github.com/keycloak/keycloak-operator | Latest Red Hat SSO Operator, based on legacy Keycloak | | WildFly | 1.0.0 | alpha | https://github.com/wildfly/wildfly-operator | As available on https://operatorhub.io/operator/wildfly | | Red Hat JBoss EAP | 3.0.0 | stable | https://github.com/wildfly/wildfly-operator | As available from the OpenShift OperatorHub | diff --git a/examples/wildfly-keycloak-saml-adapter/pom.xml b/examples/wildfly-keycloak-saml-adapter/pom.xml index f84c71f22..bb4defb30 100644 --- a/examples/wildfly-keycloak-saml-adapter/pom.xml +++ b/examples/wildfly-keycloak-saml-adapter/pom.xml @@ -40,7 +40,7 @@ org.keycloak keycloak-saml-adapter-galleon-pack - 22.0.5 + 26.0.7 diff --git a/global-test.properties b/global-test.properties index 16695ecfb..79ce725b2 100644 --- a/global-test.properties +++ b/global-test.properties @@ -31,7 +31,7 @@ intersmash.activemq.operators.index_image=quay.io/jbossqe-eap/intersmash-activem intersmash.activemq.operators.package_manifest=activemq-artemis-operator intersmash.activemq.operators.channel=upstream -intersmash.keycloak.image=quay.io/keycloak/keycloak:latest +intersmash.keycloak.image=quay.io/keycloak/keycloak:26.0.7 intersmash.keycloak.operators.catalog_source=community-operators intersmash.keycloak.operators.channel=fast diff --git a/provisioners/README.md b/provisioners/README.md index bf1fa97ec..d4ef45ea9 100644 --- a/provisioners/README.md +++ b/provisioners/README.md @@ -218,7 +218,7 @@ a given service on cloud environments via APIs that leverage the [Operator Framework](https://github.com/operator-framework). Operator-based provisioners implement a common contract and high level behavior which is defined by Intersmash's, abstract class, _OperatorProvisioner_. [Operator provisioning How-to](docs/operator-howto.md), describes the steps needed to create a new operator-based provisioner. -[KeycloakOperatorProvisionerFactory](src/main/java/org/jboss/intersmash/provision/openshift/KeycloakOperatorProvisionerFactory.java) provides a reference to a _Provisioner_ and _Application_ implementing this feature. +[KeycloakOperatorProvisionerFactory](src/main/java/org/jboss/intersmash/provision/operator/KeycloakOperatorProvisionerFactory.java) provides a reference to a _Provisioner_ and _Application_ implementing this feature. A list of operator based provisioners [here](../docs/Operator-Based-Provisioning.md) diff --git a/provisioners/docs/operator-howto.md b/provisioners/docs/operator-howto.md index cd6c42fe7..c64c234fb 100644 --- a/provisioners/docs/operator-howto.md +++ b/provisioners/docs/operator-howto.md @@ -7,7 +7,7 @@ Kubernetes Client Java Generator Maven plugin, starting from a given operator CR This means that generated sources are not under version control and a build is needed in order to use or to inspect them. This guide will demonstrate the initial approach and will use the Keycloak operator as an -example of a operator based provisioner. +example for implementing an operator based provisioner. ## Implementation @@ -32,7 +32,7 @@ Put all of this collected info into the Intersmash issue which is tracking the o #### Example Outcome * sources: https://github.com/keycloak/keycloak/tree/main/operator -* CRDs: https://github.com/keycloak/keycloak-k8s-resources/tree/22.0.4/kubernetes +* CRDs: https://github.com/keycloak/keycloak-k8s-resources/tree/26.0.7/kubernetes * documentation: https://www.keycloak.org/guides#operator * operator marketplace id = `keycloak-operator` * provided CRs: [`keycloaks.k8s.keycloak.org`, `keycloakrealmimports.k8s.keycloak.org`] diff --git a/provisioners/pom.xml b/provisioners/pom.xml index ebd2cc184..55b4e86dc 100644 --- a/provisioners/pom.xml +++ b/provisioners/pom.xml @@ -15,7 +15,7 @@ ${basedir}/log/test-logs - 19.0.1 + 26.0.3 ${project.parent.basedir}/ide-config diff --git a/provisioners/src/main/resources/crds/keycloakrealmimports.k8s.keycloak.org-v1.yml b/provisioners/src/main/resources/crds/keycloakrealmimports.k8s.keycloak.org-v1.yml index 95147d940..1499117f5 100644 --- a/provisioners/src/main/resources/crds/keycloakrealmimports.k8s.keycloak.org-v1.yml +++ b/provisioners/src/main/resources/crds/keycloakrealmimports.k8s.keycloak.org-v1.yml @@ -1,18 +1,18 @@ -# See https://raw.githubusercontent.com/keycloak/keycloak-k8s-resources/24.0.1/kubernetes/keycloakrealmimports.k8s.keycloak.org-v1.yml +# See https://raw.githubusercontent.com/keycloak/keycloak-k8s-resources/refs/tags/26.0.7/kubernetes/keycloakrealmimports.k8s.keycloak.org-v1.yml # Generated by Fabric8 CRDGenerator, manual edits might get overwritten! -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition +apiVersion: "apiextensions.k8s.io/v1" +kind: "CustomResourceDefinition" metadata: - name: keycloakrealmimports.k8s.keycloak.org + name: "keycloakrealmimports.k8s.keycloak.org" spec: - group: k8s.keycloak.org + group: "k8s.keycloak.org" names: - kind: KeycloakRealmImport - plural: keycloakrealmimports - singular: keycloakrealmimport - scope: Namespaced + kind: "KeycloakRealmImport" + plural: "keycloakrealmimports" + singular: "keycloakrealmimport" + scope: "Namespaced" versions: - - name: v2alpha1 + - name: "v2alpha1" schema: openAPIV3Schema: properties: @@ -21,456 +21,479 @@ spec: keycloakCRName: description: "The name of the Keycloak CR to reference, in the same\ \ namespace." - type: string + type: "string" + placeholders: + additionalProperties: + properties: + secret: + properties: + key: + type: "string" + name: + type: "string" + optional: + type: "boolean" + type: "object" + type: "object" + description: "Optionally set to replace ENV variable placeholders\ + \ in the realm import." + type: "object" realm: - description: The RealmRepresentation to import into Keycloak. + description: "The RealmRepresentation to import into Keycloak." properties: accessCodeLifespan: - type: integer + type: "integer" accessCodeLifespanLogin: - type: integer + type: "integer" accessCodeLifespanUserAction: - type: integer + type: "integer" accessTokenLifespan: - type: integer + type: "integer" accessTokenLifespanForImplicitFlow: - type: integer + type: "integer" accountTheme: - type: string + type: "string" actionTokenGeneratedByAdminLifespan: - type: integer + type: "integer" actionTokenGeneratedByUserLifespan: - type: integer + type: "integer" adminEventsDetailsEnabled: - type: boolean + type: "boolean" adminEventsEnabled: - type: boolean + type: "boolean" adminTheme: - type: string + type: "string" applicationScopeMappings: additionalProperties: items: properties: client: - type: string + type: "string" clientScope: - type: string + type: "string" clientTemplate: - type: string + type: "string" roles: items: - type: string - type: array + type: "string" + type: "array" self: - type: string - type: object - type: array - type: object + type: "string" + type: "object" + type: "array" + type: "object" applications: items: properties: access: additionalProperties: - type: boolean - type: object + type: "boolean" + type: "object" adminUrl: - type: string + type: "string" alwaysDisplayInConsole: - type: boolean + type: "boolean" attributes: additionalProperties: - type: string - type: object + type: "string" + type: "object" authenticationFlowBindingOverrides: additionalProperties: - type: string - type: object + type: "string" + type: "object" authorizationServicesEnabled: - type: boolean + type: "boolean" authorizationSettings: properties: allowRemoteResourceManagement: - type: boolean + type: "boolean" clientId: - type: string + type: "string" decisionStrategy: enum: - - AFFIRMATIVE - - CONSENSUS - - UNANIMOUS - type: string + - "AFFIRMATIVE" + - "CONSENSUS" + - "UNANIMOUS" + type: "string" id: - type: string + type: "string" name: - type: string + type: "string" policies: items: properties: config: additionalProperties: - type: string - type: object + type: "string" + type: "object" decisionStrategy: enum: - - AFFIRMATIVE - - CONSENSUS - - UNANIMOUS - type: string + - "AFFIRMATIVE" + - "CONSENSUS" + - "UNANIMOUS" + type: "string" description: - type: string + type: "string" id: - type: string + type: "string" logic: enum: - - NEGATIVE - - POSITIVE - type: string + - "NEGATIVE" + - "POSITIVE" + type: "string" name: - type: string + type: "string" owner: - type: string + type: "string" policies: items: - type: string - type: array + type: "string" + type: "array" resources: items: - type: string - type: array + type: "string" + type: "array" resourcesData: items: properties: _id: - type: string + type: "string" attributes: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" displayName: - type: string + type: "string" icon_uri: - type: string + type: "string" name: - type: string + type: "string" owner: properties: id: - type: string + type: "string" name: - type: string - type: object + type: "string" + type: "object" ownerManagedAccess: - type: boolean + type: "boolean" scopes: items: properties: displayName: - type: string + type: "string" iconUri: - type: string + type: "string" id: - type: string + type: "string" name: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" type: - type: string + type: "string" uris: items: - type: string - type: array - type: object - type: array + type: "string" + type: "array" + type: "object" + type: "array" scopes: items: - type: string - type: array + type: "string" + type: "array" scopesData: items: properties: displayName: - type: string + type: "string" iconUri: - type: string + type: "string" id: - type: string + type: "string" name: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" type: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" policyEnforcementMode: enum: - - DISABLED - - ENFORCING - - PERMISSIVE - type: string + - "DISABLED" + - "ENFORCING" + - "PERMISSIVE" + type: "string" resources: items: properties: _id: - type: string + type: "string" attributes: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" displayName: - type: string + type: "string" icon_uri: - type: string + type: "string" name: - type: string + type: "string" owner: properties: id: - type: string + type: "string" name: - type: string - type: object + type: "string" + type: "object" ownerManagedAccess: - type: boolean + type: "boolean" scopes: items: properties: displayName: - type: string + type: "string" iconUri: - type: string + type: "string" id: - type: string + type: "string" name: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" type: - type: string + type: "string" uris: items: - type: string - type: array - type: object - type: array + type: "string" + type: "array" + type: "object" + type: "array" scopes: items: properties: displayName: - type: string + type: "string" iconUri: - type: string + type: "string" id: - type: string + type: "string" name: - type: string - type: object - type: array - type: object + type: "string" + type: "object" + type: "array" + type: "object" baseUrl: - type: string + type: "string" bearerOnly: - type: boolean + type: "boolean" claims: properties: address: - type: boolean + type: "boolean" email: - type: boolean + type: "boolean" gender: - type: boolean + type: "boolean" locale: - type: boolean + type: "boolean" name: - type: boolean + type: "boolean" phone: - type: boolean + type: "boolean" picture: - type: boolean + type: "boolean" profile: - type: boolean + type: "boolean" username: - type: boolean + type: "boolean" website: - type: boolean - type: object + type: "boolean" + type: "object" clientAuthenticatorType: - type: string + type: "string" clientId: - type: string + type: "string" clientTemplate: - type: string + type: "string" consentRequired: - type: boolean + type: "boolean" defaultClientScopes: items: - type: string - type: array + type: "string" + type: "array" defaultRoles: items: - type: string - type: array + type: "string" + type: "array" description: - type: string + type: "string" directAccessGrantsEnabled: - type: boolean + type: "boolean" directGrantsOnly: - type: boolean + type: "boolean" enabled: - type: boolean + type: "boolean" frontchannelLogout: - type: boolean + type: "boolean" fullScopeAllowed: - type: boolean + type: "boolean" id: - type: string + type: "string" implicitFlowEnabled: - type: boolean + type: "boolean" name: - type: string + type: "string" nodeReRegistrationTimeout: - type: integer + type: "integer" notBefore: - type: integer + type: "integer" optionalClientScopes: items: - type: string - type: array + type: "string" + type: "array" origin: - type: string + type: "string" protocol: - type: string + type: "string" protocolMappers: items: properties: config: additionalProperties: - type: string - type: object + type: "string" + type: "object" consentRequired: - type: boolean + type: "boolean" consentText: - type: string + type: "string" id: - type: string + type: "string" name: - type: string + type: "string" protocol: - type: string + type: "string" protocolMapper: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" publicClient: - type: boolean + type: "boolean" redirectUris: items: - type: string - type: array + type: "string" + type: "array" registeredNodes: additionalProperties: - type: integer - type: object + type: "integer" + type: "object" registrationAccessToken: - type: string + type: "string" rootUrl: - type: string + type: "string" secret: - type: string + type: "string" serviceAccountsEnabled: - type: boolean + type: "boolean" standardFlowEnabled: - type: boolean + type: "boolean" surrogateAuthRequired: - type: boolean + type: "boolean" + type: + type: "string" useTemplateConfig: - type: boolean + type: "boolean" useTemplateMappers: - type: boolean + type: "boolean" useTemplateScope: - type: boolean + type: "boolean" webOrigins: items: - type: string - type: array - type: object - type: array + type: "string" + type: "array" + type: "object" + type: "array" attributes: additionalProperties: - type: string - type: object + type: "string" + type: "object" authenticationFlows: items: properties: alias: - type: string + type: "string" authenticationExecutions: items: properties: authenticator: - type: string + type: "string" authenticatorConfig: - type: string + type: "string" authenticatorFlow: - type: boolean + type: "boolean" autheticatorFlow: - type: boolean + type: "boolean" flowAlias: - type: string + type: "string" priority: - type: integer + type: "integer" requirement: - type: string + type: "string" userSetupAllowed: - type: boolean - type: object - type: array + type: "boolean" + type: "object" + type: "array" builtIn: - type: boolean + type: "boolean" description: - type: string + type: "string" id: - type: string + type: "string" providerId: - type: string + type: "string" topLevel: - type: boolean - type: object - type: array + type: "boolean" + type: "object" + type: "array" authenticatorConfig: items: properties: alias: - type: string + type: "string" config: additionalProperties: - type: string - type: object + type: "string" + type: "object" id: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" browserFlow: - type: string + type: "string" browserSecurityHeaders: additionalProperties: - type: string - type: object + type: "string" + type: "object" bruteForceProtected: - type: boolean + type: "boolean" + bruteForceStrategy: + enum: + - "LINEAR" + - "MULTIPLE" + type: "string" certificate: - type: string + type: "string" clientAuthenticationFlow: - type: string + type: "string" clientOfflineSessionIdleTimeout: - type: integer + type: "integer" clientOfflineSessionMaxLifespan: - type: integer + type: "integer" clientPolicies: x-kubernetes-preserve-unknown-fields: true clientProfiles: @@ -480,431 +503,433 @@ spec: items: properties: client: - type: string + type: "string" clientScope: - type: string + type: "string" clientTemplate: - type: string + type: "string" roles: items: - type: string - type: array + type: "string" + type: "array" self: - type: string - type: object - type: array - type: object + type: "string" + type: "object" + type: "array" + type: "object" clientScopes: items: properties: attributes: additionalProperties: - type: string - type: object + type: "string" + type: "object" description: - type: string + type: "string" id: - type: string + type: "string" name: - type: string + type: "string" protocol: - type: string + type: "string" protocolMappers: items: properties: config: additionalProperties: - type: string - type: object + type: "string" + type: "object" consentRequired: - type: boolean + type: "boolean" consentText: - type: string + type: "string" id: - type: string + type: "string" name: - type: string + type: "string" protocol: - type: string + type: "string" protocolMapper: - type: string - type: object - type: array - type: object - type: array + type: "string" + type: "object" + type: "array" + type: "object" + type: "array" clientSessionIdleTimeout: - type: integer + type: "integer" clientSessionMaxLifespan: - type: integer + type: "integer" clientTemplates: items: properties: attributes: additionalProperties: - type: string - type: object + type: "string" + type: "object" bearerOnly: - type: boolean + type: "boolean" consentRequired: - type: boolean + type: "boolean" description: - type: string + type: "string" directAccessGrantsEnabled: - type: boolean + type: "boolean" frontchannelLogout: - type: boolean + type: "boolean" fullScopeAllowed: - type: boolean + type: "boolean" id: - type: string + type: "string" implicitFlowEnabled: - type: boolean + type: "boolean" name: - type: string + type: "string" protocol: - type: string + type: "string" protocolMappers: items: properties: config: additionalProperties: - type: string - type: object + type: "string" + type: "object" consentRequired: - type: boolean + type: "boolean" consentText: - type: string + type: "string" id: - type: string + type: "string" name: - type: string + type: "string" protocol: - type: string + type: "string" protocolMapper: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" publicClient: - type: boolean + type: "boolean" serviceAccountsEnabled: - type: boolean + type: "boolean" standardFlowEnabled: - type: boolean - type: object - type: array + type: "boolean" + type: "object" + type: "array" clients: items: properties: access: additionalProperties: - type: boolean - type: object + type: "boolean" + type: "object" adminUrl: - type: string + type: "string" alwaysDisplayInConsole: - type: boolean + type: "boolean" attributes: additionalProperties: - type: string - type: object + type: "string" + type: "object" authenticationFlowBindingOverrides: additionalProperties: - type: string - type: object + type: "string" + type: "object" authorizationServicesEnabled: - type: boolean + type: "boolean" authorizationSettings: properties: allowRemoteResourceManagement: - type: boolean + type: "boolean" clientId: - type: string + type: "string" decisionStrategy: enum: - - AFFIRMATIVE - - CONSENSUS - - UNANIMOUS - type: string + - "AFFIRMATIVE" + - "CONSENSUS" + - "UNANIMOUS" + type: "string" id: - type: string + type: "string" name: - type: string + type: "string" policies: items: properties: config: additionalProperties: - type: string - type: object + type: "string" + type: "object" decisionStrategy: enum: - - AFFIRMATIVE - - CONSENSUS - - UNANIMOUS - type: string + - "AFFIRMATIVE" + - "CONSENSUS" + - "UNANIMOUS" + type: "string" description: - type: string + type: "string" id: - type: string + type: "string" logic: enum: - - NEGATIVE - - POSITIVE - type: string + - "NEGATIVE" + - "POSITIVE" + type: "string" name: - type: string + type: "string" owner: - type: string + type: "string" policies: items: - type: string - type: array + type: "string" + type: "array" resources: items: - type: string - type: array + type: "string" + type: "array" resourcesData: items: properties: _id: - type: string + type: "string" attributes: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" displayName: - type: string + type: "string" icon_uri: - type: string + type: "string" name: - type: string + type: "string" owner: properties: id: - type: string + type: "string" name: - type: string - type: object + type: "string" + type: "object" ownerManagedAccess: - type: boolean + type: "boolean" scopes: items: properties: displayName: - type: string + type: "string" iconUri: - type: string + type: "string" id: - type: string + type: "string" name: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" type: - type: string + type: "string" uris: items: - type: string - type: array - type: object - type: array + type: "string" + type: "array" + type: "object" + type: "array" scopes: items: - type: string - type: array + type: "string" + type: "array" scopesData: items: properties: displayName: - type: string + type: "string" iconUri: - type: string + type: "string" id: - type: string + type: "string" name: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" type: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" policyEnforcementMode: enum: - - DISABLED - - ENFORCING - - PERMISSIVE - type: string + - "DISABLED" + - "ENFORCING" + - "PERMISSIVE" + type: "string" resources: items: properties: _id: - type: string + type: "string" attributes: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" displayName: - type: string + type: "string" icon_uri: - type: string + type: "string" name: - type: string + type: "string" owner: properties: id: - type: string + type: "string" name: - type: string - type: object + type: "string" + type: "object" ownerManagedAccess: - type: boolean + type: "boolean" scopes: items: properties: displayName: - type: string + type: "string" iconUri: - type: string + type: "string" id: - type: string + type: "string" name: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" type: - type: string + type: "string" uris: items: - type: string - type: array - type: object - type: array + type: "string" + type: "array" + type: "object" + type: "array" scopes: items: properties: displayName: - type: string + type: "string" iconUri: - type: string + type: "string" id: - type: string + type: "string" name: - type: string - type: object - type: array - type: object + type: "string" + type: "object" + type: "array" + type: "object" baseUrl: - type: string + type: "string" bearerOnly: - type: boolean + type: "boolean" clientAuthenticatorType: - type: string + type: "string" clientId: - type: string + type: "string" clientTemplate: - type: string + type: "string" consentRequired: - type: boolean + type: "boolean" defaultClientScopes: items: - type: string - type: array + type: "string" + type: "array" defaultRoles: items: - type: string - type: array + type: "string" + type: "array" description: - type: string + type: "string" directAccessGrantsEnabled: - type: boolean + type: "boolean" directGrantsOnly: - type: boolean + type: "boolean" enabled: - type: boolean + type: "boolean" frontchannelLogout: - type: boolean + type: "boolean" fullScopeAllowed: - type: boolean + type: "boolean" id: - type: string + type: "string" implicitFlowEnabled: - type: boolean + type: "boolean" name: - type: string + type: "string" nodeReRegistrationTimeout: - type: integer + type: "integer" notBefore: - type: integer + type: "integer" optionalClientScopes: items: - type: string - type: array + type: "string" + type: "array" origin: - type: string + type: "string" protocol: - type: string + type: "string" protocolMappers: items: properties: config: additionalProperties: - type: string - type: object + type: "string" + type: "object" consentRequired: - type: boolean + type: "boolean" consentText: - type: string + type: "string" id: - type: string + type: "string" name: - type: string + type: "string" protocol: - type: string + type: "string" protocolMapper: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" publicClient: - type: boolean + type: "boolean" redirectUris: items: - type: string - type: array + type: "string" + type: "array" registeredNodes: additionalProperties: - type: integer - type: object + type: "integer" + type: "object" registrationAccessToken: - type: string + type: "string" rootUrl: - type: string + type: "string" secret: - type: string + type: "string" serviceAccountsEnabled: - type: boolean + type: "boolean" standardFlowEnabled: - type: boolean + type: "boolean" surrogateAuthRequired: - type: boolean + type: "boolean" + type: + type: "string" useTemplateConfig: - type: boolean + type: "boolean" useTemplateMappers: - type: boolean + type: "boolean" useTemplateScope: - type: boolean + type: "boolean" webOrigins: items: - type: string - type: array - type: object - type: array + type: "string" + type: "array" + type: "object" + type: "array" codeSecret: - type: string + type: "string" components: additionalProperties: items: @@ -912,15 +937,15 @@ spec: config: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" id: - type: string + type: "string" name: - type: string + type: "string" providerId: - type: string + type: "string" subComponents: additionalProperties: items: @@ -928,15 +953,15 @@ spec: config: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" id: - type: string + type: "string" name: - type: string + type: "string" providerId: - type: string + type: "string" subComponents: additionalProperties: items: @@ -944,15 +969,15 @@ spec: config: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" id: - type: string + type: "string" name: - type: string + type: "string" providerId: - type: string + type: "string" subComponents: additionalProperties: items: @@ -960,15 +985,15 @@ spec: config: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" id: - type: string + type: "string" name: - type: string + type: "string" providerId: - type: string + type: "string" subComponents: additionalProperties: items: @@ -976,15 +1001,15 @@ spec: config: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" id: - type: string + type: "string" name: - type: string + type: "string" providerId: - type: string + type: "string" subComponents: additionalProperties: items: @@ -992,15 +1017,15 @@ spec: config: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" id: - type: string + type: "string" name: - type: string + type: "string" providerId: - type: string + type: "string" subComponents: additionalProperties: items: @@ -1008,15 +1033,15 @@ spec: config: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" id: - type: string + type: "string" name: - type: string + type: "string" providerId: - type: string + type: "string" subComponents: additionalProperties: items: @@ -1024,15 +1049,15 @@ spec: config: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" id: - type: string + type: "string" name: - type: string + type: "string" providerId: - type: string + type: "string" subComponents: additionalProperties: items: @@ -1040,15 +1065,15 @@ spec: config: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" id: - type: string + type: "string" name: - type: string + type: "string" providerId: - type: string + type: "string" subComponents: additionalProperties: items: @@ -1056,15 +1081,15 @@ spec: config: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" id: - type: string + type: "string" name: - type: string + type: "string" providerId: - type: string + type: "string" subComponents: additionalProperties: items: @@ -1072,315 +1097,315 @@ spec: config: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" id: - type: string + type: "string" name: - type: string + type: "string" providerId: - type: string + type: "string" subType: - type: string - type: object - type: array - type: object + type: "string" + type: "object" + type: "array" + type: "object" subType: - type: string - type: object - type: array - type: object + type: "string" + type: "object" + type: "array" + type: "object" subType: - type: string - type: object - type: array - type: object + type: "string" + type: "object" + type: "array" + type: "object" subType: - type: string - type: object - type: array - type: object + type: "string" + type: "object" + type: "array" + type: "object" subType: - type: string - type: object - type: array - type: object + type: "string" + type: "object" + type: "array" + type: "object" subType: - type: string - type: object - type: array - type: object + type: "string" + type: "object" + type: "array" + type: "object" subType: - type: string - type: object - type: array - type: object + type: "string" + type: "object" + type: "array" + type: "object" subType: - type: string - type: object - type: array - type: object + type: "string" + type: "object" + type: "array" + type: "object" subType: - type: string - type: object - type: array - type: object + type: "string" + type: "object" + type: "array" + type: "object" subType: - type: string - type: object - type: array - type: object + type: "string" + type: "object" + type: "array" + type: "object" subType: - type: string - type: object - type: array - type: object + type: "string" + type: "object" + type: "array" + type: "object" defaultDefaultClientScopes: items: - type: string - type: array + type: "string" + type: "array" defaultGroups: items: - type: string - type: array + type: "string" + type: "array" defaultLocale: - type: string + type: "string" defaultOptionalClientScopes: items: - type: string - type: array + type: "string" + type: "array" defaultRole: properties: attributes: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" clientRole: - type: boolean + type: "boolean" composite: - type: boolean + type: "boolean" composites: properties: application: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" client: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" realm: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" containerId: - type: string + type: "string" description: - type: string + type: "string" id: - type: string + type: "string" name: - type: string + type: "string" scopeParamRequired: - type: boolean - type: object + type: "boolean" + type: "object" defaultRoles: items: - type: string - type: array + type: "string" + type: "array" defaultSignatureAlgorithm: - type: string + type: "string" directGrantFlow: - type: string + type: "string" displayName: - type: string + type: "string" displayNameHtml: - type: string + type: "string" dockerAuthenticationFlow: - type: string + type: "string" duplicateEmailsAllowed: - type: boolean + type: "boolean" editUsernameAllowed: - type: boolean + type: "boolean" emailTheme: - type: string + type: "string" enabled: - type: boolean + type: "boolean" enabledEventTypes: items: - type: string - type: array + type: "string" + type: "array" eventsEnabled: - type: boolean + type: "boolean" eventsExpiration: - type: integer + type: "integer" eventsListeners: items: - type: string - type: array + type: "string" + type: "array" failureFactor: - type: integer + type: "integer" federatedUsers: items: properties: access: additionalProperties: - type: boolean - type: object + type: "boolean" + type: "object" applicationRoles: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" attributes: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" clientConsents: items: properties: clientId: - type: string + type: "string" createdDate: - type: integer + type: "integer" grantedClientScopes: items: - type: string - type: array + type: "string" + type: "array" grantedRealmRoles: items: - type: string - type: array + type: "string" + type: "array" lastUpdatedDate: - type: integer - type: object - type: array + type: "integer" + type: "object" + type: "array" clientRoles: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" createdTimestamp: - type: integer + type: "integer" credentials: items: properties: algorithm: - type: string + type: "string" config: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" counter: - type: integer + type: "integer" createdDate: - type: integer + type: "integer" credentialData: - type: string + type: "string" device: - type: string + type: "string" digits: - type: integer + type: "integer" hashIterations: - type: integer + type: "integer" hashedSaltedValue: - type: string + type: "string" id: - type: string + type: "string" period: - type: integer + type: "integer" priority: - type: integer + type: "integer" salt: - type: string + type: "string" secretData: - type: string + type: "string" temporary: - type: boolean + type: "boolean" type: - type: string + type: "string" userLabel: - type: string + type: "string" value: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" disableableCredentialTypes: items: - type: string - type: array + type: "string" + type: "array" email: - type: string + type: "string" emailVerified: - type: boolean + type: "boolean" enabled: - type: boolean + type: "boolean" federatedIdentities: items: properties: identityProvider: - type: string + type: "string" userId: - type: string + type: "string" userName: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" federationLink: - type: string + type: "string" firstName: - type: string + type: "string" groups: items: - type: string - type: array + type: "string" + type: "array" id: - type: string + type: "string" lastName: - type: string + type: "string" notBefore: - type: integer + type: "integer" origin: - type: string + type: "string" realmRoles: items: - type: string - type: array + type: "string" + type: "array" requiredActions: items: - type: string - type: array + type: "string" + type: "array" self: - type: string + type: "string" serviceAccountClientId: - type: string + type: "string" socialLinks: items: properties: socialProvider: - type: string + type: "string" socialUserId: - type: string + type: "string" socialUsername: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" totp: - type: boolean + type: "boolean" userProfileMetadata: properties: attributes: @@ -1388,953 +1413,1237 @@ spec: properties: annotations: additionalProperties: - type: object - type: object + type: "object" + type: "object" displayName: - type: string + type: "string" group: - type: string + type: "string" multivalued: - type: boolean + type: "boolean" name: - type: string + type: "string" readOnly: - type: boolean + type: "boolean" required: - type: boolean + type: "boolean" validators: additionalProperties: additionalProperties: - type: object - type: object - type: object - type: object - type: array + type: "object" + type: "object" + type: "object" + type: "object" + type: "array" groups: items: properties: annotations: additionalProperties: - type: object - type: object + type: "object" + type: "object" displayDescription: - type: string + type: "string" displayHeader: - type: string + type: "string" name: - type: string - type: object - type: array - type: object + type: "string" + type: "object" + type: "array" + type: "object" username: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" firstBrokerLoginFlow: - type: string + type: "string" groups: items: properties: access: additionalProperties: - type: boolean - type: object + type: "boolean" + type: "object" attributes: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" clientRoles: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" id: - type: string + type: "string" name: - type: string + type: "string" parentId: - type: string + type: "string" path: - type: string + type: "string" realmRoles: items: - type: string - type: array + type: "string" + type: "array" subGroupCount: - type: integer + type: "integer" subGroups: items: properties: access: additionalProperties: - type: boolean - type: object + type: "boolean" + type: "object" attributes: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" clientRoles: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" id: - type: string + type: "string" name: - type: string + type: "string" parentId: - type: string + type: "string" path: - type: string + type: "string" realmRoles: items: - type: string - type: array + type: "string" + type: "array" subGroupCount: - type: integer + type: "integer" subGroups: items: properties: access: additionalProperties: - type: boolean - type: object + type: "boolean" + type: "object" attributes: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" clientRoles: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" id: - type: string + type: "string" name: - type: string + type: "string" parentId: - type: string + type: "string" path: - type: string + type: "string" realmRoles: items: - type: string - type: array + type: "string" + type: "array" subGroupCount: - type: integer + type: "integer" subGroups: items: properties: access: additionalProperties: - type: boolean - type: object + type: "boolean" + type: "object" attributes: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" clientRoles: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" id: - type: string + type: "string" name: - type: string + type: "string" parentId: - type: string + type: "string" path: - type: string + type: "string" realmRoles: items: - type: string - type: array + type: "string" + type: "array" subGroupCount: - type: integer + type: "integer" subGroups: items: properties: access: additionalProperties: - type: boolean - type: object + type: "boolean" + type: "object" attributes: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" clientRoles: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" id: - type: string + type: "string" name: - type: string + type: "string" parentId: - type: string + type: "string" path: - type: string + type: "string" realmRoles: items: - type: string - type: array + type: "string" + type: "array" subGroupCount: - type: integer + type: "integer" subGroups: items: properties: access: additionalProperties: - type: boolean - type: object + type: "boolean" + type: "object" attributes: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" clientRoles: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" id: - type: string + type: "string" name: - type: string + type: "string" parentId: - type: string + type: "string" path: - type: string + type: "string" realmRoles: items: - type: string - type: array + type: "string" + type: "array" subGroupCount: - type: integer + type: "integer" subGroups: items: properties: access: additionalProperties: - type: boolean - type: object + type: "boolean" + type: "object" attributes: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" clientRoles: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" id: - type: string + type: "string" name: - type: string + type: "string" parentId: - type: string + type: "string" path: - type: string + type: "string" realmRoles: items: - type: string - type: array + type: "string" + type: "array" subGroupCount: - type: integer + type: "integer" subGroups: items: properties: access: additionalProperties: - type: boolean - type: object + type: "boolean" + type: "object" attributes: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" clientRoles: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" id: - type: string + type: "string" name: - type: string + type: "string" parentId: - type: string + type: "string" path: - type: string + type: "string" realmRoles: items: - type: string - type: array + type: "string" + type: "array" subGroupCount: - type: integer + type: "integer" subGroups: items: properties: access: additionalProperties: - type: boolean - type: object + type: "boolean" + type: "object" attributes: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" clientRoles: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" id: - type: string + type: "string" name: - type: string + type: "string" parentId: - type: string + type: "string" path: - type: string + type: "string" realmRoles: items: - type: string - type: array + type: "string" + type: "array" subGroupCount: - type: integer + type: "integer" subGroups: items: properties: access: additionalProperties: - type: boolean - type: object + type: "boolean" + type: "object" attributes: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" clientRoles: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" id: - type: string + type: "string" name: - type: string + type: "string" parentId: - type: string + type: "string" path: - type: string + type: "string" realmRoles: items: - type: string - type: array + type: "string" + type: "array" subGroupCount: - type: integer + type: "integer" subGroups: items: properties: access: additionalProperties: - type: boolean - type: object + type: "boolean" + type: "object" attributes: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" clientRoles: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" id: - type: string + type: "string" name: - type: string + type: "string" parentId: - type: string + type: "string" path: - type: string + type: "string" realmRoles: items: - type: string - type: array + type: "string" + type: "array" subGroupCount: - type: integer - type: object - type: array - type: object - type: array - type: object - type: array - type: object - type: array - type: object - type: array - type: object - type: array - type: object - type: array - type: object - type: array - type: object - type: array - type: object - type: array - type: object - type: array + type: "integer" + type: "object" + type: "array" + type: "object" + type: "array" + type: "object" + type: "array" + type: "object" + type: "array" + type: "object" + type: "array" + type: "object" + type: "array" + type: "object" + type: "array" + type: "object" + type: "array" + type: "object" + type: "array" + type: "object" + type: "array" + type: "object" + type: "array" id: - type: string + type: "string" identityProviderMappers: items: properties: config: additionalProperties: - type: string - type: object + type: "string" + type: "object" id: - type: string + type: "string" identityProviderAlias: - type: string + type: "string" identityProviderMapper: - type: string + type: "string" name: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" identityProviders: items: properties: addReadTokenRoleOnCreate: - type: boolean + type: "boolean" alias: - type: string + type: "string" authenticateByDefault: - type: boolean + type: "boolean" config: additionalProperties: - type: string - type: object + type: "string" + type: "object" displayName: - type: string + type: "string" enabled: - type: boolean + type: "boolean" firstBrokerLoginFlowAlias: - type: string + type: "string" + hideOnLogin: + type: "boolean" internalId: - type: string + type: "string" linkOnly: - type: boolean + type: "boolean" + organizationId: + type: "string" postBrokerLoginFlowAlias: - type: string + type: "string" providerId: - type: string + type: "string" storeToken: - type: boolean + type: "boolean" trustEmail: - type: boolean + type: "boolean" updateProfileFirstLoginMode: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" internationalizationEnabled: - type: boolean + type: "boolean" keycloakVersion: - type: string + type: "string" localizationTexts: additionalProperties: additionalProperties: - type: string - type: object - type: object + type: "string" + type: "object" + type: "object" loginTheme: - type: string + type: "string" loginWithEmailAllowed: - type: boolean + type: "boolean" maxDeltaTimeSeconds: - type: integer + type: "integer" maxFailureWaitSeconds: - type: integer + type: "integer" maxTemporaryLockouts: - type: integer + type: "integer" minimumQuickLoginWaitSeconds: - type: integer + type: "integer" notBefore: - type: integer + type: "integer" oauth2DeviceCodeLifespan: - type: integer + type: "integer" oauth2DevicePollingInterval: - type: integer + type: "integer" oauthClients: items: properties: access: additionalProperties: - type: boolean - type: object + type: "boolean" + type: "object" adminUrl: - type: string + type: "string" alwaysDisplayInConsole: - type: boolean + type: "boolean" attributes: additionalProperties: - type: string - type: object + type: "string" + type: "object" authenticationFlowBindingOverrides: additionalProperties: - type: string - type: object + type: "string" + type: "object" authorizationServicesEnabled: - type: boolean + type: "boolean" authorizationSettings: properties: allowRemoteResourceManagement: - type: boolean + type: "boolean" clientId: - type: string + type: "string" decisionStrategy: enum: - - AFFIRMATIVE - - CONSENSUS - - UNANIMOUS - type: string + - "AFFIRMATIVE" + - "CONSENSUS" + - "UNANIMOUS" + type: "string" id: - type: string + type: "string" name: - type: string + type: "string" policies: items: properties: config: additionalProperties: - type: string - type: object + type: "string" + type: "object" decisionStrategy: enum: - - AFFIRMATIVE - - CONSENSUS - - UNANIMOUS - type: string + - "AFFIRMATIVE" + - "CONSENSUS" + - "UNANIMOUS" + type: "string" description: - type: string + type: "string" id: - type: string + type: "string" logic: enum: - - NEGATIVE - - POSITIVE - type: string + - "NEGATIVE" + - "POSITIVE" + type: "string" name: - type: string + type: "string" owner: - type: string + type: "string" policies: items: - type: string - type: array + type: "string" + type: "array" resources: items: - type: string - type: array + type: "string" + type: "array" resourcesData: items: properties: _id: - type: string + type: "string" attributes: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" displayName: - type: string + type: "string" icon_uri: - type: string + type: "string" name: - type: string + type: "string" owner: properties: id: - type: string + type: "string" name: - type: string - type: object + type: "string" + type: "object" ownerManagedAccess: - type: boolean + type: "boolean" scopes: items: properties: displayName: - type: string + type: "string" iconUri: - type: string + type: "string" id: - type: string + type: "string" name: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" type: - type: string + type: "string" uris: items: - type: string - type: array - type: object - type: array + type: "string" + type: "array" + type: "object" + type: "array" scopes: items: - type: string - type: array + type: "string" + type: "array" scopesData: items: properties: displayName: - type: string + type: "string" iconUri: - type: string + type: "string" id: - type: string + type: "string" name: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" type: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" policyEnforcementMode: enum: - - DISABLED - - ENFORCING - - PERMISSIVE - type: string + - "DISABLED" + - "ENFORCING" + - "PERMISSIVE" + type: "string" resources: items: properties: _id: - type: string + type: "string" attributes: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" displayName: - type: string + type: "string" icon_uri: - type: string + type: "string" name: - type: string + type: "string" owner: properties: id: - type: string + type: "string" name: - type: string - type: object + type: "string" + type: "object" ownerManagedAccess: - type: boolean + type: "boolean" scopes: items: properties: displayName: - type: string + type: "string" iconUri: - type: string + type: "string" id: - type: string + type: "string" name: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" type: - type: string + type: "string" uris: items: - type: string - type: array - type: object - type: array + type: "string" + type: "array" + type: "object" + type: "array" scopes: items: properties: displayName: - type: string + type: "string" iconUri: - type: string + type: "string" id: - type: string + type: "string" name: - type: string - type: object - type: array - type: object + type: "string" + type: "object" + type: "array" + type: "object" baseUrl: - type: string + type: "string" bearerOnly: - type: boolean + type: "boolean" claims: properties: address: - type: boolean + type: "boolean" email: - type: boolean + type: "boolean" gender: - type: boolean + type: "boolean" locale: - type: boolean + type: "boolean" name: - type: boolean + type: "boolean" phone: - type: boolean + type: "boolean" picture: - type: boolean + type: "boolean" profile: - type: boolean + type: "boolean" username: - type: boolean + type: "boolean" website: - type: boolean - type: object + type: "boolean" + type: "object" clientAuthenticatorType: - type: string + type: "string" clientId: - type: string + type: "string" clientTemplate: - type: string + type: "string" consentRequired: - type: boolean + type: "boolean" defaultClientScopes: items: - type: string - type: array + type: "string" + type: "array" defaultRoles: items: - type: string - type: array + type: "string" + type: "array" description: - type: string + type: "string" directAccessGrantsEnabled: - type: boolean + type: "boolean" directGrantsOnly: - type: boolean + type: "boolean" enabled: - type: boolean + type: "boolean" frontchannelLogout: - type: boolean + type: "boolean" fullScopeAllowed: - type: boolean + type: "boolean" id: - type: string + type: "string" implicitFlowEnabled: - type: boolean + type: "boolean" name: - type: string + type: "string" nodeReRegistrationTimeout: - type: integer + type: "integer" notBefore: - type: integer + type: "integer" optionalClientScopes: items: - type: string - type: array + type: "string" + type: "array" origin: - type: string + type: "string" protocol: - type: string + type: "string" protocolMappers: items: properties: config: additionalProperties: - type: string - type: object + type: "string" + type: "object" consentRequired: - type: boolean + type: "boolean" consentText: - type: string + type: "string" id: - type: string + type: "string" name: - type: string + type: "string" protocol: - type: string + type: "string" protocolMapper: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" publicClient: - type: boolean + type: "boolean" redirectUris: items: - type: string - type: array + type: "string" + type: "array" registeredNodes: additionalProperties: - type: integer - type: object + type: "integer" + type: "object" registrationAccessToken: - type: string + type: "string" rootUrl: - type: string + type: "string" secret: - type: string + type: "string" serviceAccountsEnabled: - type: boolean + type: "boolean" standardFlowEnabled: - type: boolean + type: "boolean" surrogateAuthRequired: - type: boolean + type: "boolean" + type: + type: "string" useTemplateConfig: - type: boolean + type: "boolean" useTemplateMappers: - type: boolean + type: "boolean" useTemplateScope: - type: boolean + type: "boolean" webOrigins: items: - type: string - type: array - type: object - type: array + type: "string" + type: "array" + type: "object" + type: "array" offlineSessionIdleTimeout: - type: integer + type: "integer" offlineSessionMaxLifespan: - type: integer + type: "integer" offlineSessionMaxLifespanEnabled: - type: boolean + type: "boolean" + organizations: + items: + properties: + alias: + type: "string" + attributes: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + description: + type: "string" + domains: + items: + properties: + name: + type: "string" + verified: + type: "boolean" + type: "object" + type: "array" + enabled: + type: "boolean" + id: + type: "string" + identityProviders: + items: + properties: + addReadTokenRoleOnCreate: + type: "boolean" + alias: + type: "string" + authenticateByDefault: + type: "boolean" + config: + additionalProperties: + type: "string" + type: "object" + displayName: + type: "string" + enabled: + type: "boolean" + firstBrokerLoginFlowAlias: + type: "string" + hideOnLogin: + type: "boolean" + internalId: + type: "string" + linkOnly: + type: "boolean" + organizationId: + type: "string" + postBrokerLoginFlowAlias: + type: "string" + providerId: + type: "string" + storeToken: + type: "boolean" + trustEmail: + type: "boolean" + updateProfileFirstLoginMode: + type: "string" + type: "object" + type: "array" + members: + items: + properties: + access: + additionalProperties: + type: "boolean" + type: "object" + applicationRoles: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + attributes: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + clientConsents: + items: + properties: + clientId: + type: "string" + createdDate: + type: "integer" + grantedClientScopes: + items: + type: "string" + type: "array" + grantedRealmRoles: + items: + type: "string" + type: "array" + lastUpdatedDate: + type: "integer" + type: "object" + type: "array" + clientRoles: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + createdTimestamp: + type: "integer" + credentials: + items: + properties: + algorithm: + type: "string" + config: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + counter: + type: "integer" + createdDate: + type: "integer" + credentialData: + type: "string" + device: + type: "string" + digits: + type: "integer" + hashIterations: + type: "integer" + hashedSaltedValue: + type: "string" + id: + type: "string" + period: + type: "integer" + priority: + type: "integer" + salt: + type: "string" + secretData: + type: "string" + temporary: + type: "boolean" + type: + type: "string" + userLabel: + type: "string" + value: + type: "string" + type: "object" + type: "array" + disableableCredentialTypes: + items: + type: "string" + type: "array" + email: + type: "string" + emailVerified: + type: "boolean" + enabled: + type: "boolean" + federatedIdentities: + items: + properties: + identityProvider: + type: "string" + userId: + type: "string" + userName: + type: "string" + type: "object" + type: "array" + federationLink: + type: "string" + firstName: + type: "string" + groups: + items: + type: "string" + type: "array" + id: + type: "string" + lastName: + type: "string" + membershipType: + enum: + - "MANAGED" + - "UNMANAGED" + type: "string" + notBefore: + type: "integer" + origin: + type: "string" + realmRoles: + items: + type: "string" + type: "array" + requiredActions: + items: + type: "string" + type: "array" + self: + type: "string" + serviceAccountClientId: + type: "string" + socialLinks: + items: + properties: + socialProvider: + type: "string" + socialUserId: + type: "string" + socialUsername: + type: "string" + type: "object" + type: "array" + totp: + type: "boolean" + userProfileMetadata: + properties: + attributes: + items: + properties: + annotations: + additionalProperties: + type: "object" + type: "object" + displayName: + type: "string" + group: + type: "string" + multivalued: + type: "boolean" + name: + type: "string" + readOnly: + type: "boolean" + required: + type: "boolean" + validators: + additionalProperties: + additionalProperties: + type: "object" + type: "object" + type: "object" + type: "object" + type: "array" + groups: + items: + properties: + annotations: + additionalProperties: + type: "object" + type: "object" + displayDescription: + type: "string" + displayHeader: + type: "string" + name: + type: "string" + type: "object" + type: "array" + type: "object" + username: + type: "string" + type: "object" + type: "array" + name: + type: "string" + redirectUrl: + type: "string" + type: "object" + type: "array" + organizationsEnabled: + type: "boolean" otpPolicyAlgorithm: - type: string + type: "string" otpPolicyCodeReusable: - type: boolean + type: "boolean" otpPolicyDigits: - type: integer + type: "integer" otpPolicyInitialCounter: - type: integer + type: "integer" otpPolicyLookAheadWindow: - type: integer + type: "integer" otpPolicyPeriod: - type: integer + type: "integer" otpPolicyType: - type: string + type: "string" otpSupportedApplications: items: - type: string - type: array + type: "string" + type: "array" passwordCredentialGrantAllowed: - type: boolean + type: "boolean" passwordPolicy: - type: string + type: "string" permanentLockout: - type: boolean + type: "boolean" privateKey: - type: string + type: "string" protocolMappers: items: properties: config: additionalProperties: - type: string - type: object + type: "string" + type: "object" consentRequired: - type: boolean + type: "boolean" consentText: - type: string + type: "string" id: - type: string + type: "string" name: - type: string + type: "string" protocol: - type: string + type: "string" protocolMapper: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" publicKey: - type: string + type: "string" quickLoginCheckMilliSeconds: - type: integer + type: "integer" realm: - type: string - realmCacheEnabled: - type: boolean + type: "string" refreshTokenMaxReuse: - type: integer + type: "integer" registrationAllowed: - type: boolean + type: "boolean" registrationEmailAsUsername: - type: boolean + type: "boolean" registrationFlow: - type: string + type: "string" rememberMe: - type: boolean + type: "boolean" requiredActions: items: properties: alias: - type: string + type: "string" config: additionalProperties: - type: string - type: object + type: "string" + type: "object" defaultAction: - type: boolean + type: "boolean" enabled: - type: boolean + type: "boolean" name: - type: string + type: "string" priority: - type: integer + type: "integer" providerId: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" requiredCredentials: items: - type: string - type: array + type: "string" + type: "array" resetCredentialsFlow: - type: string + type: "string" resetPasswordAllowed: - type: boolean + type: "boolean" revokeRefreshToken: - type: boolean + type: "boolean" roles: properties: application: @@ -2344,45 +2653,45 @@ spec: attributes: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" clientRole: - type: boolean + type: "boolean" composite: - type: boolean + type: "boolean" composites: properties: application: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" client: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" realm: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" containerId: - type: string + type: "string" description: - type: string + type: "string" id: - type: string + type: "string" name: - type: string + type: "string" scopeParamRequired: - type: boolean - type: object - type: array - type: object + type: "boolean" + type: "object" + type: "array" + type: "object" client: additionalProperties: items: @@ -2390,330 +2699,328 @@ spec: attributes: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" clientRole: - type: boolean + type: "boolean" composite: - type: boolean + type: "boolean" composites: properties: application: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" client: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" realm: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" containerId: - type: string + type: "string" description: - type: string + type: "string" id: - type: string + type: "string" name: - type: string + type: "string" scopeParamRequired: - type: boolean - type: object - type: array - type: object + type: "boolean" + type: "object" + type: "array" + type: "object" realm: items: properties: attributes: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" clientRole: - type: boolean + type: "boolean" composite: - type: boolean + type: "boolean" composites: properties: application: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" client: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" realm: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" containerId: - type: string + type: "string" description: - type: string + type: "string" id: - type: string + type: "string" name: - type: string + type: "string" scopeParamRequired: - type: boolean - type: object - type: array - type: object + type: "boolean" + type: "object" + type: "array" + type: "object" scopeMappings: items: properties: client: - type: string + type: "string" clientScope: - type: string + type: "string" clientTemplate: - type: string + type: "string" roles: items: - type: string - type: array + type: "string" + type: "array" self: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" smtpServer: additionalProperties: - type: string - type: object + type: "string" + type: "object" social: - type: boolean + type: "boolean" socialProviders: additionalProperties: - type: string - type: object + type: "string" + type: "object" sslRequired: - type: string + type: "string" ssoSessionIdleTimeout: - type: integer + type: "integer" ssoSessionIdleTimeoutRememberMe: - type: integer + type: "integer" ssoSessionMaxLifespan: - type: integer + type: "integer" ssoSessionMaxLifespanRememberMe: - type: integer + type: "integer" supportedLocales: items: - type: string - type: array + type: "string" + type: "array" updateProfileOnInitialSocialLogin: - type: boolean - userCacheEnabled: - type: boolean + type: "boolean" userFederationMappers: items: properties: config: additionalProperties: - type: string - type: object + type: "string" + type: "object" federationMapperType: - type: string + type: "string" federationProviderDisplayName: - type: string + type: "string" id: - type: string + type: "string" name: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" userFederationProviders: items: properties: changedSyncPeriod: - type: integer + type: "integer" config: additionalProperties: - type: string - type: object + type: "string" + type: "object" displayName: - type: string + type: "string" fullSyncPeriod: - type: integer + type: "integer" id: - type: string + type: "string" lastSync: - type: integer + type: "integer" priority: - type: integer + type: "integer" providerName: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" userManagedAccessAllowed: - type: boolean + type: "boolean" users: items: properties: access: additionalProperties: - type: boolean - type: object + type: "boolean" + type: "object" applicationRoles: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" attributes: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" clientConsents: items: properties: clientId: - type: string + type: "string" createdDate: - type: integer + type: "integer" grantedClientScopes: items: - type: string - type: array + type: "string" + type: "array" grantedRealmRoles: items: - type: string - type: array + type: "string" + type: "array" lastUpdatedDate: - type: integer - type: object - type: array + type: "integer" + type: "object" + type: "array" clientRoles: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" createdTimestamp: - type: integer + type: "integer" credentials: items: properties: algorithm: - type: string + type: "string" config: additionalProperties: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" counter: - type: integer + type: "integer" createdDate: - type: integer + type: "integer" credentialData: - type: string + type: "string" device: - type: string + type: "string" digits: - type: integer + type: "integer" hashIterations: - type: integer + type: "integer" hashedSaltedValue: - type: string + type: "string" id: - type: string + type: "string" period: - type: integer + type: "integer" priority: - type: integer + type: "integer" salt: - type: string + type: "string" secretData: - type: string + type: "string" temporary: - type: boolean + type: "boolean" type: - type: string + type: "string" userLabel: - type: string + type: "string" value: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" disableableCredentialTypes: items: - type: string - type: array + type: "string" + type: "array" email: - type: string + type: "string" emailVerified: - type: boolean + type: "boolean" enabled: - type: boolean + type: "boolean" federatedIdentities: items: properties: identityProvider: - type: string + type: "string" userId: - type: string + type: "string" userName: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" federationLink: - type: string + type: "string" firstName: - type: string + type: "string" groups: items: - type: string - type: array + type: "string" + type: "array" id: - type: string + type: "string" lastName: - type: string + type: "string" notBefore: - type: integer + type: "integer" origin: - type: string + type: "string" realmRoles: items: - type: string - type: array + type: "string" + type: "array" requiredActions: items: - type: string - type: array + type: "string" + type: "array" self: - type: string + type: "string" serviceAccountClientId: - type: string + type: "string" socialLinks: items: properties: socialProvider: - type: string + type: "string" socialUserId: - type: string + type: "string" socialUsername: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" totp: - type: boolean + type: "boolean" userProfileMetadata: properties: attributes: @@ -2721,109 +3028,109 @@ spec: properties: annotations: additionalProperties: - type: object - type: object + type: "object" + type: "object" displayName: - type: string + type: "string" group: - type: string + type: "string" multivalued: - type: boolean + type: "boolean" name: - type: string + type: "string" readOnly: - type: boolean + type: "boolean" required: - type: boolean + type: "boolean" validators: additionalProperties: additionalProperties: - type: object - type: object - type: object - type: object - type: array + type: "object" + type: "object" + type: "object" + type: "object" + type: "array" groups: items: properties: annotations: additionalProperties: - type: object - type: object + type: "object" + type: "object" displayDescription: - type: string + type: "string" displayHeader: - type: string + type: "string" name: - type: string - type: object - type: array - type: object + type: "string" + type: "object" + type: "array" + type: "object" username: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" verifyEmail: - type: boolean + type: "boolean" waitIncrementSeconds: - type: integer + type: "integer" webAuthnPolicyAcceptableAaguids: items: - type: string - type: array + type: "string" + type: "array" webAuthnPolicyAttestationConveyancePreference: - type: string + type: "string" webAuthnPolicyAuthenticatorAttachment: - type: string + type: "string" webAuthnPolicyAvoidSameAuthenticatorRegister: - type: boolean + type: "boolean" webAuthnPolicyCreateTimeout: - type: integer + type: "integer" webAuthnPolicyExtraOrigins: items: - type: string - type: array + type: "string" + type: "array" webAuthnPolicyPasswordlessAcceptableAaguids: items: - type: string - type: array + type: "string" + type: "array" webAuthnPolicyPasswordlessAttestationConveyancePreference: - type: string + type: "string" webAuthnPolicyPasswordlessAuthenticatorAttachment: - type: string + type: "string" webAuthnPolicyPasswordlessAvoidSameAuthenticatorRegister: - type: boolean + type: "boolean" webAuthnPolicyPasswordlessCreateTimeout: - type: integer + type: "integer" webAuthnPolicyPasswordlessExtraOrigins: items: - type: string - type: array + type: "string" + type: "array" webAuthnPolicyPasswordlessRequireResidentKey: - type: string + type: "string" webAuthnPolicyPasswordlessRpEntityName: - type: string + type: "string" webAuthnPolicyPasswordlessRpId: - type: string + type: "string" webAuthnPolicyPasswordlessSignatureAlgorithms: items: - type: string - type: array + type: "string" + type: "array" webAuthnPolicyPasswordlessUserVerificationRequirement: - type: string + type: "string" webAuthnPolicyRequireResidentKey: - type: string + type: "string" webAuthnPolicyRpEntityName: - type: string + type: "string" webAuthnPolicyRpId: - type: string + type: "string" webAuthnPolicySignatureAlgorithms: items: - type: string - type: array + type: "string" + type: "array" webAuthnPolicyUserVerificationRequirement: - type: string - type: object + type: "string" + type: "object" resources: description: "Compute Resources required by Keycloak container. If\ \ not specified, the value is inherited from the Keycloak CR." @@ -2832,47 +3139,47 @@ spec: items: properties: name: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" limits: additionalProperties: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true - type: object + type: "object" requests: additionalProperties: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true - type: object - type: object + type: "object" + type: "object" required: - - keycloakCRName - - realm - type: object + - "keycloakCRName" + - "realm" + type: "object" status: properties: conditions: items: properties: lastTransitionTime: - type: string + type: "string" message: - type: string + type: "string" observedGeneration: - type: integer + type: "integer" status: - type: string + type: "string" type: - type: string - type: object - type: array - type: object - type: object + type: "string" + type: "object" + type: "array" + type: "object" + type: "object" served: true storage: true subresources: diff --git a/provisioners/src/main/resources/crds/keycloaks.k8s.keycloak.org-v1.yml b/provisioners/src/main/resources/crds/keycloaks.k8s.keycloak.org-v1.yml index 08e63d9ba..f9bed40c8 100644 --- a/provisioners/src/main/resources/crds/keycloaks.k8s.keycloak.org-v1.yml +++ b/provisioners/src/main/resources/crds/keycloaks.k8s.keycloak.org-v1.yml @@ -1,20 +1,20 @@ -# See https://raw.githubusercontent.com/keycloak/keycloak-k8s-resources/24.0.1/kubernetes/keycloakrealmimports.k8s.keycloak.org-v1.yml +# See https://raw.githubusercontent.com/keycloak/keycloak-k8s-resources/refs/tags/26.0.7/kubernetes/keycloaks.k8s.keycloak.org-v1.yml # Generated by Fabric8 CRDGenerator, manual edits might get overwritten! -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition +apiVersion: "apiextensions.k8s.io/v1" +kind: "CustomResourceDefinition" metadata: - name: keycloaks.k8s.keycloak.org + name: "keycloaks.k8s.keycloak.org" spec: - group: k8s.keycloak.org + group: "k8s.keycloak.org" names: - kind: Keycloak - plural: keycloaks + kind: "Keycloak" + plural: "keycloaks" shortNames: - - kc - singular: keycloak - scope: Namespaced + - "kc" + singular: "keycloak" + scope: "Namespaced" versions: - - name: v2alpha1 + - name: "v2alpha1" schema: openAPIV3Schema: properties: @@ -27,162 +27,201 @@ spec: items: properties: name: - type: string + type: "string" secret: properties: key: - type: string + type: "string" name: - type: string + type: "string" optional: - type: boolean - type: object + type: "boolean" + type: "object" value: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" + bootstrapAdmin: + description: "In this section you can configure Keycloak's bootstrap\ + \ admin - will be used only for inital cluster creation." + properties: + service: + description: "Configures the bootstrap admin service account" + properties: + secret: + description: "Name of the Secret that contains the client-id\ + \ and client-secret keys" + type: "string" + type: "object" + user: + description: "Configures the bootstrap admin user" + properties: + secret: + description: "Name of the Secret that contains the username\ + \ and password keys" + type: "string" + type: "object" + type: "object" cache: - description: In this section you can configure Keycloak's cache + description: "In this section you can configure Keycloak's cache" properties: configMapFile: properties: key: - type: string + type: "string" name: - type: string + type: "string" optional: - type: boolean - type: object - type: object + type: "boolean" + type: "object" + type: "object" db: - description: In this section you can find all properties related to - connect to a database. + description: "In this section you can find all properties related\ + \ to connect to a database." properties: database: description: "Sets the database name of the default JDBC URL of\ \ the chosen vendor. If the `url` option is set, this option\ \ is ignored." - type: string + type: "string" host: description: "Sets the hostname of the default JDBC URL of the\ \ chosen vendor. If the `url` option is set, this option is\ \ ignored." - type: string + type: "string" passwordSecret: - description: The reference to a secret holding the password of - the database user. + description: "The reference to a secret holding the password of\ + \ the database user." properties: key: - type: string + type: "string" name: - type: string + type: "string" optional: - type: boolean - type: object + type: "boolean" + type: "object" poolInitialSize: - description: The initial size of the connection pool. - type: integer + description: "The initial size of the connection pool." + type: "integer" poolMaxSize: - description: The maximum size of the connection pool. - type: integer + description: "The maximum size of the connection pool." + type: "integer" poolMinSize: - description: The minimal size of the connection pool. - type: integer + description: "The minimal size of the connection pool." + type: "integer" port: description: "Sets the port of the default JDBC URL of the chosen\ \ vendor. If the `url` option is set, this option is ignored." - type: integer + type: "integer" schema: - description: The database schema to be used. - type: string + description: "The database schema to be used." + type: "string" url: description: "The full database JDBC URL. If not provided, a default\ \ URL is set based on the selected database vendor. For instance,\ \ if using 'postgres', the default JDBC URL would be 'jdbc:postgresql://localhost/keycloak'. " - type: string + type: "string" usernameSecret: - description: The reference to a secret holding the username of - the database user. + description: "The reference to a secret holding the username of\ + \ the database user." properties: key: - type: string + type: "string" name: - type: string + type: "string" optional: - type: boolean - type: object + type: "boolean" + type: "object" vendor: - description: The database vendor. - type: string - type: object + description: "The database vendor." + type: "string" + type: "object" features: description: "In this section you can configure Keycloak features,\ \ which should be enabled/disabled." properties: disabled: - description: Disabled Keycloak features + description: "Disabled Keycloak features" items: - type: string - type: array + type: "string" + type: "array" enabled: - description: Enabled Keycloak features + description: "Enabled Keycloak features" items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" hostname: - description: In this section you can configure Keycloak hostname and - related properties. + description: "In this section you can configure Keycloak hostname\ + \ and related properties." properties: admin: - description: The hostname for accessing the administration console. - type: string + description: "The hostname for accessing the administration console.\ + \ Applicable for Hostname v1 and v2." + type: "string" adminUrl: - description: "Set the base URL for accessing the administration\ - \ console, including scheme, host, port and path" - type: string + description: "DEPRECATED. Sets the base URL for accessing the\ + \ administration console, including scheme, host, port and path.\ + \ Applicable for Hostname v1." + type: "string" + backchannelDynamic: + description: "Enables dynamic resolving of backchannel URLs, including\ + \ hostname, scheme, port and context path. Set to true if your\ + \ application accesses Keycloak via a private network. Applicable\ + \ for Hostname v2." + type: "boolean" hostname: - description: Hostname for the Keycloak server. - type: string + description: "Hostname for the Keycloak server. Applicable for\ + \ Hostname v1 and v2." + type: "string" strict: - description: Disables dynamically resolving the hostname from - request headers. - type: boolean + description: "Disables dynamically resolving the hostname from\ + \ request headers. Applicable for Hostname v1 and v2." + type: "boolean" strictBackchannel: - description: By default backchannel URLs are dynamically resolved - from request headers to allow internal and external applications. - type: boolean - type: object + description: "DEPRECATED. By default backchannel URLs are dynamically\ + \ resolved from request headers to allow internal and external\ + \ applications. Applicable for Hostname v1." + type: "boolean" + type: "object" http: - description: In this section you can configure Keycloak features related - to HTTP and HTTPS + description: "In this section you can configure Keycloak features\ + \ related to HTTP and HTTPS" properties: httpEnabled: - description: Enables the HTTP listener. - type: boolean + description: "Enables the HTTP listener." + type: "boolean" httpPort: - description: The used HTTP port. - type: integer + description: "The used HTTP port." + type: "integer" httpsPort: - description: The used HTTPS port. - type: integer + description: "The used HTTPS port." + type: "integer" tlsSecret: description: "A secret containing the TLS configuration for HTTPS.\ \ Reference: https://kubernetes.io/docs/concepts/configuration/secret/#tls-secrets." - type: string - type: object + type: "string" + type: "object" + httpManagement: + description: "In this section you can configure Keycloak's management\ + \ interface setting." + properties: + port: + description: "Port of the management interface." + type: "integer" + type: "object" image: - description: Custom Keycloak image to be used. - type: string + description: "Custom Keycloak image to be used." + type: "string" imagePullSecrets: - description: Secret(s) that might be used when pulling an image from - a private container image registry or repository. + description: "Secret(s) that might be used when pulling an image from\ + \ a private container image registry or repository." items: properties: name: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" ingress: description: |- The deployment is, by default, exposed through a basic ingress. @@ -190,87 +229,477 @@ spec: properties: annotations: additionalProperties: - type: string - description: Additional annotations to be appended to the Ingress - object - type: object + type: "string" + description: "Additional annotations to be appended to the Ingress\ + \ object" + type: "object" className: - type: string + type: "string" enabled: - type: boolean - type: object + type: "boolean" + type: "object" instances: - description: Number of Keycloak instances in HA mode. Default is 1. - type: integer + description: "Number of Keycloak instances. Default is 1." + type: "integer" proxy: - description: In this section you can configure Keycloak's reverse - proxy setting + description: "In this section you can configure Keycloak's reverse\ + \ proxy setting" properties: headers: - description: The proxy headers that should be accepted by the - server. Misconfiguration might leave the server exposed to security - vulnerabilities. - type: string - type: object + description: "The proxy headers that should be accepted by the\ + \ server. Misconfiguration might leave the server exposed to\ + \ security vulnerabilities." + type: "string" + type: "object" resources: - description: Compute Resources required by Keycloak container + description: "Compute Resources required by Keycloak container" properties: claims: items: properties: name: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" limits: additionalProperties: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true - type: object + type: "object" requests: additionalProperties: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true - type: object - type: object + type: "object" + type: "object" + scheduling: + description: "In this section you can configure Keycloak's scheduling" + properties: + affinity: + properties: + nodeAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + preference: + properties: + matchExpressions: + items: + properties: + key: + type: "string" + operator: + type: "string" + values: + items: + type: "string" + type: "array" + type: "object" + type: "array" + matchFields: + items: + properties: + key: + type: "string" + operator: + type: "string" + values: + items: + type: "string" + type: "array" + type: "object" + type: "array" + type: "object" + weight: + type: "integer" + type: "object" + type: "array" + requiredDuringSchedulingIgnoredDuringExecution: + properties: + nodeSelectorTerms: + items: + properties: + matchExpressions: + items: + properties: + key: + type: "string" + operator: + type: "string" + values: + items: + type: "string" + type: "array" + type: "object" + type: "array" + matchFields: + items: + properties: + key: + type: "string" + operator: + type: "string" + values: + items: + type: "string" + type: "array" + type: "object" + type: "array" + type: "object" + type: "array" + type: "object" + type: "object" + podAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: "string" + operator: + type: "string" + values: + items: + type: "string" + type: "array" + type: "object" + type: "array" + matchLabels: + additionalProperties: + type: "string" + type: "object" + type: "object" + matchLabelKeys: + items: + type: "string" + type: "array" + mismatchLabelKeys: + items: + type: "string" + type: "array" + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: "string" + operator: + type: "string" + values: + items: + type: "string" + type: "array" + type: "object" + type: "array" + matchLabels: + additionalProperties: + type: "string" + type: "object" + type: "object" + namespaces: + items: + type: "string" + type: "array" + topologyKey: + type: "string" + type: "object" + weight: + type: "integer" + type: "object" + type: "array" + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: "string" + operator: + type: "string" + values: + items: + type: "string" + type: "array" + type: "object" + type: "array" + matchLabels: + additionalProperties: + type: "string" + type: "object" + type: "object" + matchLabelKeys: + items: + type: "string" + type: "array" + mismatchLabelKeys: + items: + type: "string" + type: "array" + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: "string" + operator: + type: "string" + values: + items: + type: "string" + type: "array" + type: "object" + type: "array" + matchLabels: + additionalProperties: + type: "string" + type: "object" + type: "object" + namespaces: + items: + type: "string" + type: "array" + topologyKey: + type: "string" + type: "object" + type: "array" + type: "object" + podAntiAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: "string" + operator: + type: "string" + values: + items: + type: "string" + type: "array" + type: "object" + type: "array" + matchLabels: + additionalProperties: + type: "string" + type: "object" + type: "object" + matchLabelKeys: + items: + type: "string" + type: "array" + mismatchLabelKeys: + items: + type: "string" + type: "array" + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: "string" + operator: + type: "string" + values: + items: + type: "string" + type: "array" + type: "object" + type: "array" + matchLabels: + additionalProperties: + type: "string" + type: "object" + type: "object" + namespaces: + items: + type: "string" + type: "array" + topologyKey: + type: "string" + type: "object" + weight: + type: "integer" + type: "object" + type: "array" + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: "string" + operator: + type: "string" + values: + items: + type: "string" + type: "array" + type: "object" + type: "array" + matchLabels: + additionalProperties: + type: "string" + type: "object" + type: "object" + matchLabelKeys: + items: + type: "string" + type: "array" + mismatchLabelKeys: + items: + type: "string" + type: "array" + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: "string" + operator: + type: "string" + values: + items: + type: "string" + type: "array" + type: "object" + type: "array" + matchLabels: + additionalProperties: + type: "string" + type: "object" + type: "object" + namespaces: + items: + type: "string" + type: "array" + topologyKey: + type: "string" + type: "object" + type: "array" + type: "object" + type: "object" + priorityClassName: + type: "string" + tolerations: + items: + properties: + effect: + type: "string" + key: + type: "string" + operator: + type: "string" + tolerationSeconds: + type: "integer" + value: + type: "string" + type: "object" + type: "array" + topologySpreadConstraints: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: "string" + operator: + type: "string" + values: + items: + type: "string" + type: "array" + type: "object" + type: "array" + matchLabels: + additionalProperties: + type: "string" + type: "object" + type: "object" + matchLabelKeys: + items: + type: "string" + type: "array" + maxSkew: + type: "integer" + minDomains: + type: "integer" + nodeAffinityPolicy: + type: "string" + nodeTaintsPolicy: + type: "string" + topologyKey: + type: "string" + whenUnsatisfiable: + type: "string" + type: "object" + type: "array" + type: "object" startOptimized: - description: Set to force the behavior of the --optimized flag for - the start command. If left unspecified the operator will assume - custom images have already been augmented. - type: boolean + description: "Set to force the behavior of the --optimized flag for\ + \ the start command. If left unspecified the operator will assume\ + \ custom images have already been augmented." + type: "boolean" transaction: - description: In this section you can find all properties related to - the settings of transaction behavior. + description: "In this section you can find all properties related\ + \ to the settings of transaction behavior." properties: xaEnabled: - description: Determine whether Keycloak should use a non-XA datasource - in case the database does not support XA transactions. - type: boolean - type: object + description: "Determine whether Keycloak should use a non-XA datasource\ + \ in case the database does not support XA transactions." + type: "boolean" + type: "object" truststores: additionalProperties: properties: name: - type: string + description: "Not used. To be removed in later versions." + type: "string" secret: properties: name: - type: string + type: "string" optional: - type: boolean + type: "boolean" required: - - name - type: object + - "name" + type: "object" required: - - secret - - name - type: object - description: In this section you can configure Keycloak truststores. - type: object + - "secret" + type: "object" + description: "In this section you can configure Keycloak truststores." + type: "object" unsupported: description: |- In this section you can configure podTemplate advanced features, not production-ready, and not supported settings. @@ -286,77 +715,77 @@ spec: properties: annotations: additionalProperties: - type: string - type: object + type: "string" + type: "object" creationTimestamp: - type: string + type: "string" deletionGracePeriodSeconds: - type: integer + type: "integer" deletionTimestamp: - type: string + type: "string" finalizers: items: - type: string - type: array + type: "string" + type: "array" generateName: - type: string + type: "string" generation: - type: integer + type: "integer" labels: additionalProperties: - type: string - type: object + type: "string" + type: "object" managedFields: items: properties: apiVersion: - type: string + type: "string" fieldsType: - type: string + type: "string" fieldsV1: - type: object + type: "object" manager: - type: string + type: "string" operation: - type: string + type: "string" subresource: - type: string + type: "string" time: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" name: - type: string + type: "string" namespace: - type: string + type: "string" ownerReferences: items: properties: apiVersion: - type: string + type: "string" blockOwnerDeletion: - type: boolean + type: "boolean" controller: - type: boolean + type: "boolean" kind: - type: string + type: "string" name: - type: string + type: "string" uid: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" resourceVersion: - type: string + type: "string" selfLink: - type: string + type: "string" uid: - type: string - type: object + type: "string" + type: "object" spec: properties: activeDeadlineSeconds: - type: integer + type: "integer" affinity: properties: nodeAffinity: @@ -370,33 +799,33 @@ spec: items: properties: key: - type: string + type: "string" operator: - type: string + type: "string" values: items: - type: string - type: array - type: object - type: array + type: "string" + type: "array" + type: "object" + type: "array" matchFields: items: properties: key: - type: string + type: "string" operator: - type: string + type: "string" values: items: - type: string - type: array - type: object - type: array - type: object + type: "string" + type: "array" + type: "object" + type: "array" + type: "object" weight: - type: integer - type: object - type: array + type: "integer" + type: "object" + type: "array" requiredDuringSchedulingIgnoredDuringExecution: properties: nodeSelectorTerms: @@ -406,32 +835,32 @@ spec: items: properties: key: - type: string + type: "string" operator: - type: string + type: "string" values: items: - type: string - type: array - type: object - type: array + type: "string" + type: "array" + type: "object" + type: "array" matchFields: items: properties: key: - type: string + type: "string" operator: - type: string + type: "string" values: items: - type: string - type: array - type: object - type: array - type: object - type: array - type: object - type: object + type: "string" + type: "array" + type: "object" + type: "array" + type: "object" + type: "array" + type: "object" + type: "object" podAffinity: properties: preferredDuringSchedulingIgnoredDuringExecution: @@ -445,59 +874,59 @@ spec: items: properties: key: - type: string + type: "string" operator: - type: string + type: "string" values: items: - type: string - type: array - type: object - type: array + type: "string" + type: "array" + type: "object" + type: "array" matchLabels: additionalProperties: - type: string - type: object - type: object + type: "string" + type: "object" + type: "object" matchLabelKeys: items: - type: string - type: array + type: "string" + type: "array" mismatchLabelKeys: items: - type: string - type: array + type: "string" + type: "array" namespaceSelector: properties: matchExpressions: items: properties: key: - type: string + type: "string" operator: - type: string + type: "string" values: items: - type: string - type: array - type: object - type: array + type: "string" + type: "array" + type: "object" + type: "array" matchLabels: additionalProperties: - type: string - type: object - type: object + type: "string" + type: "object" + type: "object" namespaces: items: - type: string - type: array + type: "string" + type: "array" topologyKey: - type: string - type: object + type: "string" + type: "object" weight: - type: integer - type: object - type: array + type: "integer" + type: "object" + type: "array" requiredDuringSchedulingIgnoredDuringExecution: items: properties: @@ -507,57 +936,57 @@ spec: items: properties: key: - type: string + type: "string" operator: - type: string + type: "string" values: items: - type: string - type: array - type: object - type: array + type: "string" + type: "array" + type: "object" + type: "array" matchLabels: additionalProperties: - type: string - type: object - type: object + type: "string" + type: "object" + type: "object" matchLabelKeys: items: - type: string - type: array + type: "string" + type: "array" mismatchLabelKeys: items: - type: string - type: array + type: "string" + type: "array" namespaceSelector: properties: matchExpressions: items: properties: key: - type: string + type: "string" operator: - type: string + type: "string" values: items: - type: string - type: array - type: object - type: array + type: "string" + type: "array" + type: "object" + type: "array" matchLabels: additionalProperties: - type: string - type: object - type: object + type: "string" + type: "object" + type: "object" namespaces: items: - type: string - type: array + type: "string" + type: "array" topologyKey: - type: string - type: object - type: array - type: object + type: "string" + type: "object" + type: "array" + type: "object" podAntiAffinity: properties: preferredDuringSchedulingIgnoredDuringExecution: @@ -571,59 +1000,59 @@ spec: items: properties: key: - type: string + type: "string" operator: - type: string + type: "string" values: items: - type: string - type: array - type: object - type: array + type: "string" + type: "array" + type: "object" + type: "array" matchLabels: additionalProperties: - type: string - type: object - type: object + type: "string" + type: "object" + type: "object" matchLabelKeys: items: - type: string - type: array + type: "string" + type: "array" mismatchLabelKeys: items: - type: string - type: array + type: "string" + type: "array" namespaceSelector: properties: matchExpressions: items: properties: key: - type: string + type: "string" operator: - type: string + type: "string" values: items: - type: string - type: array - type: object - type: array + type: "string" + type: "array" + type: "object" + type: "array" matchLabels: additionalProperties: - type: string - type: object - type: object + type: "string" + type: "object" + type: "object" namespaces: items: - type: string - type: array + type: "string" + type: "array" topologyKey: - type: string - type: object + type: "string" + type: "object" weight: - type: integer - type: object - type: array + type: "integer" + type: "object" + type: "array" requiredDuringSchedulingIgnoredDuringExecution: items: properties: @@ -633,145 +1062,145 @@ spec: items: properties: key: - type: string + type: "string" operator: - type: string + type: "string" values: items: - type: string - type: array - type: object - type: array + type: "string" + type: "array" + type: "object" + type: "array" matchLabels: additionalProperties: - type: string - type: object - type: object + type: "string" + type: "object" + type: "object" matchLabelKeys: items: - type: string - type: array + type: "string" + type: "array" mismatchLabelKeys: items: - type: string - type: array + type: "string" + type: "array" namespaceSelector: properties: matchExpressions: items: properties: key: - type: string + type: "string" operator: - type: string + type: "string" values: items: - type: string - type: array - type: object - type: array + type: "string" + type: "array" + type: "object" + type: "array" matchLabels: additionalProperties: - type: string - type: object - type: object + type: "string" + type: "object" + type: "object" namespaces: items: - type: string - type: array + type: "string" + type: "array" topologyKey: - type: string - type: object - type: array - type: object - type: object + type: "string" + type: "object" + type: "array" + type: "object" + type: "object" automountServiceAccountToken: - type: boolean + type: "boolean" containers: items: properties: args: items: - type: string - type: array + type: "string" + type: "array" command: items: - type: string - type: array + type: "string" + type: "array" env: items: properties: name: - type: string + type: "string" value: - type: string + type: "string" valueFrom: properties: configMapKeyRef: properties: key: - type: string + type: "string" name: - type: string + type: "string" optional: - type: boolean - type: object + type: "boolean" + type: "object" fieldRef: properties: apiVersion: - type: string + type: "string" fieldPath: - type: string - type: object + type: "string" + type: "object" resourceFieldRef: properties: containerName: - type: string + type: "string" divisor: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true resource: - type: string - type: object + type: "string" + type: "object" secretKeyRef: properties: key: - type: string + type: "string" name: - type: string + type: "string" optional: - type: boolean - type: object - type: object - type: object - type: array + type: "boolean" + type: "object" + type: "object" + type: "object" + type: "array" envFrom: items: properties: configMapRef: properties: name: - type: string + type: "string" optional: - type: boolean - type: object + type: "boolean" + type: "object" prefix: - type: string + type: "string" secretRef: properties: name: - type: string + type: "string" optional: - type: boolean - type: object - type: object - type: array + type: "boolean" + type: "object" + type: "object" + type: "array" image: - type: string + type: "string" imagePullPolicy: - type: string + type: "string" lifecycle: properties: postStart: @@ -780,541 +1209,550 @@ spec: properties: command: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" httpGet: properties: host: - type: string + type: "string" httpHeaders: items: properties: name: - type: string + type: "string" value: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" path: - type: string + type: "string" port: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true scheme: - type: string - type: object + type: "string" + type: "object" sleep: properties: seconds: - type: integer - type: object + type: "integer" + type: "object" tcpSocket: properties: host: - type: string + type: "string" port: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true - type: object - type: object + type: "object" + type: "object" preStop: properties: exec: properties: command: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" httpGet: properties: host: - type: string + type: "string" httpHeaders: items: properties: name: - type: string + type: "string" value: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" path: - type: string + type: "string" port: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true scheme: - type: string - type: object + type: "string" + type: "object" sleep: properties: seconds: - type: integer - type: object + type: "integer" + type: "object" tcpSocket: properties: host: - type: string + type: "string" port: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true - type: object - type: object - type: object + type: "object" + type: "object" + type: "object" livenessProbe: properties: exec: properties: command: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" failureThreshold: - type: integer + type: "integer" grpc: properties: port: - type: integer + type: "integer" service: - type: string - type: object + type: "string" + type: "object" httpGet: properties: host: - type: string + type: "string" httpHeaders: items: properties: name: - type: string + type: "string" value: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" path: - type: string + type: "string" port: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true scheme: - type: string - type: object + type: "string" + type: "object" initialDelaySeconds: - type: integer + type: "integer" periodSeconds: - type: integer + type: "integer" successThreshold: - type: integer + type: "integer" tcpSocket: properties: host: - type: string + type: "string" port: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true - type: object + type: "object" terminationGracePeriodSeconds: - type: integer + type: "integer" timeoutSeconds: - type: integer - type: object + type: "integer" + type: "object" name: - type: string + type: "string" ports: items: properties: containerPort: - type: integer + type: "integer" hostIP: - type: string + type: "string" hostPort: - type: integer + type: "integer" name: - type: string + type: "string" protocol: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" readinessProbe: properties: exec: properties: command: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" failureThreshold: - type: integer + type: "integer" grpc: properties: port: - type: integer + type: "integer" service: - type: string - type: object + type: "string" + type: "object" httpGet: properties: host: - type: string + type: "string" httpHeaders: items: properties: name: - type: string + type: "string" value: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" path: - type: string + type: "string" port: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true scheme: - type: string - type: object + type: "string" + type: "object" initialDelaySeconds: - type: integer + type: "integer" periodSeconds: - type: integer + type: "integer" successThreshold: - type: integer + type: "integer" tcpSocket: properties: host: - type: string + type: "string" port: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true - type: object + type: "object" terminationGracePeriodSeconds: - type: integer + type: "integer" timeoutSeconds: - type: integer - type: object + type: "integer" + type: "object" resizePolicy: items: properties: resourceName: - type: string + type: "string" restartPolicy: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" resources: properties: claims: items: properties: name: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" limits: additionalProperties: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true - type: object + type: "object" requests: additionalProperties: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true - type: object - type: object + type: "object" + type: "object" restartPolicy: - type: string + type: "string" securityContext: properties: allowPrivilegeEscalation: - type: boolean + type: "boolean" + appArmorProfile: + properties: + localhostProfile: + type: "string" + type: + type: "string" + type: "object" capabilities: properties: add: items: - type: string - type: array + type: "string" + type: "array" drop: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" privileged: - type: boolean + type: "boolean" procMount: - type: string + type: "string" readOnlyRootFilesystem: - type: boolean + type: "boolean" runAsGroup: - type: integer + type: "integer" runAsNonRoot: - type: boolean + type: "boolean" runAsUser: - type: integer + type: "integer" seLinuxOptions: properties: level: - type: string + type: "string" role: - type: string + type: "string" type: - type: string + type: "string" user: - type: string - type: object + type: "string" + type: "object" seccompProfile: properties: localhostProfile: - type: string + type: "string" type: - type: string - type: object + type: "string" + type: "object" windowsOptions: properties: gmsaCredentialSpec: - type: string + type: "string" gmsaCredentialSpecName: - type: string + type: "string" hostProcess: - type: boolean + type: "boolean" runAsUserName: - type: string - type: object - type: object + type: "string" + type: "object" + type: "object" startupProbe: properties: exec: properties: command: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" failureThreshold: - type: integer + type: "integer" grpc: properties: port: - type: integer + type: "integer" service: - type: string - type: object + type: "string" + type: "object" httpGet: properties: host: - type: string + type: "string" httpHeaders: items: properties: name: - type: string + type: "string" value: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" path: - type: string + type: "string" port: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true scheme: - type: string - type: object + type: "string" + type: "object" initialDelaySeconds: - type: integer + type: "integer" periodSeconds: - type: integer + type: "integer" successThreshold: - type: integer + type: "integer" tcpSocket: properties: host: - type: string + type: "string" port: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true - type: object + type: "object" terminationGracePeriodSeconds: - type: integer + type: "integer" timeoutSeconds: - type: integer - type: object + type: "integer" + type: "object" stdin: - type: boolean + type: "boolean" stdinOnce: - type: boolean + type: "boolean" terminationMessagePath: - type: string + type: "string" terminationMessagePolicy: - type: string + type: "string" tty: - type: boolean + type: "boolean" volumeDevices: items: properties: devicePath: - type: string + type: "string" name: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" volumeMounts: items: properties: mountPath: - type: string + type: "string" mountPropagation: - type: string + type: "string" name: - type: string + type: "string" readOnly: - type: boolean + type: "boolean" + recursiveReadOnly: + type: "string" subPath: - type: string + type: "string" subPathExpr: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" workingDir: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" dnsConfig: properties: nameservers: items: - type: string - type: array + type: "string" + type: "array" options: items: properties: name: - type: string + type: "string" value: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" searches: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" dnsPolicy: - type: string + type: "string" enableServiceLinks: - type: boolean + type: "boolean" ephemeralContainers: items: properties: args: items: - type: string - type: array + type: "string" + type: "array" command: items: - type: string - type: array + type: "string" + type: "array" env: items: properties: name: - type: string + type: "string" value: - type: string + type: "string" valueFrom: properties: configMapKeyRef: properties: key: - type: string + type: "string" name: - type: string + type: "string" optional: - type: boolean - type: object + type: "boolean" + type: "object" fieldRef: properties: apiVersion: - type: string + type: "string" fieldPath: - type: string - type: object + type: "string" + type: "object" resourceFieldRef: properties: containerName: - type: string + type: "string" divisor: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true resource: - type: string - type: object + type: "string" + type: "object" secretKeyRef: properties: key: - type: string + type: "string" name: - type: string + type: "string" optional: - type: boolean - type: object - type: object - type: object - type: array + type: "boolean" + type: "object" + type: "object" + type: "object" + type: "array" envFrom: items: properties: configMapRef: properties: name: - type: string + type: "string" optional: - type: boolean - type: object + type: "boolean" + type: "object" prefix: - type: string + type: "string" secretRef: properties: name: - type: string + type: "string" optional: - type: boolean - type: object - type: object - type: array + type: "boolean" + type: "object" + type: "object" + type: "array" image: - type: string + type: "string" imagePullPolicy: - type: string + type: "string" lifecycle: properties: postStart: @@ -1323,547 +1761,556 @@ spec: properties: command: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" httpGet: properties: host: - type: string + type: "string" httpHeaders: items: properties: name: - type: string + type: "string" value: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" path: - type: string + type: "string" port: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true scheme: - type: string - type: object + type: "string" + type: "object" sleep: properties: seconds: - type: integer - type: object + type: "integer" + type: "object" tcpSocket: properties: host: - type: string + type: "string" port: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true - type: object - type: object + type: "object" + type: "object" preStop: properties: exec: properties: command: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" httpGet: properties: host: - type: string + type: "string" httpHeaders: items: properties: name: - type: string + type: "string" value: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" path: - type: string + type: "string" port: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true scheme: - type: string - type: object + type: "string" + type: "object" sleep: properties: seconds: - type: integer - type: object + type: "integer" + type: "object" tcpSocket: properties: host: - type: string + type: "string" port: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true - type: object - type: object - type: object + type: "object" + type: "object" + type: "object" livenessProbe: properties: exec: properties: command: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" failureThreshold: - type: integer + type: "integer" grpc: properties: port: - type: integer + type: "integer" service: - type: string - type: object + type: "string" + type: "object" httpGet: properties: host: - type: string + type: "string" httpHeaders: items: properties: name: - type: string + type: "string" value: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" path: - type: string + type: "string" port: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true scheme: - type: string - type: object + type: "string" + type: "object" initialDelaySeconds: - type: integer + type: "integer" periodSeconds: - type: integer + type: "integer" successThreshold: - type: integer + type: "integer" tcpSocket: properties: host: - type: string + type: "string" port: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true - type: object + type: "object" terminationGracePeriodSeconds: - type: integer + type: "integer" timeoutSeconds: - type: integer - type: object + type: "integer" + type: "object" name: - type: string + type: "string" ports: items: properties: containerPort: - type: integer + type: "integer" hostIP: - type: string + type: "string" hostPort: - type: integer + type: "integer" name: - type: string + type: "string" protocol: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" readinessProbe: properties: exec: properties: command: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" failureThreshold: - type: integer + type: "integer" grpc: properties: port: - type: integer + type: "integer" service: - type: string - type: object + type: "string" + type: "object" httpGet: properties: host: - type: string + type: "string" httpHeaders: items: properties: name: - type: string + type: "string" value: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" path: - type: string + type: "string" port: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true scheme: - type: string - type: object + type: "string" + type: "object" initialDelaySeconds: - type: integer + type: "integer" periodSeconds: - type: integer + type: "integer" successThreshold: - type: integer + type: "integer" tcpSocket: properties: host: - type: string + type: "string" port: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true - type: object + type: "object" terminationGracePeriodSeconds: - type: integer + type: "integer" timeoutSeconds: - type: integer - type: object + type: "integer" + type: "object" resizePolicy: items: properties: resourceName: - type: string + type: "string" restartPolicy: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" resources: properties: claims: items: properties: name: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" limits: additionalProperties: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true - type: object + type: "object" requests: additionalProperties: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true - type: object - type: object + type: "object" + type: "object" restartPolicy: - type: string + type: "string" securityContext: properties: allowPrivilegeEscalation: - type: boolean + type: "boolean" + appArmorProfile: + properties: + localhostProfile: + type: "string" + type: + type: "string" + type: "object" capabilities: properties: add: items: - type: string - type: array + type: "string" + type: "array" drop: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" privileged: - type: boolean + type: "boolean" procMount: - type: string + type: "string" readOnlyRootFilesystem: - type: boolean + type: "boolean" runAsGroup: - type: integer + type: "integer" runAsNonRoot: - type: boolean + type: "boolean" runAsUser: - type: integer + type: "integer" seLinuxOptions: properties: level: - type: string + type: "string" role: - type: string + type: "string" type: - type: string + type: "string" user: - type: string - type: object + type: "string" + type: "object" seccompProfile: properties: localhostProfile: - type: string + type: "string" type: - type: string - type: object + type: "string" + type: "object" windowsOptions: properties: gmsaCredentialSpec: - type: string + type: "string" gmsaCredentialSpecName: - type: string + type: "string" hostProcess: - type: boolean + type: "boolean" runAsUserName: - type: string - type: object - type: object + type: "string" + type: "object" + type: "object" startupProbe: properties: exec: properties: command: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" failureThreshold: - type: integer + type: "integer" grpc: properties: port: - type: integer + type: "integer" service: - type: string - type: object + type: "string" + type: "object" httpGet: properties: host: - type: string + type: "string" httpHeaders: items: properties: name: - type: string + type: "string" value: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" path: - type: string + type: "string" port: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true scheme: - type: string - type: object + type: "string" + type: "object" initialDelaySeconds: - type: integer + type: "integer" periodSeconds: - type: integer + type: "integer" successThreshold: - type: integer + type: "integer" tcpSocket: properties: host: - type: string + type: "string" port: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true - type: object + type: "object" terminationGracePeriodSeconds: - type: integer + type: "integer" timeoutSeconds: - type: integer - type: object + type: "integer" + type: "object" stdin: - type: boolean + type: "boolean" stdinOnce: - type: boolean + type: "boolean" targetContainerName: - type: string + type: "string" terminationMessagePath: - type: string + type: "string" terminationMessagePolicy: - type: string + type: "string" tty: - type: boolean + type: "boolean" volumeDevices: items: properties: devicePath: - type: string + type: "string" name: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" volumeMounts: items: properties: mountPath: - type: string + type: "string" mountPropagation: - type: string + type: "string" name: - type: string + type: "string" readOnly: - type: boolean + type: "boolean" + recursiveReadOnly: + type: "string" subPath: - type: string + type: "string" subPathExpr: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" workingDir: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" hostAliases: items: properties: hostnames: items: - type: string - type: array + type: "string" + type: "array" ip: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" hostIPC: - type: boolean + type: "boolean" hostNetwork: - type: boolean + type: "boolean" hostPID: - type: boolean + type: "boolean" hostUsers: - type: boolean + type: "boolean" hostname: - type: string + type: "string" imagePullSecrets: items: properties: name: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" initContainers: items: properties: args: items: - type: string - type: array + type: "string" + type: "array" command: items: - type: string - type: array + type: "string" + type: "array" env: items: properties: name: - type: string + type: "string" value: - type: string + type: "string" valueFrom: properties: configMapKeyRef: properties: key: - type: string + type: "string" name: - type: string + type: "string" optional: - type: boolean - type: object + type: "boolean" + type: "object" fieldRef: properties: apiVersion: - type: string + type: "string" fieldPath: - type: string - type: object + type: "string" + type: "object" resourceFieldRef: properties: containerName: - type: string + type: "string" divisor: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true resource: - type: string - type: object + type: "string" + type: "object" secretKeyRef: properties: key: - type: string + type: "string" name: - type: string + type: "string" optional: - type: boolean - type: object - type: object - type: object - type: array + type: "boolean" + type: "object" + type: "object" + type: "object" + type: "array" envFrom: items: properties: configMapRef: properties: name: - type: string + type: "string" optional: - type: boolean - type: object + type: "boolean" + type: "object" prefix: - type: string + type: "string" secretRef: properties: name: - type: string + type: "string" optional: - type: boolean - type: object - type: object - type: array + type: "boolean" + type: "object" + type: "object" + type: "array" image: - type: string + type: "string" imagePullPolicy: - type: string + type: "string" lifecycle: properties: postStart: @@ -1872,572 +2319,588 @@ spec: properties: command: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" httpGet: properties: host: - type: string + type: "string" httpHeaders: items: properties: name: - type: string + type: "string" value: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" path: - type: string + type: "string" port: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true scheme: - type: string - type: object + type: "string" + type: "object" sleep: properties: seconds: - type: integer - type: object + type: "integer" + type: "object" tcpSocket: properties: host: - type: string + type: "string" port: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true - type: object - type: object + type: "object" + type: "object" preStop: properties: exec: properties: command: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" httpGet: properties: host: - type: string + type: "string" httpHeaders: items: properties: name: - type: string + type: "string" value: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" path: - type: string + type: "string" port: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true scheme: - type: string - type: object + type: "string" + type: "object" sleep: properties: seconds: - type: integer - type: object + type: "integer" + type: "object" tcpSocket: properties: host: - type: string + type: "string" port: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true - type: object - type: object - type: object + type: "object" + type: "object" + type: "object" livenessProbe: properties: exec: properties: command: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" failureThreshold: - type: integer + type: "integer" grpc: properties: port: - type: integer + type: "integer" service: - type: string - type: object + type: "string" + type: "object" httpGet: properties: host: - type: string + type: "string" httpHeaders: items: properties: name: - type: string + type: "string" value: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" path: - type: string + type: "string" port: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true scheme: - type: string - type: object + type: "string" + type: "object" initialDelaySeconds: - type: integer + type: "integer" periodSeconds: - type: integer + type: "integer" successThreshold: - type: integer + type: "integer" tcpSocket: properties: host: - type: string + type: "string" port: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true - type: object + type: "object" terminationGracePeriodSeconds: - type: integer + type: "integer" timeoutSeconds: - type: integer - type: object + type: "integer" + type: "object" name: - type: string + type: "string" ports: items: properties: containerPort: - type: integer + type: "integer" hostIP: - type: string + type: "string" hostPort: - type: integer + type: "integer" name: - type: string + type: "string" protocol: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" readinessProbe: properties: exec: properties: command: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" failureThreshold: - type: integer + type: "integer" grpc: properties: port: - type: integer + type: "integer" service: - type: string - type: object + type: "string" + type: "object" httpGet: properties: host: - type: string + type: "string" httpHeaders: items: properties: name: - type: string + type: "string" value: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" path: - type: string + type: "string" port: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true scheme: - type: string - type: object + type: "string" + type: "object" initialDelaySeconds: - type: integer + type: "integer" periodSeconds: - type: integer + type: "integer" successThreshold: - type: integer + type: "integer" tcpSocket: properties: host: - type: string + type: "string" port: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true - type: object + type: "object" terminationGracePeriodSeconds: - type: integer + type: "integer" timeoutSeconds: - type: integer - type: object + type: "integer" + type: "object" resizePolicy: items: properties: resourceName: - type: string + type: "string" restartPolicy: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" resources: properties: claims: items: properties: name: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" limits: additionalProperties: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true - type: object + type: "object" requests: additionalProperties: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true - type: object - type: object + type: "object" + type: "object" restartPolicy: - type: string + type: "string" securityContext: properties: allowPrivilegeEscalation: - type: boolean + type: "boolean" + appArmorProfile: + properties: + localhostProfile: + type: "string" + type: + type: "string" + type: "object" capabilities: properties: add: items: - type: string - type: array + type: "string" + type: "array" drop: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" privileged: - type: boolean + type: "boolean" procMount: - type: string + type: "string" readOnlyRootFilesystem: - type: boolean + type: "boolean" runAsGroup: - type: integer + type: "integer" runAsNonRoot: - type: boolean + type: "boolean" runAsUser: - type: integer + type: "integer" seLinuxOptions: properties: level: - type: string + type: "string" role: - type: string + type: "string" type: - type: string + type: "string" user: - type: string - type: object + type: "string" + type: "object" seccompProfile: properties: localhostProfile: - type: string + type: "string" type: - type: string - type: object + type: "string" + type: "object" windowsOptions: properties: gmsaCredentialSpec: - type: string + type: "string" gmsaCredentialSpecName: - type: string + type: "string" hostProcess: - type: boolean + type: "boolean" runAsUserName: - type: string - type: object - type: object + type: "string" + type: "object" + type: "object" startupProbe: properties: exec: properties: command: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" failureThreshold: - type: integer + type: "integer" grpc: properties: port: - type: integer + type: "integer" service: - type: string - type: object + type: "string" + type: "object" httpGet: properties: host: - type: string + type: "string" httpHeaders: items: properties: name: - type: string + type: "string" value: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" path: - type: string + type: "string" port: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true scheme: - type: string - type: object + type: "string" + type: "object" initialDelaySeconds: - type: integer + type: "integer" periodSeconds: - type: integer + type: "integer" successThreshold: - type: integer + type: "integer" tcpSocket: properties: host: - type: string + type: "string" port: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true - type: object + type: "object" terminationGracePeriodSeconds: - type: integer + type: "integer" timeoutSeconds: - type: integer - type: object + type: "integer" + type: "object" stdin: - type: boolean + type: "boolean" stdinOnce: - type: boolean + type: "boolean" terminationMessagePath: - type: string + type: "string" terminationMessagePolicy: - type: string + type: "string" tty: - type: boolean + type: "boolean" volumeDevices: items: properties: devicePath: - type: string + type: "string" name: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" volumeMounts: items: properties: mountPath: - type: string + type: "string" mountPropagation: - type: string + type: "string" name: - type: string + type: "string" readOnly: - type: boolean + type: "boolean" + recursiveReadOnly: + type: "string" subPath: - type: string + type: "string" subPathExpr: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" workingDir: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" nodeName: - type: string + type: "string" nodeSelector: additionalProperties: - type: string - type: object + type: "string" + type: "object" os: properties: name: - type: string - type: object + type: "string" + type: "object" overhead: additionalProperties: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true - type: object + type: "object" preemptionPolicy: - type: string + type: "string" priority: - type: integer + type: "integer" priorityClassName: - type: string + type: "string" readinessGates: items: properties: conditionType: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" resourceClaims: items: properties: name: - type: string + type: "string" source: properties: resourceClaimName: - type: string + type: "string" resourceClaimTemplateName: - type: string - type: object - type: object - type: array + type: "string" + type: "object" + type: "object" + type: "array" restartPolicy: - type: string + type: "string" runtimeClassName: - type: string + type: "string" schedulerName: - type: string + type: "string" schedulingGates: items: properties: name: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" securityContext: properties: + appArmorProfile: + properties: + localhostProfile: + type: "string" + type: + type: "string" + type: "object" fsGroup: - type: integer + type: "integer" fsGroupChangePolicy: - type: string + type: "string" runAsGroup: - type: integer + type: "integer" runAsNonRoot: - type: boolean + type: "boolean" runAsUser: - type: integer + type: "integer" seLinuxOptions: properties: level: - type: string + type: "string" role: - type: string + type: "string" type: - type: string + type: "string" user: - type: string - type: object + type: "string" + type: "object" seccompProfile: properties: localhostProfile: - type: string + type: "string" type: - type: string - type: object + type: "string" + type: "object" supplementalGroups: items: - type: integer - type: array + type: "integer" + type: "array" sysctls: items: properties: name: - type: string + type: "string" value: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" windowsOptions: properties: gmsaCredentialSpec: - type: string + type: "string" gmsaCredentialSpecName: - type: string + type: "string" hostProcess: - type: boolean + type: "boolean" runAsUserName: - type: string - type: object - type: object + type: "string" + type: "object" + type: "object" serviceAccount: - type: string + type: "string" serviceAccountName: - type: string + type: "string" setHostnameAsFQDN: - type: boolean + type: "boolean" shareProcessNamespace: - type: boolean + type: "boolean" subdomain: - type: string + type: "string" terminationGracePeriodSeconds: - type: integer + type: "integer" tolerations: items: properties: effect: - type: string + type: "string" key: - type: string + type: "string" operator: - type: string + type: "string" tolerationSeconds: - type: integer + type: "integer" value: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" topologySpreadConstraints: items: properties: @@ -2447,191 +2910,191 @@ spec: items: properties: key: - type: string + type: "string" operator: - type: string + type: "string" values: items: - type: string - type: array - type: object - type: array + type: "string" + type: "array" + type: "object" + type: "array" matchLabels: additionalProperties: - type: string - type: object - type: object + type: "string" + type: "object" + type: "object" matchLabelKeys: items: - type: string - type: array + type: "string" + type: "array" maxSkew: - type: integer + type: "integer" minDomains: - type: integer + type: "integer" nodeAffinityPolicy: - type: string + type: "string" nodeTaintsPolicy: - type: string + type: "string" topologyKey: - type: string + type: "string" whenUnsatisfiable: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" volumes: items: properties: awsElasticBlockStore: properties: fsType: - type: string + type: "string" partition: - type: integer + type: "integer" readOnly: - type: boolean + type: "boolean" volumeID: - type: string - type: object + type: "string" + type: "object" azureDisk: properties: cachingMode: - type: string + type: "string" diskName: - type: string + type: "string" diskURI: - type: string + type: "string" fsType: - type: string + type: "string" kind: - type: string + type: "string" readOnly: - type: boolean - type: object + type: "boolean" + type: "object" azureFile: properties: readOnly: - type: boolean + type: "boolean" secretName: - type: string + type: "string" shareName: - type: string - type: object + type: "string" + type: "object" cephfs: properties: monitors: items: - type: string - type: array + type: "string" + type: "array" path: - type: string + type: "string" readOnly: - type: boolean + type: "boolean" secretFile: - type: string + type: "string" secretRef: properties: name: - type: string - type: object + type: "string" + type: "object" user: - type: string - type: object + type: "string" + type: "object" cinder: properties: fsType: - type: string + type: "string" readOnly: - type: boolean + type: "boolean" secretRef: properties: name: - type: string - type: object + type: "string" + type: "object" volumeID: - type: string - type: object + type: "string" + type: "object" configMap: properties: defaultMode: - type: integer + type: "integer" items: items: properties: key: - type: string + type: "string" mode: - type: integer + type: "integer" path: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" name: - type: string + type: "string" optional: - type: boolean - type: object + type: "boolean" + type: "object" csi: properties: driver: - type: string + type: "string" fsType: - type: string + type: "string" nodePublishSecretRef: properties: name: - type: string - type: object + type: "string" + type: "object" readOnly: - type: boolean + type: "boolean" volumeAttributes: additionalProperties: - type: string - type: object - type: object + type: "string" + type: "object" + type: "object" downwardAPI: properties: defaultMode: - type: integer + type: "integer" items: items: properties: fieldRef: properties: apiVersion: - type: string + type: "string" fieldPath: - type: string - type: object + type: "string" + type: "object" mode: - type: integer + type: "integer" path: - type: string + type: "string" resourceFieldRef: properties: containerName: - type: string + type: "string" divisor: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true resource: - type: string - type: object - type: object - type: array - type: object + type: "string" + type: "object" + type: "object" + type: "array" + type: "object" emptyDir: properties: medium: - type: string + type: "string" sizeLimit: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true - type: object + type: "object" ephemeral: properties: volumeClaimTemplate: @@ -2640,293 +3103,293 @@ spec: properties: annotations: additionalProperties: - type: string - type: object + type: "string" + type: "object" creationTimestamp: - type: string + type: "string" deletionGracePeriodSeconds: - type: integer + type: "integer" deletionTimestamp: - type: string + type: "string" finalizers: items: - type: string - type: array + type: "string" + type: "array" generateName: - type: string + type: "string" generation: - type: integer + type: "integer" labels: additionalProperties: - type: string - type: object + type: "string" + type: "object" managedFields: items: properties: apiVersion: - type: string + type: "string" fieldsType: - type: string + type: "string" fieldsV1: - type: object + type: "object" manager: - type: string + type: "string" operation: - type: string + type: "string" subresource: - type: string + type: "string" time: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" name: - type: string + type: "string" namespace: - type: string + type: "string" ownerReferences: items: properties: apiVersion: - type: string + type: "string" blockOwnerDeletion: - type: boolean + type: "boolean" controller: - type: boolean + type: "boolean" kind: - type: string + type: "string" name: - type: string + type: "string" uid: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" resourceVersion: - type: string + type: "string" selfLink: - type: string + type: "string" uid: - type: string - type: object + type: "string" + type: "object" spec: properties: accessModes: items: - type: string - type: array + type: "string" + type: "array" dataSource: properties: apiGroup: - type: string + type: "string" kind: - type: string + type: "string" name: - type: string - type: object + type: "string" + type: "object" dataSourceRef: properties: apiGroup: - type: string + type: "string" kind: - type: string + type: "string" name: - type: string + type: "string" namespace: - type: string - type: object + type: "string" + type: "object" resources: properties: limits: additionalProperties: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true - type: object + type: "object" requests: additionalProperties: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true - type: object - type: object + type: "object" + type: "object" selector: properties: matchExpressions: items: properties: key: - type: string + type: "string" operator: - type: string + type: "string" values: items: - type: string - type: array - type: object - type: array + type: "string" + type: "array" + type: "object" + type: "array" matchLabels: additionalProperties: - type: string - type: object - type: object + type: "string" + type: "object" + type: "object" storageClassName: - type: string + type: "string" volumeAttributesClassName: - type: string + type: "string" volumeMode: - type: string + type: "string" volumeName: - type: string - type: object - type: object - type: object + type: "string" + type: "object" + type: "object" + type: "object" fc: properties: fsType: - type: string + type: "string" lun: - type: integer + type: "integer" readOnly: - type: boolean + type: "boolean" targetWWNs: items: - type: string - type: array + type: "string" + type: "array" wwids: items: - type: string - type: array - type: object + type: "string" + type: "array" + type: "object" flexVolume: properties: driver: - type: string + type: "string" fsType: - type: string + type: "string" options: additionalProperties: - type: string - type: object + type: "string" + type: "object" readOnly: - type: boolean + type: "boolean" secretRef: properties: name: - type: string - type: object - type: object + type: "string" + type: "object" + type: "object" flocker: properties: datasetName: - type: string + type: "string" datasetUUID: - type: string - type: object + type: "string" + type: "object" gcePersistentDisk: properties: fsType: - type: string + type: "string" partition: - type: integer + type: "integer" pdName: - type: string + type: "string" readOnly: - type: boolean - type: object + type: "boolean" + type: "object" gitRepo: properties: directory: - type: string + type: "string" repository: - type: string + type: "string" revision: - type: string - type: object + type: "string" + type: "object" glusterfs: properties: endpoints: - type: string + type: "string" path: - type: string + type: "string" readOnly: - type: boolean - type: object + type: "boolean" + type: "object" hostPath: properties: path: - type: string + type: "string" type: - type: string - type: object + type: "string" + type: "object" iscsi: properties: chapAuthDiscovery: - type: boolean + type: "boolean" chapAuthSession: - type: boolean + type: "boolean" fsType: - type: string + type: "string" initiatorName: - type: string + type: "string" iqn: - type: string + type: "string" iscsiInterface: - type: string + type: "string" lun: - type: integer + type: "integer" portals: items: - type: string - type: array + type: "string" + type: "array" readOnly: - type: boolean + type: "boolean" secretRef: properties: name: - type: string - type: object + type: "string" + type: "object" targetPortal: - type: string - type: object + type: "string" + type: "object" name: - type: string + type: "string" nfs: properties: path: - type: string + type: "string" readOnly: - type: boolean + type: "boolean" server: - type: string - type: object + type: "string" + type: "object" persistentVolumeClaim: properties: claimName: - type: string + type: "string" readOnly: - type: boolean - type: object + type: "boolean" + type: "object" photonPersistentDisk: properties: fsType: - type: string + type: "string" pdID: - type: string - type: object + type: "string" + type: "object" portworxVolume: properties: fsType: - type: string + type: "string" readOnly: - type: boolean + type: "boolean" volumeID: - type: string - type: object + type: "string" + type: "object" projected: properties: defaultMode: - type: integer + type: "integer" sources: items: properties: @@ -2938,47 +3401,47 @@ spec: items: properties: key: - type: string + type: "string" operator: - type: string + type: "string" values: items: - type: string - type: array - type: object - type: array + type: "string" + type: "array" + type: "object" + type: "array" matchLabels: additionalProperties: - type: string - type: object - type: object + type: "string" + type: "object" + type: "object" name: - type: string + type: "string" optional: - type: boolean + type: "boolean" path: - type: string + type: "string" signerName: - type: string - type: object + type: "string" + type: "object" configMap: properties: items: items: properties: key: - type: string + type: "string" mode: - type: integer + type: "integer" path: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" name: - type: string + type: "string" optional: - type: boolean - type: object + type: "boolean" + type: "object" downwardAPI: properties: items: @@ -2987,207 +3450,207 @@ spec: fieldRef: properties: apiVersion: - type: string + type: "string" fieldPath: - type: string - type: object + type: "string" + type: "object" mode: - type: integer + type: "integer" path: - type: string + type: "string" resourceFieldRef: properties: containerName: - type: string + type: "string" divisor: anyOf: - - type: integer - - type: string + - type: "integer" + - type: "string" x-kubernetes-int-or-string: true resource: - type: string - type: object - type: object - type: array - type: object + type: "string" + type: "object" + type: "object" + type: "array" + type: "object" secret: properties: items: items: properties: key: - type: string + type: "string" mode: - type: integer + type: "integer" path: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" name: - type: string + type: "string" optional: - type: boolean - type: object + type: "boolean" + type: "object" serviceAccountToken: properties: audience: - type: string + type: "string" expirationSeconds: - type: integer + type: "integer" path: - type: string - type: object - type: object - type: array - type: object + type: "string" + type: "object" + type: "object" + type: "array" + type: "object" quobyte: properties: group: - type: string + type: "string" readOnly: - type: boolean + type: "boolean" registry: - type: string + type: "string" tenant: - type: string + type: "string" user: - type: string + type: "string" volume: - type: string - type: object + type: "string" + type: "object" rbd: properties: fsType: - type: string + type: "string" image: - type: string + type: "string" keyring: - type: string + type: "string" monitors: items: - type: string - type: array + type: "string" + type: "array" pool: - type: string + type: "string" readOnly: - type: boolean + type: "boolean" secretRef: properties: name: - type: string - type: object + type: "string" + type: "object" user: - type: string - type: object + type: "string" + type: "object" scaleIO: properties: fsType: - type: string + type: "string" gateway: - type: string + type: "string" protectionDomain: - type: string + type: "string" readOnly: - type: boolean + type: "boolean" secretRef: properties: name: - type: string - type: object + type: "string" + type: "object" sslEnabled: - type: boolean + type: "boolean" storageMode: - type: string + type: "string" storagePool: - type: string + type: "string" system: - type: string + type: "string" volumeName: - type: string - type: object + type: "string" + type: "object" secret: properties: defaultMode: - type: integer + type: "integer" items: items: properties: key: - type: string + type: "string" mode: - type: integer + type: "integer" path: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" optional: - type: boolean + type: "boolean" secretName: - type: string - type: object + type: "string" + type: "object" storageos: properties: fsType: - type: string + type: "string" readOnly: - type: boolean + type: "boolean" secretRef: properties: name: - type: string - type: object + type: "string" + type: "object" volumeName: - type: string + type: "string" volumeNamespace: - type: string - type: object + type: "string" + type: "object" vsphereVolume: properties: fsType: - type: string + type: "string" storagePolicyID: - type: string + type: "string" storagePolicyName: - type: string + type: "string" volumePath: - type: string - type: object - type: object - type: array - type: object - type: object - type: object - type: object + type: "string" + type: "object" + type: "object" + type: "array" + type: "object" + type: "object" + type: "object" + type: "object" status: properties: conditions: items: properties: lastTransitionTime: - type: string + type: "string" message: - type: string + type: "string" observedGeneration: - type: integer + type: "integer" status: - type: string + type: "string" type: - type: string - type: object - type: array + type: "string" + type: "object" + type: "array" instances: - type: integer + type: "integer" observedGeneration: - type: integer + type: "integer" selector: - type: string - type: object - type: object + type: "string" + type: "object" + type: "object" served: true storage: true subresources: scale: - labelSelectorPath: .status.selector - specReplicasPath: .spec.instances - statusReplicasPath: .status.instances + labelSelectorPath: ".status.selector" + specReplicasPath: ".spec.instances" + statusReplicasPath: ".status.instances" status: {}