{
    "properties": {
        "kafka": {
            "description": "Rest proxy kafka service configuration",
            "properties": {
                "client_sasl_kerberos_service_name": {
                    "default": "kafka",
                    "description": "The Kerberos principal name that Kafka runs as. This can be defined either in Kafka's JAAS config or in Kafka's config.",
                    "title": "Kafka client sasl kerberos service name",
                    "type": "string"
                },
                "client_sasl_mechanism": {
                    "default": "GSSAPI",
                    "description": "SASL mechanism used for client connections. This may be any mechanism for which a security provider is available. GSSAPI is the default mechanism.",
                    "title": "Kafka client sasl mechanism",
                    "type": "string"
                },
                "client_security_protocol": {
                    "default": "PLAINTEXT",
                    "description": "Protocol used to communicate with brokers. Valid values are: PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL",
                    "title": "Kafka client security protocol",
                    "type": "string"
                },
                "kerberos_enabled": {
                    "default": false,
                    "description": "Enable kerberos",
                    "type": "boolean"
                },
                "kerberos_jaas_secret": {
                    "default": "jaas",
                    "description": "Kerberos jaas secret containing jaas config",
                    "title": "Kerberos jaas secret",
                    "type": "string"
                },
                "kerberos_keytab_secret": {
                    "default": "__dcos_base64___keytab",
                    "description": "Kerberos keytab secret containing keytab",
                    "title": "Kerberos keytab secret",
                    "type": "string"
                },
                "kerberos_krb5_secret": {
                    "default": "krb5",
                    "description": "Kerberos krb5 secret containing krb5 config",
                    "title": "Kerberos krb5 secret",
                    "type": "string"
                },
                "zookeeper_connect": {
                    "default": "master.mesos:2181/dcos-service-confluent-kafka",
                    "description": "... . Note slahes in a kafka service name have to be removed, all excpet the first get replaced by two underscores.",
                    "title": "Zookeeper connect",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "registry": {
            "properties": {
                "access-control-allow-methods": {
                    "default": "",
                    "description": "Set value to Jetty Access-Control-Allow-Origin header for specified methods",
                    "type": "string"
                },
                "access-control-allow-origin": {
                    "default": "",
                    "description": "Set value for Jetty Access-Control-Allow-Origin header",
                    "type": "string"
                },
                "ciphers": {
                    "default": "TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384",
                    "description": "Comma-separated list of JSSE Cipher Suite Names",
                    "type": "string"
                },
                "cpus": {
                    "default": 1,
                    "description": "CPU shares to allocate to each schema-registry instance.",
                    "minimum": 1,
                    "type": "number"
                },
                "heap": {
                    "default": 256,
                    "description": "JVM heap allocation (in MB) for connect worker task; should be no greater than ~64MB less than total memory for the instance.",
                    "minimum": 256,
                    "type": "number"
                },
                "instances": {
                    "default": 1,
                    "description": "Number of instances to run (currently limited to 1).",
                    "maximum": 1,
                    "minimum": 1,
                    "type": "integer"
                },
                "keystore_secret": {
                    "default": "",
                    "description": "Keystore secret.",
                    "title": "Keystore secret",
                    "type": "string"
                },
                "listener_protocol": {
                    "default": "http",
                    "description": "Registry listener protocol, http or https.",
                    "title": "Registry listener protocol",
                    "type": "string"
                },
                "mem": {
                    "default": 512,
                    "description": "Memory (MB) to allocate to each schema-registry instance.",
                    "minimum": 320,
                    "type": "number"
                },
                "name": {
                    "default": "schema-registry",
                    "description": "Service name for the schema-registry instance(s)",
                    "type": "string"
                },
                "role": {
                    "default": "*",
                    "description": "Deploy schema-registry only on nodes with this role.",
                    "type": "string"
                },
                "ssl_client_auth": {
                    "default": false,
                    "description": "Used for HTTPS. Whether or not to require the HTTPS client to authenticate via the server's trust store.",
                    "type": "boolean"
                },
                "virtual_network_enabled": {
                    "default": false,
                    "description": "Enable virtual networking",
                    "type": "boolean"
                },
                "virtual_network_name": {
                    "default": "dcos",
                    "description": "The name of the virtual network to join",
                    "type": "string"
                },
                "zookeeper_namespace": {
                    "default": "dcos-service-confluent-kafka/schema-registry",
                    "description": "Zookeeper namespace for storing registry.",
                    "type": "string"
                }
            },
            "required": [
                "cpus",
                "mem",
                "instances",
                "name"
            ],
            "type": "object"
        }
    },
    "type": "object"
}