json_schema: {
      "properties": {
          "kafka-manager": {
              "description": "Kafka-manager configuration properties",
              "properties": {
                  "application_secret": {
                      "description": "The application secret key is used to secure cryptographics functions",
                      "type": "string"
                  },
                  "config": {
                      "default": "./conf/application.conf",
                      "description": "Path to kafka-manager config",
                      "type": "string"
                  },
                  "loglevel": {
                      "default": "INFO",
                      "description": "Java log level",
                      "type": "string"
                  },
                  "zk": {
                      "default": "zk-1.zk:2181,zk-2.zk:2181,zk-3.zk:2181,zk-4.zk:2181,zk-5.zk:2181",
                      "description": "Zookeeper URL for Kafka-manager",
                      "type": "string"
                  },
                  "zk-args": {
                      "description": "Kafka manager extra arguments",
                      "type": "string"
                  },
                  "zk-base-path": {
                      "description": "Base path for storing configuration in ZooKeeper",
                      "type": "string"
                  }
              },
              "required": [
                  "zk",
                  "application_secret"
              ],
              "type": "object"
          },
          "marathon-lb": {
              "description": "Kafka-manager works best when deployed on a virtual host",
              "properties": {
                  "enable": {
                      "default": true,
                      "description": "Enable or disable creating a VIP for external access through a public node running Marathon-LB.",
                      "type": "boolean"
                  },
                  "external_access_port": {
                      "default": 13005,
                      "description": "For external access, port number to be used for clear communication in the external Marathon-LB load balancer",
                      "type": "number"
                  },
                  "group": {
                      "default": "external",
                      "description": "HAProxy group.",
                      "type": "string"
                  },
                  "virtual_host": {
                      "description": "For external access, Virtual Host URL to be used in the external load balancer.",
                      "type": "string"
                  }
              },
              "type": "object"
          },
          "service": {
              "description": "DC/OS service configuration properties",
              "properties": {
                  "cpus": {
                      "default": 1.0,
                      "description": "CPU shares to allocate",
                      "minimum": 0.1,
                      "type": "number"
                  },
                  "instances": {
                      "default": 1,
                      "description": "Number of desired instances",
                      "type": "integer"
                  },
                  "mem": {
                      "default": 1024.0,
                      "description": "Memory to allocate",
                      "minimum": 1024.0,
                      "type": "number"
                  },
                  "name": {
                      "default": "kafka-manager",
                      "description": "The name of the kafka-manager service instance.",
                      "type": "string"
                  }
              },
              "required": [
                  "cpus",
                  "mem",
                  "instances"
              ],
              "type": "object"
          }
      },
      "type": "object"
  }