{
  "description": "ClusterKeycloak is the Schema for the clusterkeycloaks API.",
  "properties": {
    "apiVersion": {
      "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
      "type": "string"
    },
    "kind": {
      "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
      "type": "string"
    },
    "metadata": {
      "type": "object"
    },
    "spec": {
      "description": "ClusterKeycloakSpec defines the desired state of ClusterKeycloak.",
      "properties": {
        "adminType": {
          "default": "user",
          "description": "AdminType can be user or serviceAccount, if serviceAccount was specified,\nthen client_credentials grant type should be used for getting admin realm token.",
          "enum": [
            "serviceAccount",
            "user"
          ],
          "type": "string"
        },
        "caCert": {
          "description": "CACert defines the root certificate authority\nthat api clients use when verifying server certificates.\nResources should be in the namespace defined in operator OPERATOR_NAMESPACE env.",
          "properties": {
            "configMapKeyRef": {
              "description": "Selects a key of a ConfigMap.",
              "properties": {
                "key": {
                  "description": "The key to select.",
                  "type": "string"
                },
                "name": {
                  "default": "",
                  "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                  "type": "string"
                }
              },
              "required": [
                "key"
              ],
              "type": "object",
              "x-kubernetes-map-type": "atomic",
              "additionalProperties": false
            },
            "secretKeyRef": {
              "description": "Selects a key of a secret.",
              "properties": {
                "key": {
                  "description": "The key of the secret to select from.",
                  "type": "string"
                },
                "name": {
                  "default": "",
                  "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                  "type": "string"
                }
              },
              "required": [
                "key"
              ],
              "type": "object",
              "x-kubernetes-map-type": "atomic",
              "additionalProperties": false
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "insecureSkipVerify": {
          "description": "InsecureSkipVerify controls whether api client verifies the server's\ncertificate chain and host name. If InsecureSkipVerify is true, api client\naccepts any certificate presented by the server and any host name in that\ncertificate.",
          "type": "boolean"
        },
        "secret": {
          "description": "Secret is a secret name which contains admin credentials.",
          "type": "string"
        },
        "url": {
          "description": "URL of keycloak service.",
          "type": "string"
        }
      },
      "required": [
        "secret",
        "url"
      ],
      "type": "object",
      "additionalProperties": false
    },
    "status": {
      "default": {
        "connected": false
      },
      "description": "ClusterKeycloakStatus defines the observed state of ClusterKeycloak.",
      "properties": {
        "connected": {
          "description": "Connected shows if keycloak service is up and running.",
          "type": "boolean"
        }
      },
      "required": [
        "connected"
      ],
      "type": "object",
      "additionalProperties": false
    }
  },
  "type": "object"
}
