diff --git a/services/docker-compose.tests.yml b/services/docker-compose.tests.yml index 19567cbda..ca8d14736 100644 --- a/services/docker-compose.tests.yml +++ b/services/docker-compose.tests.yml @@ -1,83 +1,86 @@ version: '3.9' volumes: localstack: commtest_build_artifacts: services: commtest: depends_on: - tunnelbroker-server - backup-server - blob-server - identity-server # There are no tests for these services: # - feature-flags-server # - reports-server build: dockerfile: services/commtest/Dockerfile context: ../ platform: '${PLATFORM:-linux/amd64}' volumes: # This one caches build directory and allows to run tests multiple times without rebuilding - commtest_build_artifacts:/home/root/app/commtest/target env_file: test-commons.env environment: # tested services endpoints TUNNELBROKER_WS_ENDPOINT: 'ws://tunnelbroker-server:51001' TUNNELBROKER_GRPC_ENDPOINT: 'http://tunnelbroker-server:${COMM_SERVICES_PORT_TUNNELBROKER}' BACKUP_SERVICE_URL: 'http://backup-server:${COMM_SERVICES_PORT_BACKUP}' BLOB_SERVICE_URL: 'http://blob-server:${COMM_SERVICES_PORT_BLOB}' IDENTITY_GRPC_ENDPOINT: 'http://identity-server:${COMM_SERVICES_PORT_IDENTITY}' # override localstack endpoint in terraform setup TF_VAR_localstack_endpoint: 'http://localstack:4566' # others COMM_NUMBER_OF_THREADS: '4' BLOB_SERVICE_EXECUTABLE: /shared/bin/blob RUST_LOG: blob=trace,comm_services_lib=debug tunnelbroker-server: image: tunnelbroker pull_policy: build platform: '${PLATFORM:-linux/amd64}' restart: on-failure env_file: test-commons.env environment: COMM_TUNNELBROKER_IDENTITY_ENDPOINT: 'http://identity-server:50054' AMQP_URI: 'amqp://comm:comm@rabbitmq:5672' RUST_LOG: tunnelbroker=trace backup-server: image: backup pull_policy: build platform: '${PLATFORM:-linux/amd64}' env_file: test-commons.env environment: BLOB_SERVICE_URL: 'http://blob-server:50053' blob-server: image: blob pull_policy: build # Until blob cleanup is supported in tests, enable auto-deletion command: ['blob', 'server', '--instant-delete'] platform: '${PLATFORM:-linux/amd64}' env_file: test-commons.env environment: RUST_LOG: blob=trace,comm_services_lib=debug identity-server: image: identity pull_policy: build platform: '${PLATFORM:-linux/amd64}' env_file: test-commons.env environment: TUNNELBROKER_GRPC_ENDPOINT: 'http://tunnelbroker-server:50051' build: args: - generate_keypair=true + localstack: + environment: + - PERSISTENCE=0 rabbitmq: healthcheck: test: rabbitmq-diagnostics -q ping interval: 15s timeout: 10s retries: 5 diff --git a/services/docker-compose.yml b/services/docker-compose.yml index 42ecbd953..6f7ffe56c 100644 --- a/services/docker-compose.yml +++ b/services/docker-compose.yml @@ -1,110 +1,110 @@ version: '3.9' volumes: localstack: services: # tunnelbroker tunnelbroker-server: depends_on: - localstack - rabbitmq build: dockerfile: services/tunnelbroker/Dockerfile context: ../ image: commapp/tunnelbroker-server:0.5 ports: - '${COMM_SERVICES_PORT_TUNNELBROKER}:50051' volumes: - $HOME/.aws/config:/home/comm/.aws/config:ro - $HOME/.aws/credentials:/home/comm/.aws/credentials:ro # backup backup-server: platform: linux/amd64 depends_on: - localstack - blob-server build: dockerfile: services/backup/Dockerfile context: ../ image: commapp/backup-server:0.2 ports: - '${COMM_SERVICES_PORT_BACKUP}:50052' volumes: - $HOME/.aws/config:/home/comm/.aws/config:ro - $HOME/.aws/credentials:/home/comm/.aws/credentials:ro # blob blob-server: platform: linux/amd64 depends_on: - localstack build: dockerfile: services/blob/Dockerfile context: ../ image: commapp/blob-server:1.0.0 ports: - '${COMM_SERVICES_PORT_BLOB}:50053' volumes: - $HOME/.aws/config:/home/comm/.aws/config:ro - $HOME/.aws/credentials:/home/comm/.aws/credentials:ro # identity identity-server: platform: linux/amd64 depends_on: - localstack build: dockerfile: services/identity/Dockerfile context: ../ image: commapp/identity-server:0.3 ports: - '${COMM_SERVICES_PORT_IDENTITY}:50054' # feature-flags feature-flags-server: depends_on: - localstack build: dockerfile: services/feature-flags/Dockerfile context: ../ image: commapp/feature-flags:0.1.1 ports: - '${COMM_SERVICES_PORT_FEATURE_FLAGS}:50055' volumes: - $HOME/.aws/config:/home/comm/.aws/config:ro - $HOME/.aws/credentials:/home/comm/.aws/credentials:ro # reports reports-server: platform: linux/amd64 depends_on: - localstack - blob-server build: dockerfile: services/reports/Dockerfile context: ../ image: commapp/reports-server:0.1.0 ports: - '${COMM_SERVICES_PORT_REPORTS}:50056' volumes: - $HOME/.aws/config:/home/comm/.aws/config:ro - $HOME/.aws/credentials:/home/comm/.aws/credentials:ro # localstack localstack: image: localstack/localstack:2.3.2 hostname: localstack ports: - '4566:4566' environment: - SERVICES=s3,dynamodb - - DATA_DIR=/tmp/localstack - - HOSTNAME_EXTERNAL=localstack + - LOCALSTACK_HOST=localstack:4566 + - PERSISTENCE=1 volumes: - - localstack:/tmp/localstack + - localstack:/var/lib/localstack # RabbitMQ rabbitmq: # This version matches AWS MQ version (set in Terraform) image: rabbitmq:3.11.16-management hostname: rabbitmq ports: - '5672:5672' - '5671:5671' - '15672:15672' environment: - RABBITMQ_DEFAULT_USER=comm - RABBITMQ_DEFAULT_PASS=comm