{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "id": "http://elasticbox.net/schemas/settings",
  "type": "object",
  "required": [
    "_id",
    "metadata",
    "schema"
  ],
  "additionalProperties": false,
  "properties": {
    "_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 36
    },
    "authentication": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "google_oauth": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "key": {
              "type": "string"
            },
            "redirect_uri": {
              "type": "string"
            },
            "secret": {
              "type": "string"
            }
          }
        },
        "password": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "regex": {
              "type": "string"
            }
          }
        },
        "saml": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "metadata": {
              "type": "string"
            },
            "idp_entity_id": {
              "type": "string"
            },
            "idp_domain": {
              "type": "string"
            },
            "idp_cert": {
              "type": "string"
            },
            "idp_sso": {
              "type": "string"
            }
          }
        }
      }
    },
    "charts": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "repo_url": {
          "type": "string"
        }
      }
    },
    "deleted": {
      "type": "string"
    },
    "hostname": {
      "type": "string"
    },
    "mail": {
      "type": "object",
      "required": [
        "server",
        "no_reply_address"
      ],
      "additionalProperties": false,
      "properties": {
        "authentication": {
          "type": "object",
          "required": [
            "username",
            "password"
          ],
          "additionalProperties": false,
          "properties": {
            "password": {
              "type": "string"
            },
            "username": {
              "type": "string"
            }
          }
        },
        "no_reply_address": {
          "type": "string"
        },
        "port": {
          "type": "integer",
          "default": 587
        },
        "server": {
          "type": "string"
        },
        "ssl": {
          "type": "boolean",
          "default": false
        }
      }
    },
    "metadata": {
      "type": "object",
      "properties": {
        "resourceVersion": {
          "type": "number"
        }
      }
    },
    "schema": {
      "type": "string",
      "enum": [
        "http://elasticbox.net/schemas/settings"
      ]
    },
    "schema_version": {
      "type": "integer"
    }
  },
  "type:": "object"
}