From a144ae448209d1392f2bab009145bd2f8358710e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=A1clav=20Muzik=C3=A1=C5=99?= Date: Fri, 4 Oct 2024 09:15:07 +0200 Subject: [PATCH] Keycloak Operator 26.0.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Václav Muzikář --- .../26.0.0/bundle.Dockerfile | 16 + ...ycloak-operator.clusterserviceversion.yaml | 310 ++ ...akrealmimports.k8s.keycloak.org-v1.crd.yml | 3180 ++++++++++++++ .../keycloaks.k8s.keycloak.org-v1.crd.yml | 3655 +++++++++++++++++ .../26.0.0/metadata/annotations.yaml | 10 + 5 files changed, 7171 insertions(+) create mode 100644 operators/keycloak-operator/26.0.0/bundle.Dockerfile create mode 100644 operators/keycloak-operator/26.0.0/manifests/keycloak-operator.clusterserviceversion.yaml create mode 100644 operators/keycloak-operator/26.0.0/manifests/keycloakrealmimports.k8s.keycloak.org-v1.crd.yml create mode 100644 operators/keycloak-operator/26.0.0/manifests/keycloaks.k8s.keycloak.org-v1.crd.yml create mode 100644 operators/keycloak-operator/26.0.0/metadata/annotations.yaml diff --git a/operators/keycloak-operator/26.0.0/bundle.Dockerfile b/operators/keycloak-operator/26.0.0/bundle.Dockerfile new file mode 100644 index 00000000000..724f5732d9b --- /dev/null +++ b/operators/keycloak-operator/26.0.0/bundle.Dockerfile @@ -0,0 +1,16 @@ +FROM scratch + +# Core bundle labels. +LABEL operators.operatorframework.io.bundle.channel.default.v1=fast +LABEL operators.operatorframework.io.bundle.channels.v1=fast +LABEL operators.operatorframework.io.bundle.manifests.v1=manifests/ +LABEL operators.operatorframework.io.bundle.mediatype.v1=registry+v1 +LABEL operators.operatorframework.io.bundle.metadata.v1=metadata/ +LABEL operators.operatorframework.io.bundle.package.v1=keycloak-operator +LABEL operators.operatorframework.io.metrics.builder=qosdk-bundle-generator/6.8.0+79457f5 +LABEL operators.operatorframework.io.metrics.mediatype.v1=metrics+v1 +LABEL operators.operatorframework.io.metrics.project_layout=quarkus.javaoperatorsdk.io/v1-alpha + +# Copy files to locations specified by labels. +COPY manifests /manifests/ +COPY metadata /metadata/ diff --git a/operators/keycloak-operator/26.0.0/manifests/keycloak-operator.clusterserviceversion.yaml b/operators/keycloak-operator/26.0.0/manifests/keycloak-operator.clusterserviceversion.yaml new file mode 100644 index 00000000000..e81b925b2f6 --- /dev/null +++ b/operators/keycloak-operator/26.0.0/manifests/keycloak-operator.clusterserviceversion.yaml @@ -0,0 +1,310 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: ClusterServiceVersion +metadata: + annotations: + containerImage: quay.io/keycloak/keycloak-operator:26.0.0 + repository: https://github.com/keycloak/keycloak + capabilities: Deep Insights + categories: Security + certified: "false" + alm-examples: |- + [ + { + "apiVersion": "k8s.keycloak.org/v2alpha1", + "kind": "Keycloak", + "metadata": { + "name": "example-keycloak", + "labels": { + "app": "sso" + } + }, + "spec": { + "instances": 1, + "hostname": { + "hostname": "example.org" + }, + "http": { + "tlsSecret": "my-tls-secret" + } + } + }, + { + "apiVersion": "k8s.keycloak.org/v2alpha1", + "kind": "KeycloakRealmImport", + "metadata": { + "name": "example-keycloak-realm-import", + "labels": { + "app": "sso" + } + }, + "spec": { + "keycloakCRName": "example-keycloak", + "realm": {} + } + } + ] + support: Red Hat + description: An Operator for installing and managing Keycloak + createdAt: "2024-10-04T07:12:01Z" + name: keycloak-operator.v26.0.0 + namespace: placeholder +spec: + customresourcedefinitions: + owned: + - kind: KeycloakRealmImport + description: Represents a Keycloak Realm Import + displayName: KeycloakRealmImport + name: keycloakrealmimports.k8s.keycloak.org + version: v2alpha1 + - kind: Keycloak + description: Represents a Keycloak Instance + displayName: Keycloak + name: keycloaks.k8s.keycloak.org + version: v2alpha1 + description: | + A Kubernetes Operator based on the Operator SDK for installing and managing Keycloak. + + Keycloak lets you add authentication to applications and secure services with minimum fuss. No need to deal with storing users or authenticating users. It's all available out of the box. + + The operator can deploy and manage Keycloak instances on Kubernetes and OpenShift. + The following features are supported: + + * Install Keycloak to a namespace + * Import Keycloak Realms + displayName: Keycloak Operator + icon: + - base64data: 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 + mediatype: image/png + install: + spec: + clusterPermissions: + - rules: + - apiGroups: + - config.openshift.io + resources: + - ingresses + verbs: + - get + serviceAccountName: keycloak-operator + deployments: + - name: keycloak-operator + spec: + replicas: 1 + selector: + matchLabels: + name: keycloak-operator + template: + metadata: + labels: + name: keycloak-operator + spec: + containers: + - env: + - name: RELATED_IMAGE_KEYCLOAK + value: quay.io/keycloak/keycloak:26.0.0 + - name: QUARKUS_OPERATOR_SDK_CONTROLLERS_KEYCLOAKREALMIMPORTCONTROLLER_NAMESPACES + valueFrom: + fieldRef: + fieldPath: "metadata.annotations['olm.targetNamespaces']" + - name: QUARKUS_OPERATOR_SDK_CONTROLLERS_KEYCLOAKCONTROLLER_NAMESPACES + valueFrom: + fieldRef: + fieldPath: "metadata.annotations['olm.targetNamespaces']" + - name: POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: OPERATOR_NAME + value: keycloak-operator + image: quay.io/keycloak/keycloak-operator:26.0.0 + imagePullPolicy: Always + name: keycloak-operator + resources: + limits: + cpu: 700m + memory: 450Mi + requests: + cpu: 300m + memory: 450Mi + serviceAccountName: keycloak-operator + strategy: {} + permissions: + - rules: + - apiGroups: + - apps + resources: + - statefulsets + verbs: + - get + - list + - watch + - create + - delete + - patch + - update + - apiGroups: + - "" + resources: + - configmaps + verbs: + - get + - list + - watch + - apiGroups: + - "" + resources: + - secrets + - services + verbs: + - get + - list + - watch + - create + - delete + - patch + - update + - apiGroups: + - "" + resources: + - pods + verbs: + - list + - apiGroups: + - batch + resources: + - jobs + verbs: + - get + - list + - watch + - create + - delete + - patch + - update + - apiGroups: + - networking.k8s.io + resources: + - ingresses + verbs: + - get + - list + - watch + - create + - delete + - patch + - update + - apiGroups: + - k8s.keycloak.org + resources: + - keycloakrealmimports + - keycloakrealmimports/status + - keycloakrealmimports/finalizers + verbs: + - get + - list + - watch + - patch + - update + - create + - delete + - apiGroups: + - "" + resources: + - secrets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - k8s.keycloak.org + resources: + - keycloaks + - keycloaks/status + - keycloaks/finalizers + verbs: + - get + - list + - watch + - patch + - update + - create + - delete + - apiGroups: + - "" + resources: + - services + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - networking.k8s.io + resources: + - ingresses + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - "" + resources: + - secrets + verbs: + - create + - delete + - get + - list + - watch + serviceAccountName: keycloak-operator + strategy: deployment + installModes: + - supported: true + type: OwnNamespace + - supported: true + type: SingleNamespace + - supported: false + type: MultiNamespace + - supported: false + type: AllNamespaces + keywords: + - Keycloak + - Identity + - Access + links: + - name: Documentation + url: https://www.keycloak.org/guides#operator + - name: Keycloak + url: https://www.keycloak.org/ + - name: Keycloak Discourse + url: https://keycloak.discourse.group/ + maintainers: + - email: keycloak-dev@googlegroups.com + name: Keycloak DEV mailing list + maturity: stable + nativeAPIs: + - kind: Secret + group: "" + version: v1 + - kind: Service + group: "" + version: v1 + - kind: Ingress + group: networking.k8s.io + version: v1 + provider: + name: Red Hat + replaces: keycloak-operator.v25.0.6 + version: 26.0.0 + apiservicedefinitions: {} diff --git a/operators/keycloak-operator/26.0.0/manifests/keycloakrealmimports.k8s.keycloak.org-v1.crd.yml b/operators/keycloak-operator/26.0.0/manifests/keycloakrealmimports.k8s.keycloak.org-v1.crd.yml new file mode 100644 index 00000000000..6167b2de718 --- /dev/null +++ b/operators/keycloak-operator/26.0.0/manifests/keycloakrealmimports.k8s.keycloak.org-v1.crd.yml @@ -0,0 +1,3180 @@ +# Generated by Fabric8 CRDGenerator, manual edits might get overwritten! +apiVersion: "apiextensions.k8s.io/v1" +kind: "CustomResourceDefinition" +metadata: + name: "keycloakrealmimports.k8s.keycloak.org" +spec: + group: "k8s.keycloak.org" + names: + kind: "KeycloakRealmImport" + plural: "keycloakrealmimports" + singular: "keycloakrealmimport" + scope: "Namespaced" + versions: + - name: "v2alpha1" + schema: + openAPIV3Schema: + properties: + spec: + properties: + keycloakCRName: + description: "The name of the Keycloak CR to reference, in the same\ + \ namespace." + 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." + properties: + accessCodeLifespan: + type: "integer" + accessCodeLifespanLogin: + type: "integer" + accessCodeLifespanUserAction: + type: "integer" + accessTokenLifespan: + type: "integer" + accessTokenLifespanForImplicitFlow: + type: "integer" + accountTheme: + type: "string" + actionTokenGeneratedByAdminLifespan: + type: "integer" + actionTokenGeneratedByUserLifespan: + type: "integer" + adminEventsDetailsEnabled: + type: "boolean" + adminEventsEnabled: + type: "boolean" + adminTheme: + type: "string" + applicationScopeMappings: + additionalProperties: + items: + properties: + client: + type: "string" + clientScope: + type: "string" + clientTemplate: + type: "string" + roles: + items: + type: "string" + type: "array" + self: + type: "string" + type: "object" + type: "array" + type: "object" + applications: + items: + properties: + access: + additionalProperties: + type: "boolean" + type: "object" + adminUrl: + type: "string" + alwaysDisplayInConsole: + type: "boolean" + attributes: + additionalProperties: + type: "string" + type: "object" + authenticationFlowBindingOverrides: + additionalProperties: + type: "string" + type: "object" + authorizationServicesEnabled: + type: "boolean" + authorizationSettings: + properties: + allowRemoteResourceManagement: + type: "boolean" + clientId: + type: "string" + decisionStrategy: + enum: + - "AFFIRMATIVE" + - "CONSENSUS" + - "UNANIMOUS" + type: "string" + id: + type: "string" + name: + type: "string" + policies: + items: + properties: + config: + additionalProperties: + type: "string" + type: "object" + decisionStrategy: + enum: + - "AFFIRMATIVE" + - "CONSENSUS" + - "UNANIMOUS" + type: "string" + description: + type: "string" + id: + type: "string" + logic: + enum: + - "NEGATIVE" + - "POSITIVE" + type: "string" + name: + type: "string" + owner: + type: "string" + policies: + items: + type: "string" + type: "array" + resources: + items: + type: "string" + type: "array" + resourcesData: + items: + properties: + _id: + type: "string" + attributes: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + displayName: + type: "string" + icon_uri: + type: "string" + name: + type: "string" + owner: + properties: + id: + type: "string" + name: + type: "string" + type: "object" + ownerManagedAccess: + type: "boolean" + scopes: + items: + properties: + displayName: + type: "string" + iconUri: + type: "string" + id: + type: "string" + name: + type: "string" + type: "object" + type: "array" + type: + type: "string" + uris: + items: + type: "string" + type: "array" + type: "object" + type: "array" + scopes: + items: + type: "string" + type: "array" + scopesData: + items: + properties: + displayName: + type: "string" + iconUri: + type: "string" + id: + type: "string" + name: + type: "string" + type: "object" + type: "array" + type: + type: "string" + type: "object" + type: "array" + policyEnforcementMode: + enum: + - "DISABLED" + - "ENFORCING" + - "PERMISSIVE" + type: "string" + resources: + items: + properties: + _id: + type: "string" + attributes: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + displayName: + type: "string" + icon_uri: + type: "string" + name: + type: "string" + owner: + properties: + id: + type: "string" + name: + type: "string" + type: "object" + ownerManagedAccess: + type: "boolean" + scopes: + items: + properties: + displayName: + type: "string" + iconUri: + type: "string" + id: + type: "string" + name: + type: "string" + type: "object" + type: "array" + type: + type: "string" + uris: + items: + type: "string" + type: "array" + type: "object" + type: "array" + scopes: + items: + properties: + displayName: + type: "string" + iconUri: + type: "string" + id: + type: "string" + name: + type: "string" + type: "object" + type: "array" + type: "object" + baseUrl: + type: "string" + bearerOnly: + type: "boolean" + claims: + properties: + address: + type: "boolean" + email: + type: "boolean" + gender: + type: "boolean" + locale: + type: "boolean" + name: + type: "boolean" + phone: + type: "boolean" + picture: + type: "boolean" + profile: + type: "boolean" + username: + type: "boolean" + website: + type: "boolean" + type: "object" + clientAuthenticatorType: + type: "string" + clientId: + type: "string" + clientTemplate: + type: "string" + consentRequired: + type: "boolean" + defaultClientScopes: + items: + type: "string" + type: "array" + defaultRoles: + items: + type: "string" + type: "array" + description: + type: "string" + directAccessGrantsEnabled: + type: "boolean" + directGrantsOnly: + type: "boolean" + enabled: + type: "boolean" + frontchannelLogout: + type: "boolean" + fullScopeAllowed: + type: "boolean" + id: + type: "string" + implicitFlowEnabled: + type: "boolean" + name: + type: "string" + nodeReRegistrationTimeout: + type: "integer" + notBefore: + type: "integer" + optionalClientScopes: + items: + type: "string" + type: "array" + origin: + type: "string" + protocol: + type: "string" + protocolMappers: + items: + properties: + config: + additionalProperties: + type: "string" + type: "object" + consentRequired: + type: "boolean" + consentText: + type: "string" + id: + type: "string" + name: + type: "string" + protocol: + type: "string" + protocolMapper: + type: "string" + type: "object" + type: "array" + publicClient: + type: "boolean" + redirectUris: + items: + type: "string" + type: "array" + registeredNodes: + additionalProperties: + type: "integer" + type: "object" + registrationAccessToken: + type: "string" + rootUrl: + type: "string" + secret: + type: "string" + serviceAccountsEnabled: + type: "boolean" + standardFlowEnabled: + type: "boolean" + surrogateAuthRequired: + type: "boolean" + type: + type: "string" + useTemplateConfig: + type: "boolean" + useTemplateMappers: + type: "boolean" + useTemplateScope: + type: "boolean" + webOrigins: + items: + type: "string" + type: "array" + type: "object" + type: "array" + attributes: + additionalProperties: + type: "string" + type: "object" + authenticationFlows: + items: + properties: + alias: + type: "string" + authenticationExecutions: + items: + properties: + authenticator: + type: "string" + authenticatorConfig: + type: "string" + authenticatorFlow: + type: "boolean" + autheticatorFlow: + type: "boolean" + flowAlias: + type: "string" + priority: + type: "integer" + requirement: + type: "string" + userSetupAllowed: + type: "boolean" + type: "object" + type: "array" + builtIn: + type: "boolean" + description: + type: "string" + id: + type: "string" + providerId: + type: "string" + topLevel: + type: "boolean" + type: "object" + type: "array" + authenticatorConfig: + items: + properties: + alias: + type: "string" + config: + additionalProperties: + type: "string" + type: "object" + id: + type: "string" + type: "object" + type: "array" + browserFlow: + type: "string" + browserSecurityHeaders: + additionalProperties: + type: "string" + type: "object" + bruteForceProtected: + type: "boolean" + certificate: + type: "string" + clientAuthenticationFlow: + type: "string" + clientOfflineSessionIdleTimeout: + type: "integer" + clientOfflineSessionMaxLifespan: + type: "integer" + clientPolicies: + x-kubernetes-preserve-unknown-fields: true + clientProfiles: + x-kubernetes-preserve-unknown-fields: true + clientScopeMappings: + additionalProperties: + items: + properties: + client: + type: "string" + clientScope: + type: "string" + clientTemplate: + type: "string" + roles: + items: + type: "string" + type: "array" + self: + type: "string" + type: "object" + type: "array" + type: "object" + clientScopes: + items: + properties: + attributes: + additionalProperties: + type: "string" + type: "object" + description: + type: "string" + id: + type: "string" + name: + type: "string" + protocol: + type: "string" + protocolMappers: + items: + properties: + config: + additionalProperties: + type: "string" + type: "object" + consentRequired: + type: "boolean" + consentText: + type: "string" + id: + type: "string" + name: + type: "string" + protocol: + type: "string" + protocolMapper: + type: "string" + type: "object" + type: "array" + type: "object" + type: "array" + clientSessionIdleTimeout: + type: "integer" + clientSessionMaxLifespan: + type: "integer" + clientTemplates: + items: + properties: + attributes: + additionalProperties: + type: "string" + type: "object" + bearerOnly: + type: "boolean" + consentRequired: + type: "boolean" + description: + type: "string" + directAccessGrantsEnabled: + type: "boolean" + frontchannelLogout: + type: "boolean" + fullScopeAllowed: + type: "boolean" + id: + type: "string" + implicitFlowEnabled: + type: "boolean" + name: + type: "string" + protocol: + type: "string" + protocolMappers: + items: + properties: + config: + additionalProperties: + type: "string" + type: "object" + consentRequired: + type: "boolean" + consentText: + type: "string" + id: + type: "string" + name: + type: "string" + protocol: + type: "string" + protocolMapper: + type: "string" + type: "object" + type: "array" + publicClient: + type: "boolean" + serviceAccountsEnabled: + type: "boolean" + standardFlowEnabled: + type: "boolean" + type: "object" + type: "array" + clients: + items: + properties: + access: + additionalProperties: + type: "boolean" + type: "object" + adminUrl: + type: "string" + alwaysDisplayInConsole: + type: "boolean" + attributes: + additionalProperties: + type: "string" + type: "object" + authenticationFlowBindingOverrides: + additionalProperties: + type: "string" + type: "object" + authorizationServicesEnabled: + type: "boolean" + authorizationSettings: + properties: + allowRemoteResourceManagement: + type: "boolean" + clientId: + type: "string" + decisionStrategy: + enum: + - "AFFIRMATIVE" + - "CONSENSUS" + - "UNANIMOUS" + type: "string" + id: + type: "string" + name: + type: "string" + policies: + items: + properties: + config: + additionalProperties: + type: "string" + type: "object" + decisionStrategy: + enum: + - "AFFIRMATIVE" + - "CONSENSUS" + - "UNANIMOUS" + type: "string" + description: + type: "string" + id: + type: "string" + logic: + enum: + - "NEGATIVE" + - "POSITIVE" + type: "string" + name: + type: "string" + owner: + type: "string" + policies: + items: + type: "string" + type: "array" + resources: + items: + type: "string" + type: "array" + resourcesData: + items: + properties: + _id: + type: "string" + attributes: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + displayName: + type: "string" + icon_uri: + type: "string" + name: + type: "string" + owner: + properties: + id: + type: "string" + name: + type: "string" + type: "object" + ownerManagedAccess: + type: "boolean" + scopes: + items: + properties: + displayName: + type: "string" + iconUri: + type: "string" + id: + type: "string" + name: + type: "string" + type: "object" + type: "array" + type: + type: "string" + uris: + items: + type: "string" + type: "array" + type: "object" + type: "array" + scopes: + items: + type: "string" + type: "array" + scopesData: + items: + properties: + displayName: + type: "string" + iconUri: + type: "string" + id: + type: "string" + name: + type: "string" + type: "object" + type: "array" + type: + type: "string" + type: "object" + type: "array" + policyEnforcementMode: + enum: + - "DISABLED" + - "ENFORCING" + - "PERMISSIVE" + type: "string" + resources: + items: + properties: + _id: + type: "string" + attributes: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + displayName: + type: "string" + icon_uri: + type: "string" + name: + type: "string" + owner: + properties: + id: + type: "string" + name: + type: "string" + type: "object" + ownerManagedAccess: + type: "boolean" + scopes: + items: + properties: + displayName: + type: "string" + iconUri: + type: "string" + id: + type: "string" + name: + type: "string" + type: "object" + type: "array" + type: + type: "string" + uris: + items: + type: "string" + type: "array" + type: "object" + type: "array" + scopes: + items: + properties: + displayName: + type: "string" + iconUri: + type: "string" + id: + type: "string" + name: + type: "string" + type: "object" + type: "array" + type: "object" + baseUrl: + type: "string" + bearerOnly: + type: "boolean" + clientAuthenticatorType: + type: "string" + clientId: + type: "string" + clientTemplate: + type: "string" + consentRequired: + type: "boolean" + defaultClientScopes: + items: + type: "string" + type: "array" + defaultRoles: + items: + type: "string" + type: "array" + description: + type: "string" + directAccessGrantsEnabled: + type: "boolean" + directGrantsOnly: + type: "boolean" + enabled: + type: "boolean" + frontchannelLogout: + type: "boolean" + fullScopeAllowed: + type: "boolean" + id: + type: "string" + implicitFlowEnabled: + type: "boolean" + name: + type: "string" + nodeReRegistrationTimeout: + type: "integer" + notBefore: + type: "integer" + optionalClientScopes: + items: + type: "string" + type: "array" + origin: + type: "string" + protocol: + type: "string" + protocolMappers: + items: + properties: + config: + additionalProperties: + type: "string" + type: "object" + consentRequired: + type: "boolean" + consentText: + type: "string" + id: + type: "string" + name: + type: "string" + protocol: + type: "string" + protocolMapper: + type: "string" + type: "object" + type: "array" + publicClient: + type: "boolean" + redirectUris: + items: + type: "string" + type: "array" + registeredNodes: + additionalProperties: + type: "integer" + type: "object" + registrationAccessToken: + type: "string" + rootUrl: + type: "string" + secret: + type: "string" + serviceAccountsEnabled: + type: "boolean" + standardFlowEnabled: + type: "boolean" + surrogateAuthRequired: + type: "boolean" + type: + type: "string" + useTemplateConfig: + type: "boolean" + useTemplateMappers: + type: "boolean" + useTemplateScope: + type: "boolean" + webOrigins: + items: + type: "string" + type: "array" + type: "object" + type: "array" + codeSecret: + type: "string" + components: + additionalProperties: + items: + properties: + config: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + id: + type: "string" + name: + type: "string" + providerId: + type: "string" + subComponents: + additionalProperties: + items: + properties: + config: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + id: + type: "string" + name: + type: "string" + providerId: + type: "string" + subComponents: + additionalProperties: + items: + properties: + config: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + id: + type: "string" + name: + type: "string" + providerId: + type: "string" + subComponents: + additionalProperties: + items: + properties: + config: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + id: + type: "string" + name: + type: "string" + providerId: + type: "string" + subComponents: + additionalProperties: + items: + properties: + config: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + id: + type: "string" + name: + type: "string" + providerId: + type: "string" + subComponents: + additionalProperties: + items: + properties: + config: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + id: + type: "string" + name: + type: "string" + providerId: + type: "string" + subComponents: + additionalProperties: + items: + properties: + config: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + id: + type: "string" + name: + type: "string" + providerId: + type: "string" + subComponents: + additionalProperties: + items: + properties: + config: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + id: + type: "string" + name: + type: "string" + providerId: + type: "string" + subComponents: + additionalProperties: + items: + properties: + config: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + id: + type: "string" + name: + type: "string" + providerId: + type: "string" + subComponents: + additionalProperties: + items: + properties: + config: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + id: + type: "string" + name: + type: "string" + providerId: + type: "string" + subComponents: + additionalProperties: + items: + properties: + config: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + id: + type: "string" + name: + type: "string" + providerId: + type: "string" + subType: + type: "string" + type: "object" + type: "array" + type: "object" + subType: + type: "string" + type: "object" + type: "array" + type: "object" + subType: + type: "string" + type: "object" + type: "array" + type: "object" + subType: + type: "string" + type: "object" + type: "array" + type: "object" + subType: + type: "string" + type: "object" + type: "array" + type: "object" + subType: + type: "string" + type: "object" + type: "array" + type: "object" + subType: + type: "string" + type: "object" + type: "array" + type: "object" + subType: + type: "string" + type: "object" + type: "array" + type: "object" + subType: + type: "string" + type: "object" + type: "array" + type: "object" + subType: + type: "string" + type: "object" + type: "array" + type: "object" + subType: + type: "string" + type: "object" + type: "array" + type: "object" + defaultDefaultClientScopes: + items: + type: "string" + type: "array" + defaultGroups: + items: + type: "string" + type: "array" + defaultLocale: + type: "string" + defaultOptionalClientScopes: + items: + type: "string" + type: "array" + defaultRole: + properties: + attributes: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + clientRole: + type: "boolean" + composite: + type: "boolean" + composites: + properties: + application: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + client: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + realm: + items: + type: "string" + type: "array" + type: "object" + containerId: + type: "string" + description: + type: "string" + id: + type: "string" + name: + type: "string" + scopeParamRequired: + type: "boolean" + type: "object" + defaultRoles: + items: + type: "string" + type: "array" + defaultSignatureAlgorithm: + type: "string" + directGrantFlow: + type: "string" + displayName: + type: "string" + displayNameHtml: + type: "string" + dockerAuthenticationFlow: + type: "string" + duplicateEmailsAllowed: + type: "boolean" + editUsernameAllowed: + type: "boolean" + emailTheme: + type: "string" + enabled: + type: "boolean" + enabledEventTypes: + items: + type: "string" + type: "array" + eventsEnabled: + type: "boolean" + eventsExpiration: + type: "integer" + eventsListeners: + items: + type: "string" + type: "array" + failureFactor: + type: "integer" + federatedUsers: + 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" + 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" + firstBrokerLoginFlow: + type: "string" + groups: + items: + properties: + access: + additionalProperties: + type: "boolean" + type: "object" + attributes: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + clientRoles: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + id: + type: "string" + name: + type: "string" + parentId: + type: "string" + path: + type: "string" + realmRoles: + items: + type: "string" + type: "array" + subGroupCount: + type: "integer" + subGroups: + items: + properties: + access: + additionalProperties: + type: "boolean" + type: "object" + attributes: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + clientRoles: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + id: + type: "string" + name: + type: "string" + parentId: + type: "string" + path: + type: "string" + realmRoles: + items: + type: "string" + type: "array" + subGroupCount: + type: "integer" + subGroups: + items: + properties: + access: + additionalProperties: + type: "boolean" + type: "object" + attributes: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + clientRoles: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + id: + type: "string" + name: + type: "string" + parentId: + type: "string" + path: + type: "string" + realmRoles: + items: + type: "string" + type: "array" + subGroupCount: + type: "integer" + subGroups: + items: + properties: + access: + additionalProperties: + type: "boolean" + type: "object" + attributes: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + clientRoles: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + id: + type: "string" + name: + type: "string" + parentId: + type: "string" + path: + type: "string" + realmRoles: + items: + type: "string" + type: "array" + subGroupCount: + type: "integer" + subGroups: + items: + properties: + access: + additionalProperties: + type: "boolean" + type: "object" + attributes: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + clientRoles: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + id: + type: "string" + name: + type: "string" + parentId: + type: "string" + path: + type: "string" + realmRoles: + items: + type: "string" + type: "array" + subGroupCount: + type: "integer" + subGroups: + items: + properties: + access: + additionalProperties: + type: "boolean" + type: "object" + attributes: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + clientRoles: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + id: + type: "string" + name: + type: "string" + parentId: + type: "string" + path: + type: "string" + realmRoles: + items: + type: "string" + type: "array" + subGroupCount: + type: "integer" + subGroups: + items: + properties: + access: + additionalProperties: + type: "boolean" + type: "object" + attributes: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + clientRoles: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + id: + type: "string" + name: + type: "string" + parentId: + type: "string" + path: + type: "string" + realmRoles: + items: + type: "string" + type: "array" + subGroupCount: + type: "integer" + subGroups: + items: + properties: + access: + additionalProperties: + type: "boolean" + type: "object" + attributes: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + clientRoles: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + id: + type: "string" + name: + type: "string" + parentId: + type: "string" + path: + type: "string" + realmRoles: + items: + type: "string" + type: "array" + subGroupCount: + type: "integer" + subGroups: + items: + properties: + access: + additionalProperties: + type: "boolean" + type: "object" + attributes: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + clientRoles: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + id: + type: "string" + name: + type: "string" + parentId: + type: "string" + path: + type: "string" + realmRoles: + items: + type: "string" + type: "array" + subGroupCount: + type: "integer" + subGroups: + items: + properties: + access: + additionalProperties: + type: "boolean" + type: "object" + attributes: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + clientRoles: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + id: + type: "string" + name: + type: "string" + parentId: + type: "string" + path: + type: "string" + realmRoles: + items: + type: "string" + type: "array" + subGroupCount: + type: "integer" + subGroups: + items: + properties: + access: + additionalProperties: + type: "boolean" + type: "object" + attributes: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + clientRoles: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + id: + type: "string" + name: + type: "string" + parentId: + type: "string" + path: + type: "string" + realmRoles: + items: + 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" + id: + type: "string" + identityProviderMappers: + items: + properties: + config: + additionalProperties: + type: "string" + type: "object" + id: + type: "string" + identityProviderAlias: + type: "string" + identityProviderMapper: + type: "string" + name: + type: "string" + type: "object" + type: "array" + 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" + internationalizationEnabled: + type: "boolean" + keycloakVersion: + type: "string" + localizationTexts: + additionalProperties: + additionalProperties: + type: "string" + type: "object" + type: "object" + loginTheme: + type: "string" + loginWithEmailAllowed: + type: "boolean" + maxDeltaTimeSeconds: + type: "integer" + maxFailureWaitSeconds: + type: "integer" + maxTemporaryLockouts: + type: "integer" + minimumQuickLoginWaitSeconds: + type: "integer" + notBefore: + type: "integer" + oauth2DeviceCodeLifespan: + type: "integer" + oauth2DevicePollingInterval: + type: "integer" + oauthClients: + items: + properties: + access: + additionalProperties: + type: "boolean" + type: "object" + adminUrl: + type: "string" + alwaysDisplayInConsole: + type: "boolean" + attributes: + additionalProperties: + type: "string" + type: "object" + authenticationFlowBindingOverrides: + additionalProperties: + type: "string" + type: "object" + authorizationServicesEnabled: + type: "boolean" + authorizationSettings: + properties: + allowRemoteResourceManagement: + type: "boolean" + clientId: + type: "string" + decisionStrategy: + enum: + - "AFFIRMATIVE" + - "CONSENSUS" + - "UNANIMOUS" + type: "string" + id: + type: "string" + name: + type: "string" + policies: + items: + properties: + config: + additionalProperties: + type: "string" + type: "object" + decisionStrategy: + enum: + - "AFFIRMATIVE" + - "CONSENSUS" + - "UNANIMOUS" + type: "string" + description: + type: "string" + id: + type: "string" + logic: + enum: + - "NEGATIVE" + - "POSITIVE" + type: "string" + name: + type: "string" + owner: + type: "string" + policies: + items: + type: "string" + type: "array" + resources: + items: + type: "string" + type: "array" + resourcesData: + items: + properties: + _id: + type: "string" + attributes: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + displayName: + type: "string" + icon_uri: + type: "string" + name: + type: "string" + owner: + properties: + id: + type: "string" + name: + type: "string" + type: "object" + ownerManagedAccess: + type: "boolean" + scopes: + items: + properties: + displayName: + type: "string" + iconUri: + type: "string" + id: + type: "string" + name: + type: "string" + type: "object" + type: "array" + type: + type: "string" + uris: + items: + type: "string" + type: "array" + type: "object" + type: "array" + scopes: + items: + type: "string" + type: "array" + scopesData: + items: + properties: + displayName: + type: "string" + iconUri: + type: "string" + id: + type: "string" + name: + type: "string" + type: "object" + type: "array" + type: + type: "string" + type: "object" + type: "array" + policyEnforcementMode: + enum: + - "DISABLED" + - "ENFORCING" + - "PERMISSIVE" + type: "string" + resources: + items: + properties: + _id: + type: "string" + attributes: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + displayName: + type: "string" + icon_uri: + type: "string" + name: + type: "string" + owner: + properties: + id: + type: "string" + name: + type: "string" + type: "object" + ownerManagedAccess: + type: "boolean" + scopes: + items: + properties: + displayName: + type: "string" + iconUri: + type: "string" + id: + type: "string" + name: + type: "string" + type: "object" + type: "array" + type: + type: "string" + uris: + items: + type: "string" + type: "array" + type: "object" + type: "array" + scopes: + items: + properties: + displayName: + type: "string" + iconUri: + type: "string" + id: + type: "string" + name: + type: "string" + type: "object" + type: "array" + type: "object" + baseUrl: + type: "string" + bearerOnly: + type: "boolean" + claims: + properties: + address: + type: "boolean" + email: + type: "boolean" + gender: + type: "boolean" + locale: + type: "boolean" + name: + type: "boolean" + phone: + type: "boolean" + picture: + type: "boolean" + profile: + type: "boolean" + username: + type: "boolean" + website: + type: "boolean" + type: "object" + clientAuthenticatorType: + type: "string" + clientId: + type: "string" + clientTemplate: + type: "string" + consentRequired: + type: "boolean" + defaultClientScopes: + items: + type: "string" + type: "array" + defaultRoles: + items: + type: "string" + type: "array" + description: + type: "string" + directAccessGrantsEnabled: + type: "boolean" + directGrantsOnly: + type: "boolean" + enabled: + type: "boolean" + frontchannelLogout: + type: "boolean" + fullScopeAllowed: + type: "boolean" + id: + type: "string" + implicitFlowEnabled: + type: "boolean" + name: + type: "string" + nodeReRegistrationTimeout: + type: "integer" + notBefore: + type: "integer" + optionalClientScopes: + items: + type: "string" + type: "array" + origin: + type: "string" + protocol: + type: "string" + protocolMappers: + items: + properties: + config: + additionalProperties: + type: "string" + type: "object" + consentRequired: + type: "boolean" + consentText: + type: "string" + id: + type: "string" + name: + type: "string" + protocol: + type: "string" + protocolMapper: + type: "string" + type: "object" + type: "array" + publicClient: + type: "boolean" + redirectUris: + items: + type: "string" + type: "array" + registeredNodes: + additionalProperties: + type: "integer" + type: "object" + registrationAccessToken: + type: "string" + rootUrl: + type: "string" + secret: + type: "string" + serviceAccountsEnabled: + type: "boolean" + standardFlowEnabled: + type: "boolean" + surrogateAuthRequired: + type: "boolean" + type: + type: "string" + useTemplateConfig: + type: "boolean" + useTemplateMappers: + type: "boolean" + useTemplateScope: + type: "boolean" + webOrigins: + items: + type: "string" + type: "array" + type: "object" + type: "array" + offlineSessionIdleTimeout: + type: "integer" + offlineSessionMaxLifespan: + type: "integer" + offlineSessionMaxLifespanEnabled: + 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" + otpPolicyCodeReusable: + type: "boolean" + otpPolicyDigits: + type: "integer" + otpPolicyInitialCounter: + type: "integer" + otpPolicyLookAheadWindow: + type: "integer" + otpPolicyPeriod: + type: "integer" + otpPolicyType: + type: "string" + otpSupportedApplications: + items: + type: "string" + type: "array" + passwordCredentialGrantAllowed: + type: "boolean" + passwordPolicy: + type: "string" + permanentLockout: + type: "boolean" + privateKey: + type: "string" + protocolMappers: + items: + properties: + config: + additionalProperties: + type: "string" + type: "object" + consentRequired: + type: "boolean" + consentText: + type: "string" + id: + type: "string" + name: + type: "string" + protocol: + type: "string" + protocolMapper: + type: "string" + type: "object" + type: "array" + publicKey: + type: "string" + quickLoginCheckMilliSeconds: + type: "integer" + realm: + type: "string" + refreshTokenMaxReuse: + type: "integer" + registrationAllowed: + type: "boolean" + registrationEmailAsUsername: + type: "boolean" + registrationFlow: + type: "string" + rememberMe: + type: "boolean" + requiredActions: + items: + properties: + alias: + type: "string" + config: + additionalProperties: + type: "string" + type: "object" + defaultAction: + type: "boolean" + enabled: + type: "boolean" + name: + type: "string" + priority: + type: "integer" + providerId: + type: "string" + type: "object" + type: "array" + requiredCredentials: + items: + type: "string" + type: "array" + resetCredentialsFlow: + type: "string" + resetPasswordAllowed: + type: "boolean" + revokeRefreshToken: + type: "boolean" + roles: + properties: + application: + additionalProperties: + items: + properties: + attributes: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + clientRole: + type: "boolean" + composite: + type: "boolean" + composites: + properties: + application: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + client: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + realm: + items: + type: "string" + type: "array" + type: "object" + containerId: + type: "string" + description: + type: "string" + id: + type: "string" + name: + type: "string" + scopeParamRequired: + type: "boolean" + type: "object" + type: "array" + type: "object" + client: + additionalProperties: + items: + properties: + attributes: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + clientRole: + type: "boolean" + composite: + type: "boolean" + composites: + properties: + application: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + client: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + realm: + items: + type: "string" + type: "array" + type: "object" + containerId: + type: "string" + description: + type: "string" + id: + type: "string" + name: + type: "string" + scopeParamRequired: + type: "boolean" + type: "object" + type: "array" + type: "object" + realm: + items: + properties: + attributes: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + clientRole: + type: "boolean" + composite: + type: "boolean" + composites: + properties: + application: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + client: + additionalProperties: + items: + type: "string" + type: "array" + type: "object" + realm: + items: + type: "string" + type: "array" + type: "object" + containerId: + type: "string" + description: + type: "string" + id: + type: "string" + name: + type: "string" + scopeParamRequired: + type: "boolean" + type: "object" + type: "array" + type: "object" + scopeMappings: + items: + properties: + client: + type: "string" + clientScope: + type: "string" + clientTemplate: + type: "string" + roles: + items: + type: "string" + type: "array" + self: + type: "string" + type: "object" + type: "array" + smtpServer: + additionalProperties: + type: "string" + type: "object" + social: + type: "boolean" + socialProviders: + additionalProperties: + type: "string" + type: "object" + sslRequired: + type: "string" + ssoSessionIdleTimeout: + type: "integer" + ssoSessionIdleTimeoutRememberMe: + type: "integer" + ssoSessionMaxLifespan: + type: "integer" + ssoSessionMaxLifespanRememberMe: + type: "integer" + supportedLocales: + items: + type: "string" + type: "array" + updateProfileOnInitialSocialLogin: + type: "boolean" + userFederationMappers: + items: + properties: + config: + additionalProperties: + type: "string" + type: "object" + federationMapperType: + type: "string" + federationProviderDisplayName: + type: "string" + id: + type: "string" + name: + type: "string" + type: "object" + type: "array" + userFederationProviders: + items: + properties: + changedSyncPeriod: + type: "integer" + config: + additionalProperties: + type: "string" + type: "object" + displayName: + type: "string" + fullSyncPeriod: + type: "integer" + id: + type: "string" + lastSync: + type: "integer" + priority: + type: "integer" + providerName: + type: "string" + type: "object" + type: "array" + userManagedAccessAllowed: + type: "boolean" + users: + 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" + 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" + verifyEmail: + type: "boolean" + waitIncrementSeconds: + type: "integer" + webAuthnPolicyAcceptableAaguids: + items: + type: "string" + type: "array" + webAuthnPolicyAttestationConveyancePreference: + type: "string" + webAuthnPolicyAuthenticatorAttachment: + type: "string" + webAuthnPolicyAvoidSameAuthenticatorRegister: + type: "boolean" + webAuthnPolicyCreateTimeout: + type: "integer" + webAuthnPolicyExtraOrigins: + items: + type: "string" + type: "array" + webAuthnPolicyPasswordlessAcceptableAaguids: + items: + type: "string" + type: "array" + webAuthnPolicyPasswordlessAttestationConveyancePreference: + type: "string" + webAuthnPolicyPasswordlessAuthenticatorAttachment: + type: "string" + webAuthnPolicyPasswordlessAvoidSameAuthenticatorRegister: + type: "boolean" + webAuthnPolicyPasswordlessCreateTimeout: + type: "integer" + webAuthnPolicyPasswordlessExtraOrigins: + items: + type: "string" + type: "array" + webAuthnPolicyPasswordlessRequireResidentKey: + type: "string" + webAuthnPolicyPasswordlessRpEntityName: + type: "string" + webAuthnPolicyPasswordlessRpId: + type: "string" + webAuthnPolicyPasswordlessSignatureAlgorithms: + items: + type: "string" + type: "array" + webAuthnPolicyPasswordlessUserVerificationRequirement: + type: "string" + webAuthnPolicyRequireResidentKey: + type: "string" + webAuthnPolicyRpEntityName: + type: "string" + webAuthnPolicyRpId: + type: "string" + webAuthnPolicySignatureAlgorithms: + items: + type: "string" + type: "array" + webAuthnPolicyUserVerificationRequirement: + type: "string" + type: "object" + resources: + description: "Compute Resources required by Keycloak container. If\ + \ not specified, the value is inherited from the Keycloak CR." + properties: + claims: + items: + properties: + name: + type: "string" + type: "object" + type: "array" + limits: + additionalProperties: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + type: "object" + requests: + additionalProperties: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + type: "object" + type: "object" + required: + - "keycloakCRName" + - "realm" + type: "object" + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + type: "string" + message: + type: "string" + observedGeneration: + type: "integer" + status: + type: "string" + type: + type: "string" + type: "object" + type: "array" + type: "object" + type: "object" + served: true + storage: true + subresources: + status: {} diff --git a/operators/keycloak-operator/26.0.0/manifests/keycloaks.k8s.keycloak.org-v1.crd.yml b/operators/keycloak-operator/26.0.0/manifests/keycloaks.k8s.keycloak.org-v1.crd.yml new file mode 100644 index 00000000000..6733762b00b --- /dev/null +++ b/operators/keycloak-operator/26.0.0/manifests/keycloaks.k8s.keycloak.org-v1.crd.yml @@ -0,0 +1,3655 @@ +# Generated by Fabric8 CRDGenerator, manual edits might get overwritten! +apiVersion: "apiextensions.k8s.io/v1" +kind: "CustomResourceDefinition" +metadata: + name: "keycloaks.k8s.keycloak.org" +spec: + group: "k8s.keycloak.org" + names: + kind: "Keycloak" + plural: "keycloaks" + shortNames: + - "kc" + singular: "keycloak" + scope: "Namespaced" + versions: + - name: "v2alpha1" + schema: + openAPIV3Schema: + properties: + spec: + properties: + additionalOptions: + description: |- + Configuration of the Keycloak server. + expressed as a keys (reference: https://www.keycloak.org/server/all-config) and values that can be either direct values or references to secrets. + items: + properties: + name: + type: "string" + secret: + properties: + key: + type: "string" + name: + type: "string" + optional: + type: "boolean" + type: "object" + value: + 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" + properties: + configMapFile: + properties: + key: + type: "string" + name: + type: "string" + optional: + type: "boolean" + type: "object" + type: "object" + db: + 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" + 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" + passwordSecret: + description: "The reference to a secret holding the password of\ + \ the database user." + properties: + key: + type: "string" + name: + type: "string" + optional: + type: "boolean" + type: "object" + poolInitialSize: + description: "The initial size of the connection pool." + type: "integer" + poolMaxSize: + description: "The maximum size of the connection pool." + type: "integer" + poolMinSize: + 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" + schema: + 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" + usernameSecret: + description: "The reference to a secret holding the username of\ + \ the database user." + properties: + key: + type: "string" + name: + type: "string" + optional: + type: "boolean" + type: "object" + vendor: + 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" + items: + type: "string" + type: "array" + enabled: + description: "Enabled Keycloak features" + items: + type: "string" + type: "array" + type: "object" + hostname: + description: "In this section you can configure Keycloak hostname\ + \ and related properties." + properties: + admin: + description: "The hostname for accessing the administration console.\ + \ Applicable for Hostname v1 and v2." + type: "string" + adminUrl: + 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. Applicable for\ + \ Hostname v1 and v2." + type: "string" + strict: + description: "Disables dynamically resolving the hostname from\ + \ request headers. Applicable for Hostname v1 and v2." + type: "boolean" + strictBackchannel: + 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" + properties: + httpEnabled: + description: "Enables the HTTP listener." + type: "boolean" + httpPort: + description: "The used HTTP port." + type: "integer" + httpsPort: + 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" + 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" + imagePullSecrets: + 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" + ingress: + description: |- + The deployment is, by default, exposed through a basic ingress. + You can change this behaviour by setting the enabled property to false. + properties: + annotations: + additionalProperties: + type: "string" + description: "Additional annotations to be appended to the Ingress\ + \ object" + type: "object" + className: + type: "string" + enabled: + type: "boolean" + type: "object" + instances: + description: "Number of Keycloak instances. Default is 1." + type: "integer" + proxy: + 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" + resources: + description: "Compute Resources required by Keycloak container" + properties: + claims: + items: + properties: + name: + type: "string" + type: "object" + type: "array" + limits: + additionalProperties: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + type: "object" + requests: + additionalProperties: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + 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" + transaction: + 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" + truststores: + additionalProperties: + properties: + name: + description: "Not used. To be removed in later versions." + type: "string" + secret: + properties: + name: + type: "string" + optional: + type: "boolean" + required: + - "name" + type: "object" + required: + - "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. + Use at your own risk and open an issue with your use-case if you don't find an alternative way. + properties: + podTemplate: + description: |- + You can configure that will be merged with the one configured by default by the operator. + Use at your own risk, we reserve the possibility to remove/change the way any field gets merged in future releases without notice. + Reference: https://kubernetes.io/docs/concepts/workloads/pods/#pod-templates + properties: + metadata: + properties: + annotations: + additionalProperties: + type: "string" + type: "object" + creationTimestamp: + type: "string" + deletionGracePeriodSeconds: + type: "integer" + deletionTimestamp: + type: "string" + finalizers: + items: + type: "string" + type: "array" + generateName: + type: "string" + generation: + type: "integer" + labels: + additionalProperties: + type: "string" + type: "object" + managedFields: + items: + properties: + apiVersion: + type: "string" + fieldsType: + type: "string" + fieldsV1: + type: "object" + manager: + type: "string" + operation: + type: "string" + subresource: + type: "string" + time: + type: "string" + type: "object" + type: "array" + name: + type: "string" + namespace: + type: "string" + ownerReferences: + items: + properties: + apiVersion: + type: "string" + blockOwnerDeletion: + type: "boolean" + controller: + type: "boolean" + kind: + type: "string" + name: + type: "string" + uid: + type: "string" + type: "object" + type: "array" + resourceVersion: + type: "string" + selfLink: + type: "string" + uid: + type: "string" + type: "object" + spec: + properties: + activeDeadlineSeconds: + type: "integer" + 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" + automountServiceAccountToken: + type: "boolean" + containers: + items: + properties: + args: + items: + type: "string" + type: "array" + command: + items: + type: "string" + type: "array" + env: + items: + properties: + name: + type: "string" + value: + type: "string" + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: "string" + name: + type: "string" + optional: + type: "boolean" + type: "object" + fieldRef: + properties: + apiVersion: + type: "string" + fieldPath: + type: "string" + type: "object" + resourceFieldRef: + properties: + containerName: + type: "string" + divisor: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + resource: + type: "string" + type: "object" + secretKeyRef: + properties: + key: + type: "string" + name: + type: "string" + optional: + type: "boolean" + type: "object" + type: "object" + type: "object" + type: "array" + envFrom: + items: + properties: + configMapRef: + properties: + name: + type: "string" + optional: + type: "boolean" + type: "object" + prefix: + type: "string" + secretRef: + properties: + name: + type: "string" + optional: + type: "boolean" + type: "object" + type: "object" + type: "array" + image: + type: "string" + imagePullPolicy: + type: "string" + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: "string" + type: "array" + type: "object" + httpGet: + properties: + host: + type: "string" + httpHeaders: + items: + properties: + name: + type: "string" + value: + type: "string" + type: "object" + type: "array" + path: + type: "string" + port: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + scheme: + type: "string" + type: "object" + sleep: + properties: + seconds: + type: "integer" + type: "object" + tcpSocket: + properties: + host: + type: "string" + port: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + type: "object" + type: "object" + preStop: + properties: + exec: + properties: + command: + items: + type: "string" + type: "array" + type: "object" + httpGet: + properties: + host: + type: "string" + httpHeaders: + items: + properties: + name: + type: "string" + value: + type: "string" + type: "object" + type: "array" + path: + type: "string" + port: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + scheme: + type: "string" + type: "object" + sleep: + properties: + seconds: + type: "integer" + type: "object" + tcpSocket: + properties: + host: + type: "string" + port: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + type: "object" + type: "object" + type: "object" + livenessProbe: + properties: + exec: + properties: + command: + items: + type: "string" + type: "array" + type: "object" + failureThreshold: + type: "integer" + grpc: + properties: + port: + type: "integer" + service: + type: "string" + type: "object" + httpGet: + properties: + host: + type: "string" + httpHeaders: + items: + properties: + name: + type: "string" + value: + type: "string" + type: "object" + type: "array" + path: + type: "string" + port: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + scheme: + type: "string" + type: "object" + initialDelaySeconds: + type: "integer" + periodSeconds: + type: "integer" + successThreshold: + type: "integer" + tcpSocket: + properties: + host: + type: "string" + port: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + type: "object" + terminationGracePeriodSeconds: + type: "integer" + timeoutSeconds: + type: "integer" + type: "object" + name: + type: "string" + ports: + items: + properties: + containerPort: + type: "integer" + hostIP: + type: "string" + hostPort: + type: "integer" + name: + type: "string" + protocol: + type: "string" + type: "object" + type: "array" + readinessProbe: + properties: + exec: + properties: + command: + items: + type: "string" + type: "array" + type: "object" + failureThreshold: + type: "integer" + grpc: + properties: + port: + type: "integer" + service: + type: "string" + type: "object" + httpGet: + properties: + host: + type: "string" + httpHeaders: + items: + properties: + name: + type: "string" + value: + type: "string" + type: "object" + type: "array" + path: + type: "string" + port: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + scheme: + type: "string" + type: "object" + initialDelaySeconds: + type: "integer" + periodSeconds: + type: "integer" + successThreshold: + type: "integer" + tcpSocket: + properties: + host: + type: "string" + port: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + type: "object" + terminationGracePeriodSeconds: + type: "integer" + timeoutSeconds: + type: "integer" + type: "object" + resizePolicy: + items: + properties: + resourceName: + type: "string" + restartPolicy: + type: "string" + type: "object" + type: "array" + resources: + properties: + claims: + items: + properties: + name: + type: "string" + type: "object" + type: "array" + limits: + additionalProperties: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + type: "object" + requests: + additionalProperties: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + type: "object" + type: "object" + restartPolicy: + type: "string" + securityContext: + properties: + allowPrivilegeEscalation: + type: "boolean" + appArmorProfile: + properties: + localhostProfile: + type: "string" + type: + type: "string" + type: "object" + capabilities: + properties: + add: + items: + type: "string" + type: "array" + drop: + items: + type: "string" + type: "array" + type: "object" + privileged: + type: "boolean" + procMount: + type: "string" + readOnlyRootFilesystem: + type: "boolean" + runAsGroup: + type: "integer" + runAsNonRoot: + type: "boolean" + runAsUser: + type: "integer" + seLinuxOptions: + properties: + level: + type: "string" + role: + type: "string" + type: + type: "string" + user: + type: "string" + type: "object" + seccompProfile: + properties: + localhostProfile: + type: "string" + type: + type: "string" + type: "object" + windowsOptions: + properties: + gmsaCredentialSpec: + type: "string" + gmsaCredentialSpecName: + type: "string" + hostProcess: + type: "boolean" + runAsUserName: + type: "string" + type: "object" + type: "object" + startupProbe: + properties: + exec: + properties: + command: + items: + type: "string" + type: "array" + type: "object" + failureThreshold: + type: "integer" + grpc: + properties: + port: + type: "integer" + service: + type: "string" + type: "object" + httpGet: + properties: + host: + type: "string" + httpHeaders: + items: + properties: + name: + type: "string" + value: + type: "string" + type: "object" + type: "array" + path: + type: "string" + port: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + scheme: + type: "string" + type: "object" + initialDelaySeconds: + type: "integer" + periodSeconds: + type: "integer" + successThreshold: + type: "integer" + tcpSocket: + properties: + host: + type: "string" + port: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + type: "object" + terminationGracePeriodSeconds: + type: "integer" + timeoutSeconds: + type: "integer" + type: "object" + stdin: + type: "boolean" + stdinOnce: + type: "boolean" + terminationMessagePath: + type: "string" + terminationMessagePolicy: + type: "string" + tty: + type: "boolean" + volumeDevices: + items: + properties: + devicePath: + type: "string" + name: + type: "string" + type: "object" + type: "array" + volumeMounts: + items: + properties: + mountPath: + type: "string" + mountPropagation: + type: "string" + name: + type: "string" + readOnly: + type: "boolean" + recursiveReadOnly: + type: "string" + subPath: + type: "string" + subPathExpr: + type: "string" + type: "object" + type: "array" + workingDir: + type: "string" + type: "object" + type: "array" + dnsConfig: + properties: + nameservers: + items: + type: "string" + type: "array" + options: + items: + properties: + name: + type: "string" + value: + type: "string" + type: "object" + type: "array" + searches: + items: + type: "string" + type: "array" + type: "object" + dnsPolicy: + type: "string" + enableServiceLinks: + type: "boolean" + ephemeralContainers: + items: + properties: + args: + items: + type: "string" + type: "array" + command: + items: + type: "string" + type: "array" + env: + items: + properties: + name: + type: "string" + value: + type: "string" + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: "string" + name: + type: "string" + optional: + type: "boolean" + type: "object" + fieldRef: + properties: + apiVersion: + type: "string" + fieldPath: + type: "string" + type: "object" + resourceFieldRef: + properties: + containerName: + type: "string" + divisor: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + resource: + type: "string" + type: "object" + secretKeyRef: + properties: + key: + type: "string" + name: + type: "string" + optional: + type: "boolean" + type: "object" + type: "object" + type: "object" + type: "array" + envFrom: + items: + properties: + configMapRef: + properties: + name: + type: "string" + optional: + type: "boolean" + type: "object" + prefix: + type: "string" + secretRef: + properties: + name: + type: "string" + optional: + type: "boolean" + type: "object" + type: "object" + type: "array" + image: + type: "string" + imagePullPolicy: + type: "string" + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: "string" + type: "array" + type: "object" + httpGet: + properties: + host: + type: "string" + httpHeaders: + items: + properties: + name: + type: "string" + value: + type: "string" + type: "object" + type: "array" + path: + type: "string" + port: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + scheme: + type: "string" + type: "object" + sleep: + properties: + seconds: + type: "integer" + type: "object" + tcpSocket: + properties: + host: + type: "string" + port: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + type: "object" + type: "object" + preStop: + properties: + exec: + properties: + command: + items: + type: "string" + type: "array" + type: "object" + httpGet: + properties: + host: + type: "string" + httpHeaders: + items: + properties: + name: + type: "string" + value: + type: "string" + type: "object" + type: "array" + path: + type: "string" + port: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + scheme: + type: "string" + type: "object" + sleep: + properties: + seconds: + type: "integer" + type: "object" + tcpSocket: + properties: + host: + type: "string" + port: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + type: "object" + type: "object" + type: "object" + livenessProbe: + properties: + exec: + properties: + command: + items: + type: "string" + type: "array" + type: "object" + failureThreshold: + type: "integer" + grpc: + properties: + port: + type: "integer" + service: + type: "string" + type: "object" + httpGet: + properties: + host: + type: "string" + httpHeaders: + items: + properties: + name: + type: "string" + value: + type: "string" + type: "object" + type: "array" + path: + type: "string" + port: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + scheme: + type: "string" + type: "object" + initialDelaySeconds: + type: "integer" + periodSeconds: + type: "integer" + successThreshold: + type: "integer" + tcpSocket: + properties: + host: + type: "string" + port: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + type: "object" + terminationGracePeriodSeconds: + type: "integer" + timeoutSeconds: + type: "integer" + type: "object" + name: + type: "string" + ports: + items: + properties: + containerPort: + type: "integer" + hostIP: + type: "string" + hostPort: + type: "integer" + name: + type: "string" + protocol: + type: "string" + type: "object" + type: "array" + readinessProbe: + properties: + exec: + properties: + command: + items: + type: "string" + type: "array" + type: "object" + failureThreshold: + type: "integer" + grpc: + properties: + port: + type: "integer" + service: + type: "string" + type: "object" + httpGet: + properties: + host: + type: "string" + httpHeaders: + items: + properties: + name: + type: "string" + value: + type: "string" + type: "object" + type: "array" + path: + type: "string" + port: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + scheme: + type: "string" + type: "object" + initialDelaySeconds: + type: "integer" + periodSeconds: + type: "integer" + successThreshold: + type: "integer" + tcpSocket: + properties: + host: + type: "string" + port: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + type: "object" + terminationGracePeriodSeconds: + type: "integer" + timeoutSeconds: + type: "integer" + type: "object" + resizePolicy: + items: + properties: + resourceName: + type: "string" + restartPolicy: + type: "string" + type: "object" + type: "array" + resources: + properties: + claims: + items: + properties: + name: + type: "string" + type: "object" + type: "array" + limits: + additionalProperties: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + type: "object" + requests: + additionalProperties: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + type: "object" + type: "object" + restartPolicy: + type: "string" + securityContext: + properties: + allowPrivilegeEscalation: + type: "boolean" + appArmorProfile: + properties: + localhostProfile: + type: "string" + type: + type: "string" + type: "object" + capabilities: + properties: + add: + items: + type: "string" + type: "array" + drop: + items: + type: "string" + type: "array" + type: "object" + privileged: + type: "boolean" + procMount: + type: "string" + readOnlyRootFilesystem: + type: "boolean" + runAsGroup: + type: "integer" + runAsNonRoot: + type: "boolean" + runAsUser: + type: "integer" + seLinuxOptions: + properties: + level: + type: "string" + role: + type: "string" + type: + type: "string" + user: + type: "string" + type: "object" + seccompProfile: + properties: + localhostProfile: + type: "string" + type: + type: "string" + type: "object" + windowsOptions: + properties: + gmsaCredentialSpec: + type: "string" + gmsaCredentialSpecName: + type: "string" + hostProcess: + type: "boolean" + runAsUserName: + type: "string" + type: "object" + type: "object" + startupProbe: + properties: + exec: + properties: + command: + items: + type: "string" + type: "array" + type: "object" + failureThreshold: + type: "integer" + grpc: + properties: + port: + type: "integer" + service: + type: "string" + type: "object" + httpGet: + properties: + host: + type: "string" + httpHeaders: + items: + properties: + name: + type: "string" + value: + type: "string" + type: "object" + type: "array" + path: + type: "string" + port: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + scheme: + type: "string" + type: "object" + initialDelaySeconds: + type: "integer" + periodSeconds: + type: "integer" + successThreshold: + type: "integer" + tcpSocket: + properties: + host: + type: "string" + port: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + type: "object" + terminationGracePeriodSeconds: + type: "integer" + timeoutSeconds: + type: "integer" + type: "object" + stdin: + type: "boolean" + stdinOnce: + type: "boolean" + targetContainerName: + type: "string" + terminationMessagePath: + type: "string" + terminationMessagePolicy: + type: "string" + tty: + type: "boolean" + volumeDevices: + items: + properties: + devicePath: + type: "string" + name: + type: "string" + type: "object" + type: "array" + volumeMounts: + items: + properties: + mountPath: + type: "string" + mountPropagation: + type: "string" + name: + type: "string" + readOnly: + type: "boolean" + recursiveReadOnly: + type: "string" + subPath: + type: "string" + subPathExpr: + type: "string" + type: "object" + type: "array" + workingDir: + type: "string" + type: "object" + type: "array" + hostAliases: + items: + properties: + hostnames: + items: + type: "string" + type: "array" + ip: + type: "string" + type: "object" + type: "array" + hostIPC: + type: "boolean" + hostNetwork: + type: "boolean" + hostPID: + type: "boolean" + hostUsers: + type: "boolean" + hostname: + type: "string" + imagePullSecrets: + items: + properties: + name: + type: "string" + type: "object" + type: "array" + initContainers: + items: + properties: + args: + items: + type: "string" + type: "array" + command: + items: + type: "string" + type: "array" + env: + items: + properties: + name: + type: "string" + value: + type: "string" + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: "string" + name: + type: "string" + optional: + type: "boolean" + type: "object" + fieldRef: + properties: + apiVersion: + type: "string" + fieldPath: + type: "string" + type: "object" + resourceFieldRef: + properties: + containerName: + type: "string" + divisor: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + resource: + type: "string" + type: "object" + secretKeyRef: + properties: + key: + type: "string" + name: + type: "string" + optional: + type: "boolean" + type: "object" + type: "object" + type: "object" + type: "array" + envFrom: + items: + properties: + configMapRef: + properties: + name: + type: "string" + optional: + type: "boolean" + type: "object" + prefix: + type: "string" + secretRef: + properties: + name: + type: "string" + optional: + type: "boolean" + type: "object" + type: "object" + type: "array" + image: + type: "string" + imagePullPolicy: + type: "string" + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: "string" + type: "array" + type: "object" + httpGet: + properties: + host: + type: "string" + httpHeaders: + items: + properties: + name: + type: "string" + value: + type: "string" + type: "object" + type: "array" + path: + type: "string" + port: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + scheme: + type: "string" + type: "object" + sleep: + properties: + seconds: + type: "integer" + type: "object" + tcpSocket: + properties: + host: + type: "string" + port: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + type: "object" + type: "object" + preStop: + properties: + exec: + properties: + command: + items: + type: "string" + type: "array" + type: "object" + httpGet: + properties: + host: + type: "string" + httpHeaders: + items: + properties: + name: + type: "string" + value: + type: "string" + type: "object" + type: "array" + path: + type: "string" + port: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + scheme: + type: "string" + type: "object" + sleep: + properties: + seconds: + type: "integer" + type: "object" + tcpSocket: + properties: + host: + type: "string" + port: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + type: "object" + type: "object" + type: "object" + livenessProbe: + properties: + exec: + properties: + command: + items: + type: "string" + type: "array" + type: "object" + failureThreshold: + type: "integer" + grpc: + properties: + port: + type: "integer" + service: + type: "string" + type: "object" + httpGet: + properties: + host: + type: "string" + httpHeaders: + items: + properties: + name: + type: "string" + value: + type: "string" + type: "object" + type: "array" + path: + type: "string" + port: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + scheme: + type: "string" + type: "object" + initialDelaySeconds: + type: "integer" + periodSeconds: + type: "integer" + successThreshold: + type: "integer" + tcpSocket: + properties: + host: + type: "string" + port: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + type: "object" + terminationGracePeriodSeconds: + type: "integer" + timeoutSeconds: + type: "integer" + type: "object" + name: + type: "string" + ports: + items: + properties: + containerPort: + type: "integer" + hostIP: + type: "string" + hostPort: + type: "integer" + name: + type: "string" + protocol: + type: "string" + type: "object" + type: "array" + readinessProbe: + properties: + exec: + properties: + command: + items: + type: "string" + type: "array" + type: "object" + failureThreshold: + type: "integer" + grpc: + properties: + port: + type: "integer" + service: + type: "string" + type: "object" + httpGet: + properties: + host: + type: "string" + httpHeaders: + items: + properties: + name: + type: "string" + value: + type: "string" + type: "object" + type: "array" + path: + type: "string" + port: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + scheme: + type: "string" + type: "object" + initialDelaySeconds: + type: "integer" + periodSeconds: + type: "integer" + successThreshold: + type: "integer" + tcpSocket: + properties: + host: + type: "string" + port: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + type: "object" + terminationGracePeriodSeconds: + type: "integer" + timeoutSeconds: + type: "integer" + type: "object" + resizePolicy: + items: + properties: + resourceName: + type: "string" + restartPolicy: + type: "string" + type: "object" + type: "array" + resources: + properties: + claims: + items: + properties: + name: + type: "string" + type: "object" + type: "array" + limits: + additionalProperties: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + type: "object" + requests: + additionalProperties: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + type: "object" + type: "object" + restartPolicy: + type: "string" + securityContext: + properties: + allowPrivilegeEscalation: + type: "boolean" + appArmorProfile: + properties: + localhostProfile: + type: "string" + type: + type: "string" + type: "object" + capabilities: + properties: + add: + items: + type: "string" + type: "array" + drop: + items: + type: "string" + type: "array" + type: "object" + privileged: + type: "boolean" + procMount: + type: "string" + readOnlyRootFilesystem: + type: "boolean" + runAsGroup: + type: "integer" + runAsNonRoot: + type: "boolean" + runAsUser: + type: "integer" + seLinuxOptions: + properties: + level: + type: "string" + role: + type: "string" + type: + type: "string" + user: + type: "string" + type: "object" + seccompProfile: + properties: + localhostProfile: + type: "string" + type: + type: "string" + type: "object" + windowsOptions: + properties: + gmsaCredentialSpec: + type: "string" + gmsaCredentialSpecName: + type: "string" + hostProcess: + type: "boolean" + runAsUserName: + type: "string" + type: "object" + type: "object" + startupProbe: + properties: + exec: + properties: + command: + items: + type: "string" + type: "array" + type: "object" + failureThreshold: + type: "integer" + grpc: + properties: + port: + type: "integer" + service: + type: "string" + type: "object" + httpGet: + properties: + host: + type: "string" + httpHeaders: + items: + properties: + name: + type: "string" + value: + type: "string" + type: "object" + type: "array" + path: + type: "string" + port: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + scheme: + type: "string" + type: "object" + initialDelaySeconds: + type: "integer" + periodSeconds: + type: "integer" + successThreshold: + type: "integer" + tcpSocket: + properties: + host: + type: "string" + port: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + type: "object" + terminationGracePeriodSeconds: + type: "integer" + timeoutSeconds: + type: "integer" + type: "object" + stdin: + type: "boolean" + stdinOnce: + type: "boolean" + terminationMessagePath: + type: "string" + terminationMessagePolicy: + type: "string" + tty: + type: "boolean" + volumeDevices: + items: + properties: + devicePath: + type: "string" + name: + type: "string" + type: "object" + type: "array" + volumeMounts: + items: + properties: + mountPath: + type: "string" + mountPropagation: + type: "string" + name: + type: "string" + readOnly: + type: "boolean" + recursiveReadOnly: + type: "string" + subPath: + type: "string" + subPathExpr: + type: "string" + type: "object" + type: "array" + workingDir: + type: "string" + type: "object" + type: "array" + nodeName: + type: "string" + nodeSelector: + additionalProperties: + type: "string" + type: "object" + os: + properties: + name: + type: "string" + type: "object" + overhead: + additionalProperties: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + type: "object" + preemptionPolicy: + type: "string" + priority: + type: "integer" + priorityClassName: + type: "string" + readinessGates: + items: + properties: + conditionType: + type: "string" + type: "object" + type: "array" + resourceClaims: + items: + properties: + name: + type: "string" + source: + properties: + resourceClaimName: + type: "string" + resourceClaimTemplateName: + type: "string" + type: "object" + type: "object" + type: "array" + restartPolicy: + type: "string" + runtimeClassName: + type: "string" + schedulerName: + type: "string" + schedulingGates: + items: + properties: + name: + type: "string" + type: "object" + type: "array" + securityContext: + properties: + appArmorProfile: + properties: + localhostProfile: + type: "string" + type: + type: "string" + type: "object" + fsGroup: + type: "integer" + fsGroupChangePolicy: + type: "string" + runAsGroup: + type: "integer" + runAsNonRoot: + type: "boolean" + runAsUser: + type: "integer" + seLinuxOptions: + properties: + level: + type: "string" + role: + type: "string" + type: + type: "string" + user: + type: "string" + type: "object" + seccompProfile: + properties: + localhostProfile: + type: "string" + type: + type: "string" + type: "object" + supplementalGroups: + items: + type: "integer" + type: "array" + sysctls: + items: + properties: + name: + type: "string" + value: + type: "string" + type: "object" + type: "array" + windowsOptions: + properties: + gmsaCredentialSpec: + type: "string" + gmsaCredentialSpecName: + type: "string" + hostProcess: + type: "boolean" + runAsUserName: + type: "string" + type: "object" + type: "object" + serviceAccount: + type: "string" + serviceAccountName: + type: "string" + setHostnameAsFQDN: + type: "boolean" + shareProcessNamespace: + type: "boolean" + subdomain: + type: "string" + terminationGracePeriodSeconds: + type: "integer" + 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" + volumes: + items: + properties: + awsElasticBlockStore: + properties: + fsType: + type: "string" + partition: + type: "integer" + readOnly: + type: "boolean" + volumeID: + type: "string" + type: "object" + azureDisk: + properties: + cachingMode: + type: "string" + diskName: + type: "string" + diskURI: + type: "string" + fsType: + type: "string" + kind: + type: "string" + readOnly: + type: "boolean" + type: "object" + azureFile: + properties: + readOnly: + type: "boolean" + secretName: + type: "string" + shareName: + type: "string" + type: "object" + cephfs: + properties: + monitors: + items: + type: "string" + type: "array" + path: + type: "string" + readOnly: + type: "boolean" + secretFile: + type: "string" + secretRef: + properties: + name: + type: "string" + type: "object" + user: + type: "string" + type: "object" + cinder: + properties: + fsType: + type: "string" + readOnly: + type: "boolean" + secretRef: + properties: + name: + type: "string" + type: "object" + volumeID: + type: "string" + type: "object" + configMap: + properties: + defaultMode: + type: "integer" + items: + items: + properties: + key: + type: "string" + mode: + type: "integer" + path: + type: "string" + type: "object" + type: "array" + name: + type: "string" + optional: + type: "boolean" + type: "object" + csi: + properties: + driver: + type: "string" + fsType: + type: "string" + nodePublishSecretRef: + properties: + name: + type: "string" + type: "object" + readOnly: + type: "boolean" + volumeAttributes: + additionalProperties: + type: "string" + type: "object" + type: "object" + downwardAPI: + properties: + defaultMode: + type: "integer" + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: "string" + fieldPath: + type: "string" + type: "object" + mode: + type: "integer" + path: + type: "string" + resourceFieldRef: + properties: + containerName: + type: "string" + divisor: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + resource: + type: "string" + type: "object" + type: "object" + type: "array" + type: "object" + emptyDir: + properties: + medium: + type: "string" + sizeLimit: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + type: "object" + ephemeral: + properties: + volumeClaimTemplate: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: "string" + type: "object" + creationTimestamp: + type: "string" + deletionGracePeriodSeconds: + type: "integer" + deletionTimestamp: + type: "string" + finalizers: + items: + type: "string" + type: "array" + generateName: + type: "string" + generation: + type: "integer" + labels: + additionalProperties: + type: "string" + type: "object" + managedFields: + items: + properties: + apiVersion: + type: "string" + fieldsType: + type: "string" + fieldsV1: + type: "object" + manager: + type: "string" + operation: + type: "string" + subresource: + type: "string" + time: + type: "string" + type: "object" + type: "array" + name: + type: "string" + namespace: + type: "string" + ownerReferences: + items: + properties: + apiVersion: + type: "string" + blockOwnerDeletion: + type: "boolean" + controller: + type: "boolean" + kind: + type: "string" + name: + type: "string" + uid: + type: "string" + type: "object" + type: "array" + resourceVersion: + type: "string" + selfLink: + type: "string" + uid: + type: "string" + type: "object" + spec: + properties: + accessModes: + items: + type: "string" + type: "array" + dataSource: + properties: + apiGroup: + type: "string" + kind: + type: "string" + name: + type: "string" + type: "object" + dataSourceRef: + properties: + apiGroup: + type: "string" + kind: + type: "string" + name: + type: "string" + namespace: + type: "string" + type: "object" + resources: + properties: + limits: + additionalProperties: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + type: "object" + requests: + additionalProperties: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + type: "object" + type: "object" + selector: + 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" + storageClassName: + type: "string" + volumeAttributesClassName: + type: "string" + volumeMode: + type: "string" + volumeName: + type: "string" + type: "object" + type: "object" + type: "object" + fc: + properties: + fsType: + type: "string" + lun: + type: "integer" + readOnly: + type: "boolean" + targetWWNs: + items: + type: "string" + type: "array" + wwids: + items: + type: "string" + type: "array" + type: "object" + flexVolume: + properties: + driver: + type: "string" + fsType: + type: "string" + options: + additionalProperties: + type: "string" + type: "object" + readOnly: + type: "boolean" + secretRef: + properties: + name: + type: "string" + type: "object" + type: "object" + flocker: + properties: + datasetName: + type: "string" + datasetUUID: + type: "string" + type: "object" + gcePersistentDisk: + properties: + fsType: + type: "string" + partition: + type: "integer" + pdName: + type: "string" + readOnly: + type: "boolean" + type: "object" + gitRepo: + properties: + directory: + type: "string" + repository: + type: "string" + revision: + type: "string" + type: "object" + glusterfs: + properties: + endpoints: + type: "string" + path: + type: "string" + readOnly: + type: "boolean" + type: "object" + hostPath: + properties: + path: + type: "string" + type: + type: "string" + type: "object" + iscsi: + properties: + chapAuthDiscovery: + type: "boolean" + chapAuthSession: + type: "boolean" + fsType: + type: "string" + initiatorName: + type: "string" + iqn: + type: "string" + iscsiInterface: + type: "string" + lun: + type: "integer" + portals: + items: + type: "string" + type: "array" + readOnly: + type: "boolean" + secretRef: + properties: + name: + type: "string" + type: "object" + targetPortal: + type: "string" + type: "object" + name: + type: "string" + nfs: + properties: + path: + type: "string" + readOnly: + type: "boolean" + server: + type: "string" + type: "object" + persistentVolumeClaim: + properties: + claimName: + type: "string" + readOnly: + type: "boolean" + type: "object" + photonPersistentDisk: + properties: + fsType: + type: "string" + pdID: + type: "string" + type: "object" + portworxVolume: + properties: + fsType: + type: "string" + readOnly: + type: "boolean" + volumeID: + type: "string" + type: "object" + projected: + properties: + defaultMode: + type: "integer" + sources: + items: + properties: + clusterTrustBundle: + 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" + name: + type: "string" + optional: + type: "boolean" + path: + type: "string" + signerName: + type: "string" + type: "object" + configMap: + properties: + items: + items: + properties: + key: + type: "string" + mode: + type: "integer" + path: + type: "string" + type: "object" + type: "array" + name: + type: "string" + optional: + type: "boolean" + type: "object" + downwardAPI: + properties: + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: "string" + fieldPath: + type: "string" + type: "object" + mode: + type: "integer" + path: + type: "string" + resourceFieldRef: + properties: + containerName: + type: "string" + divisor: + anyOf: + - type: "integer" + - type: "string" + x-kubernetes-int-or-string: true + resource: + type: "string" + type: "object" + type: "object" + type: "array" + type: "object" + secret: + properties: + items: + items: + properties: + key: + type: "string" + mode: + type: "integer" + path: + type: "string" + type: "object" + type: "array" + name: + type: "string" + optional: + type: "boolean" + type: "object" + serviceAccountToken: + properties: + audience: + type: "string" + expirationSeconds: + type: "integer" + path: + type: "string" + type: "object" + type: "object" + type: "array" + type: "object" + quobyte: + properties: + group: + type: "string" + readOnly: + type: "boolean" + registry: + type: "string" + tenant: + type: "string" + user: + type: "string" + volume: + type: "string" + type: "object" + rbd: + properties: + fsType: + type: "string" + image: + type: "string" + keyring: + type: "string" + monitors: + items: + type: "string" + type: "array" + pool: + type: "string" + readOnly: + type: "boolean" + secretRef: + properties: + name: + type: "string" + type: "object" + user: + type: "string" + type: "object" + scaleIO: + properties: + fsType: + type: "string" + gateway: + type: "string" + protectionDomain: + type: "string" + readOnly: + type: "boolean" + secretRef: + properties: + name: + type: "string" + type: "object" + sslEnabled: + type: "boolean" + storageMode: + type: "string" + storagePool: + type: "string" + system: + type: "string" + volumeName: + type: "string" + type: "object" + secret: + properties: + defaultMode: + type: "integer" + items: + items: + properties: + key: + type: "string" + mode: + type: "integer" + path: + type: "string" + type: "object" + type: "array" + optional: + type: "boolean" + secretName: + type: "string" + type: "object" + storageos: + properties: + fsType: + type: "string" + readOnly: + type: "boolean" + secretRef: + properties: + name: + type: "string" + type: "object" + volumeName: + type: "string" + volumeNamespace: + type: "string" + type: "object" + vsphereVolume: + properties: + fsType: + type: "string" + storagePolicyID: + type: "string" + storagePolicyName: + type: "string" + volumePath: + type: "string" + type: "object" + type: "object" + type: "array" + type: "object" + type: "object" + type: "object" + type: "object" + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + type: "string" + message: + type: "string" + observedGeneration: + type: "integer" + status: + type: "string" + type: + type: "string" + type: "object" + type: "array" + instances: + type: "integer" + observedGeneration: + type: "integer" + selector: + type: "string" + type: "object" + type: "object" + served: true + storage: true + subresources: + scale: + labelSelectorPath: ".status.selector" + specReplicasPath: ".spec.instances" + statusReplicasPath: ".status.instances" + status: {} diff --git a/operators/keycloak-operator/26.0.0/metadata/annotations.yaml b/operators/keycloak-operator/26.0.0/metadata/annotations.yaml new file mode 100644 index 00000000000..3478dec1c18 --- /dev/null +++ b/operators/keycloak-operator/26.0.0/metadata/annotations.yaml @@ -0,0 +1,10 @@ +annotations: + operators.operatorframework.io.bundle.channel.default.v1: fast + operators.operatorframework.io.bundle.channels.v1: fast + operators.operatorframework.io.bundle.manifests.v1: manifests/ + operators.operatorframework.io.bundle.mediatype.v1: registry+v1 + operators.operatorframework.io.bundle.metadata.v1: metadata/ + operators.operatorframework.io.bundle.package.v1: keycloak-operator + operators.operatorframework.io.metrics.builder: qosdk-bundle-generator/6.8.0+79457f5 + operators.operatorframework.io.metrics.mediatype.v1: metrics+v1 + operators.operatorframework.io.metrics.project_layout: quarkus.javaoperatorsdk.io/v1-alpha