{

"definitions": {},
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"id": "kumonos-configuration",
"additionalProperties": true,
"required": [
  "version",
  "listener",
  "admin",
  "discovery_service",
  "sds"
],
"properties": {
  "version": {
    "type": "integer",
    "id": "/properties/version"
  },
  "listener": {
    "type": "object",
    "id": "/properties/listener",
    "additionalProperties": false,
    "required": [
      "address",
      "access_log_path"
    ],
    "properties": {
      "address": {
        "type": "string",
        "id": "/properties/listener/properties/address"
      },
      "access_log_path": {
        "type": "string",
        "id": "/properties/listener/properties/access_log_path"
      },
      "additional_http_filters": {
        "type": "array",
        "id": "/properties/listener/properties/additional_http_filters",
        "additionalProperties": true,
        "items": {
          "type": "object",
          "additionalProperties": true,
          "required": [
            "name",
            "config"
          ]
        }
      }
    }
  },
  "admin": {
    "type": "object",
    "id": "/properties/admin",
    "additionalProperties": false,
    "required": [
      "address",
      "access_log_path"
    ],
    "properties": {
      "address": {
        "type": "string",
        "id": "/properties/admin/properties/address"
      },
      "access_log_path": {
        "type": "string",
        "id": "/properties/admin/properties/access_log_path"
      }
    }
  },
  "discovery_service": {
    "type": "object",
    "id": "/properties/discovery_service",
    "additionalProperties": false,
    "required": [
      "lb",
      "tls",
      "refresh_delay_ms",
      "connect_timeout_ms"
    ],
    "properties": {
      "lb": {
        "type": "string",
        "id": "/properties/discovery_service/properties/properties/lb"
      },
      "tls": {
        "type": "boolean",
        "id": "/properties/discovery_service/properties/properties/tls"
      },
      "refresh_delay_ms": {
        "type": "integer",
        "id": "/properties/discovery_service/properties/refresh_delay_ms"
      },
      "connect_timeout_ms": {
        "type": "integer",
        "id": "/properties/discovery_service/properties/properties/connect_timeout_ms"
      }
    }
  },
  "sds": {
    "type": "object",
    "id": "/properties/sds",
    "additionalProperties": false,
    "required": [
      "lb",
      "tls",
      "refresh_delay_ms",
      "connect_timeout_ms"
    ],
    "properties": {
      "lb": {
        "type": "string",
        "id": "/properties/sds/properties/properties/lb"
      },
      "tls": {
        "type": "boolean",
        "id": "/properties/sds/properties/properties/tls"
      },
      "refresh_delay_ms": {
        "type": "integer",
        "id": "/properties/sds/properties/refresh_delay_ms"
      },
      "connect_timeout_ms": {
        "type": "integer",
        "id": "/properties/sds/properties/properties/connect_timeout_ms"
      }
    }
  },
  "statsd": {
    "type": "object",
    "id": "/properties/statsd",
    "additionalProperties": true,
    "required": [
      "address"
    ],
    "properties": {
      "address": {
        "type": "string",
        "id": "/properties/statsd/properties/address"
      }
    }
  },
  "runtime": {
    "type": "object",
    "id": "/properties/runtime",
    "additionalProperties": true
  }
}

}