{
  "$schema": "http://json-schema.org/schema#",
  "type": "object",
  "properties": {
    "frontend": {
      "type": "object",
      "title": "Frontend configuration",
      "form": true,
      "properties": {
        "replicaCount": {
          "type": "integer",
          "title": "Number of replicas",
          "form": true
        }
      }
    },
    "dashboard": {
      "type": "object",
      "title": "Dashboard configuration",
      "form": true,
      "properties": {
        "replicaCount": {
          "type": "integer",
          "title": "Number of replicas",
          "form": true
        }
      }
    },
    "kubeappsapis": {
      "type": "object",
      "title": "kubeappsapis configuration",
      "form": true,
      "properties": {
        "replicaCount": {
          "type": "integer",
          "title": "Number of replicas",
          "form": true
        }
      }
    },
    "ingress": {
      "type": "object",
      "form": true,
      "title": "Ingress configuration",
      "properties": {
        "enabled": {
          "type": "boolean",
          "form": true,
          "title": "Use a custom hostname",
          "description": "Enable the ingress resource that allows you to access the Kubeapps dashboard."
        },
        "hostname": {
          "type": "string",
          "form": true,
          "title": "Hostname",
          "hidden": {
            "value": false,
            "path": "ingress/enabled"
          }
        },
        "tls": {
          "type": "boolean",
          "form": true,
          "title": "Enable TLS configuration",
          "hidden": {
            "value": false,
            "path": "ingress/enabled"
          }
        }
      }
    },
    "authProxy": {
      "type": "object",
      "title": "OIDC Proxy configuration",
      "properties": {
        "enabled": {
          "type": "boolean",
          "form": true,
          "title": "Enable OIDC proxy",
          "description": "Use an OIDC provider in order to manage accounts, groups and roles with a single application"
        },
        "provider": {
          "type": "string",
          "form": true,
          "title": "Identity Provider name",
          "description": "See https://oauth2-proxy.github.io/oauth2-proxy/docs/configuration/overview#generating-a-cookie-secret to find available providers",
          "hidden": {
            "value": false,
            "path": "authProxy/enabled"
          }
        },
        "clientID": {
          "type": "string",
          "form": true,
          "title": "Client ID:",
          "description": "Client ID of the Identity Provider",
          "hidden": {
            "value": false,
            "path": "authProxy/enabled"
          }
        },
        "clientSecret": {
          "type": "string",
          "form": true,
          "title": "Client Secret",
          "description": "Secret used to validate the Client ID",
          "hidden": {
            "value": false,
            "path": "authProxy/enabled"
          }
        },
        "cookieSecret": {
          "type": "string",
          "form": true,
          "title": "Cookie Secret",
          "description": "Used by OAuth2 Proxy to encrypt any credentials",
          "hidden": {
            "value": false,
            "path": "authProxy/enabled"
          }
        }
      }
    }
  }
}
