esrs 0.16.0

A Prima.it-opinionated library to achieve cqrs/es
Documentation
version: "3"

services:
  web:
    build: .
    container_name: esrs_web
    volumes:
      - .:/code
      - "app:/home/app/"
      - "~/.ssh:/home/app/.ssh"
      - "~/.aws:/home/app/.aws"
      - "~/.gitconfig:/home/app/.gitconfig"
      - "~/.gitignore:/home/app/.gitignore"
    working_dir: /code
    depends_on:
      - postgres
      - rabbit
      - zookeeper
      - kafka
    environment:
      BUILD_ENV: dev
      CARGO_HOME: /home/app/.cargo
      CARGO_TARGET_DIR: /home/app/target
      CARGO_MAKE_DISABLE_UPDATE_CHECK: 1
    networks:
      - default

  postgres:
    image: public.ecr.aws/bitnami/postgresql:11
    ports:
      - "5432:5432"
    environment:
      POSTGRES_PASSWORD: postgres
      POSTGRES_USER: postgres

  rabbit:
    image: rabbitmq:3.7.4-management
    ports:
      - "15676:15672"
      - "5676:5672"
    environment:
      RABBITMQ_DEFAULT_VHOST: rabbit
      RABBITMQ_DEFAULT_USER: rabbit
      RABBITMQ_DEFAULT_PASS: rabbit

  zookeeper:
    container_name: zookeeper
    image: public.ecr.aws/prima/zookeeper:7.3.0-1
    environment:
      ZOOKEEPER_CLIENT_PORT: 2181
      ZOOKEEPER_TICK_TIME: 2000
      KAFKA_OPTS: "-Dzookeeper.4lw.commands.whitelist=ruok"
    ports:
      - "2181:2181"
    healthcheck:
      test: "[ $$(echo ruok | nc localhost 2181 ) == imok ]"
      interval: 1s
      timeout: 10s
      retries: 100

  kafka:
    container_name: kafka
    image: public.ecr.aws/prima/kafka:7.3.0-1
    depends_on:
      zookeeper:
        condition: service_healthy
    ports:
      - "9092:9092"
      - "9997:9997"
      - "29092:29092"
    environment:
      KAFKA_BROKER_ID: 1
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT_HOST://host.docker.internal:29092, PLAINTEXT://kafka:9092
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
      KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
      KAFKA_CONFLUENT_REPORTERS_TELEMETRY_AUTO_ENABLE: "false"
#      KAFKA_SCHEMA_REGISTRY_URL: "schema-registry:8085"
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
      KAFKA_DEFAULT_REPLICATION_FACTOR: 1
      KAFKA_CONFLUENT_LICENSE_TOPIC_REPLICATION_FACTOR: 1
    healthcheck:
      test: [ "CMD", "kafka-topics", "--bootstrap-server", "kafka:9092", "--list" ]
      interval: 1s
      timeout: 10s
      retries: 100

volumes:
  app: