128 lines
3.9 KiB
YAML
Executable File
128 lines
3.9 KiB
YAML
Executable File
version: '2.3'
|
|
|
|
services:
|
|
zookeeper:
|
|
image: "registry-app.eng.qops.net:5001/core-platform/zookeeper:${ZOOKEEPER_VERSION:-0.1.4}"
|
|
container_name: "core-zookeeper"
|
|
healthcheck:
|
|
test: ["CMD", "echo", "ruok", "|", "nc", "core-zookeeper", "2181"]
|
|
interval: 5s
|
|
timeout: 10s
|
|
retries: 5
|
|
ports:
|
|
- "2181:2181"
|
|
environment:
|
|
- "ZOO_ENSEMBLE_HOST_LIST=zk1"
|
|
|
|
kafka:
|
|
image: "registry-app.eng.qops.net:5001/core-platform/kafka:${KAFKA_VERSION:-0.2.0}"
|
|
container_name: "core-kafka"
|
|
depends_on:
|
|
zookeeper:
|
|
condition: service_healthy
|
|
healthcheck:
|
|
test: ["CMD", "grep", "KafkaServer id=", "/opt/qualtrics/kafka/logs/server.log"]
|
|
interval: 5s
|
|
timeout: 10s
|
|
retries: 12
|
|
ports:
|
|
- "9092:9092"
|
|
- "8092:8092"
|
|
environment:
|
|
- "KAFKA_CONFIG_PORT=9092"
|
|
- "KAFKA_CONFIG_BROKER_ID=1"
|
|
- "KAFKA_HTTP_HEALTH_PORT=8092"
|
|
- "KAFKA_CONFIG_ZOOKEEPER_CONNECT=core-zookeeper:2181"
|
|
- "KAFKA_CONFIG_HOST_NAME=core-kafka"
|
|
- "KAFKA_ZOO_CHROOT=kafka/local"
|
|
- "KAFKA_CREATE_TOPICS=${KAFKA_CREATE_TOPICS}"
|
|
|
|
schema-registry:
|
|
image: "registry-app.eng.qops.net:5001/core-platform/schema-registry:${SCHEMA_REGISTRY_VERSION:-0.2.1}"
|
|
container_name: "qmp-schema-registry"
|
|
depends_on:
|
|
zookeeper:
|
|
condition: service_healthy
|
|
kafka:
|
|
condition: service_healthy
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://127.0.0.1:8081"]
|
|
interval: 5s
|
|
timeout: 10s
|
|
retries: 5
|
|
ports:
|
|
- "8081:8081"
|
|
environment:
|
|
- "SCHEMA_REGISTRY_PORT=8081"
|
|
- "SCHEMA_REGISTRY_CONFIG_KAFKASTORE_CONNECTION_URL=core-zookeeper:2181"
|
|
- "SCHEMA_REGISTRY_CONFIG_KAFKASTORE_TOPIC_REPLICATION_FACTOR=1"
|
|
- "SCHEMA_REGISTRY_CONFIG_DEBUG=true"
|
|
- "SCHEMA_REGISTRY_CONFIG_ACCESS_CONTROL_ALLOW_METHODS=GET,POST,PUT,OPTIONS"
|
|
- "SCHEMA_REGISTRY_CONFIG_ACCESS_CONTROL_ALLOW_ORIGIN=*"
|
|
- "SCHEMA_REGISTRY_ZOO_CHROOT=kafka/local"
|
|
|
|
schema-registry-ui:
|
|
image: "registry-app.eng.qops.net:5001/core-platform/schema-registry-ui:${SCHEMA_REGISTRY_UI_VERSION:-0.1.0}"
|
|
container_name: "qmp-schema-registry-ui"
|
|
depends_on:
|
|
schema-registry:
|
|
condition: service_healthy
|
|
ports:
|
|
- "8000:8000"
|
|
|
|
kafka-manager:
|
|
image: "registry-app.eng.qops.net:5001/core-platform/kafka-manager:${KAFKA_MANAGER_VERSION:-0.1.5}"
|
|
container_name: "core-kafka-manager"
|
|
depends_on:
|
|
zookeeper:
|
|
condition: service_healthy
|
|
kafka:
|
|
condition: service_healthy
|
|
ports:
|
|
- "9000:9000"
|
|
environment:
|
|
- "ZK_HOSTS=core-zookeeper:2181/kafka/local"
|
|
- "KAFKA_MANAGER_AUTH_ENABLED=false"
|
|
- "APPLICATION_SECRET=letmein"
|
|
|
|
qmp-tool:
|
|
image: "registry-app.eng.qops.net:5001/core-platform/qmp-tool:${QMP_TOOL_VERSION:-1.1.0}"
|
|
container_name: "qmp-tool"
|
|
depends_on:
|
|
schema-registry:
|
|
condition: service_healthy
|
|
environment:
|
|
- "SCHEMA_REGISTRY_URL=qmp-schema-registry:8081"
|
|
- "COMMAND=schema-management"
|
|
volumes:
|
|
- "${SCHEMAS_LOCATION:-./}:/opt/qualtrics/qmp/data"
|
|
|
|
kafka-rest-proxy:
|
|
image: "confluentinc/cp-kafka-rest"
|
|
container_name: "kafka-rest-proxy"
|
|
depends_on:
|
|
kafka:
|
|
condition: service_healthy
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://127.0.0.1:8082"]
|
|
interval: 5s
|
|
timeout: 10s
|
|
retries: 5
|
|
ports:
|
|
- "8082:8082"
|
|
environment:
|
|
- "KAFKA_REST_ZOOKEEPER_CONNECT=${ZK_CONNECT:-core-zookeeper:2181/kafka/local}"
|
|
- "KAFKA_REST_SCHEMA_REGISTRY_URL=${AVSC_CONNECT:-qmp-schema-registry:8081}"
|
|
- "KAFKA_REST_HOST_NAME=localhost"
|
|
- "KAFKA_REST_LISTENERS=http://0.0.0.0:8082"
|
|
|
|
kafka-topics-ui:
|
|
image: "landoop/kafka-topics-ui"
|
|
container_name: "kafka-topics-ui"
|
|
depends_on:
|
|
kafka-rest-proxy:
|
|
condition: service_healthy
|
|
ports:
|
|
- "8083:8000"
|
|
environment:
|
|
- "KAFKA_REST_PROXY_URL=http://kafka-rest-proxy:8082" |