From 6798dd7ba555af2db1a09e78e73bf01ffd140925 Mon Sep 17 00:00:00 2001 From: mmetc <92726601+mmetc@users.noreply.github.com> Date: Thu, 29 Sep 2022 09:24:00 +0200 Subject: [PATCH] "make localstack": added zookeper+kafka services (#1770) --- tests/localstack/docker-compose.yml | 61 ++++++++++++++++++++++++++--- 1 file changed, 56 insertions(+), 5 deletions(-) diff --git a/tests/localstack/docker-compose.yml b/tests/localstack/docker-compose.yml index 7e10ee88c..ca128e46d 100644 --- a/tests/localstack/docker-compose.yml +++ b/tests/localstack/docker-compose.yml @@ -6,11 +6,11 @@ services: image: localstack/localstack network_mode: bridge ports: - - "127.0.0.1:53:53" # only required for Pro (DNS) - - "127.0.0.1:53:53/udp" # only required for Pro (DNS) - - "127.0.0.1:443:443" # only required for Pro (LocalStack HTTPS Edge Proxy) - - "127.0.0.1:4510-4559:4510-4559" # external service port range - - "127.0.0.1:4566:4566" # LocalStack Edge Proxy + - "127.0.0.1:53:53" # only required for Pro (DNS) + - "127.0.0.1:53:53/udp" # only required for Pro (DNS) + - "127.0.0.1:443:443" # only required for Pro (LocalStack HTTPS Edge Proxy) + - "127.0.0.1:4510-4559:4510-4559" # external service port range + - "127.0.0.1:4566:4566" # LocalStack Edge Proxy environment: AWS_HOST: localstack SERVICES: "cloudwatch,logs,kinesis" @@ -30,3 +30,54 @@ services: volumes: - "${TMPDIR:-/tmp}/localstack:/tmp/localstack" - "/var/run/docker.sock:/var/run/docker.sock" + + zoo1: + image: confluentinc/cp-zookeeper:7.1.1 + ports: + - "2181:2181" + environment: + ZOOKEEPER_CLIENT_PORT: 2181 + ZOOKEEPER_SERVER_ID: 1 + ZOOKEEPER_SERVERS: zoo1:2888:3888 + + healthcheck: + test: jps -l | grep zookeeper + interval: 10s + retries: 5 + timeout: 5s + + kafka1: + image: crowdsecurity/kafka-ssl + ports: + - "9093:9093" + - "9092:9092" + - "9999:9999" + environment: + KAFKA_ADVERTISED_LISTENERS: LISTENER_DOCKER_INTERNAL://127.0.0.1:19092,LISTENER_DOCKER_EXTERNAL://127.0.0.1:9092,LISTENER_DOCKER_EXTERNAL_SSL://127.0.0.1:9093 + KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: LISTENER_DOCKER_INTERNAL:PLAINTEXT,LISTENER_DOCKER_EXTERNAL:PLAINTEXT,LISTENER_DOCKER_EXTERNAL_SSL:SSL + KAFKA_INTER_BROKER_LISTENER_NAME: LISTENER_DOCKER_INTERNAL + KAFKA_ZOOKEEPER_CONNECT: "zoo1:2181" + KAFKA_BROKER_ID: 1 + KAFKA_LOG4J_LOGGERS: "kafka.controller=INFO,kafka.producer.async.DefaultEventHandler=INFO,state.change.logger=INFO" + KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 + KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1 + KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1 + KAFKA_JMX_PORT: 9999 + KAFKA_JMX_HOSTNAME: "127.0.0.1" + KAFKA_AUTHORIZER_CLASS_NAME: kafka.security.authorizer.AclAuthorizer + KAFKA_ALLOW_EVERYONE_IF_NO_ACL_FOUND: "true" + KAFKA_SSL_KEYSTORE_FILENAME: kafka.kafka1.keystore.jks + KAFKA_SSL_KEYSTORE_CREDENTIALS: kafka1_keystore_creds + KAFKA_SSL_KEY_CREDENTIALS: kafka1_sslkey_creds + KAFKA_SSL_TRUSTSTORE_FILENAME: kafka.kafka1.truststore.jks + KAFKA_SSL_TRUSTSTORE_CREDENTIALS: kafka1_truststore_creds + KAFKA_SSL_ENABLED_PROTOCOLS: TLSv1.2 + KAFKA_SSL_PROTOCOL: TLSv1.2 + KAFKA_SSL_CLIENT_AUTH: none + KAFKA_AUTO_CREATE_TOPICS_ENABLE: "true" + + healthcheck: + test: kafka-broker-api-versions --version + interval: 10s + retries: 5 + timeout: 10s