{
    "properties": {
        "database": {
            "description": "Kong database configuration properties",
            "properties": {
                "database": {
                    "default": "postgres",
                    "description": "The database backend type",
                    "type": "string"
                },
                "host": {
                    "default": "postgresql.marathon.l4lb.thisdcos.directory",
                    "description": "The DNS name of the internal MLB",
                    "type": "string"
                },
                "password": {
                    "default": "kong",
                    "description": "The postgresdb password",
                    "type": "string"
                },
                "port": {
                    "default": 5432,
                    "description": "The service port for the postgresdb",
                    "type": "integer"
                },
                "user": {
                    "default": "kong",
                    "description": "The postgresdb username",
                    "type": "string"
                }
            },
            "required": [
                "password",
                "host",
                "user",
                "port",
                "database"
            ],
            "type": "object"
        },
        "kong": {
            "description": "DC/OS service configuration properties",
            "properties": {
                "cpus": {
                    "default": 1,
                    "description": "CPU shares to allocate to each instance.",
                    "minimum": 1,
                    "type": "number"
                },
                "instances": {
                    "default": 1,
                    "description": "Number of instances to run.",
                    "minimum": 1,
                    "type": "integer"
                },
                "mem": {
                    "default": 512,
                    "description": "Memory (MB) to allocate to each task.",
                    "minimum": 512,
                    "type": "number"
                },
                "name": {
                    "default": "kong",
                    "description": "Name for this application",
                    "type": "string"
                },
                "role": {
                    "default": "*",
                    "description": "Deploy crm only on nodes with this role.",
                    "type": "string"
                }
            },
            "required": [
                "cpus",
                "mem",
                "instances",
                "name"
            ],
            "type": "object"
        },
        "marathon-lb": {
            "description": "Marathon-LB service configuration properties",
            "properties": {
                "group0": {
                    "default": "external",
                    "description": "The MLB name for HAPROXY_0_GROUP",
                    "type": "string"
                },
                "group1": {
                    "default": "external",
                    "description": "The MLB name for HAPROXY_1_GROUP",
                    "type": "string"
                },
                "port0": {
                    "default": 10001,
                    "description": "The service port for port0",
                    "type": "integer"
                },
                "port1": {
                    "default": 10002,
                    "description": "The service port for port1",
                    "type": "integer"
                },
                "port2": {
                    "default": 10003,
                    "description": "The service port for port2",
                    "type": "integer"
                },
                "port3": {
                    "default": 10004,
                    "description": "The service port for port3",
                    "type": "integer"
                }
            },
            "required": [
                "port0",
                "port1",
                "port2",
                "port3",
                "group0",
                "group1"
            ],
            "type": "object"
        }
    },
    "type": "object"
}