version: "3.9" networks: default: name: roll driver: bridge volumes: debugfs: driver: local driver_opts: type: debugfs device: debugfs o: uid=0,gid=0,mode=755 services: cassandraapp: depends_on: cassandra-load-keyspace: condition: service_completed_successfully build: context: . dockerfile: ./Dockerfile pid: "host" ports: - "8080:8080" volumes: - /proc:/host/proc environment: - GODEBUG=tracebackancestors=5 go-auto: depends_on: - cassandraapp build: context: ../.. dockerfile: Dockerfile privileged: true pid: "host" environment: - OTEL_EXPORTER_OTLP_ENDPOINT=http://jaeger:4318 - OTEL_GO_AUTO_TARGET_EXE=/app/main - OTEL_SERVICE_NAME=cassandraapp - OTEL_PROPAGATORS=tracecontext,baggage volumes: - /proc:/host/proc - debugfs:/sys/kernel/debug jaeger: image: jaegertracing/all-in-one:latest ports: - "16686:16686" - "14268:14268" environment: - COLLECTOR_OTLP_ENABLED=true - LOG_LEVEL=debug deploy: resources: limits: memory: 300M restart: unless-stopped cassandra: image: cassandra:4.1 ports: - "9042:9042" environment: - CASSANDRA_CLUSTER_NAME=mycluster healthcheck: test: ["CMD", "cqlsh", "-u cassandra", "-p cassandra" ,"-e describe keyspaces"] interval: 15s timeout: 10s retries: 10 cassandra-load-keyspace: image: cassandra:4.1 depends_on: cassandra: condition: service_healthy environment: - CASSANDRA_CLUSTER_NAME=mycluster volumes: - ./init-cassandra.cql:/init-cassandra.cql command: /bin/bash -c "echo loading cassandra keyspace && cqlsh cassandra -f /init-cassandra.cql"