{
    "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"
}