# Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. version: '2.1' services: oap: extends: file: ../base-compose.yml service: oap ui: extends: file: ../base-compose.yml service: ui depends_on: oap: condition: service_healthy provider: build: context: . dockerfile: Dockerfile.nodejs networks: - e2e expose: - 5000 environment: SW_AGENT_COLLECTOR_BACKEND_SERVICES: oap:11800 SW_AGENT_INSTANCE: provider-instance volumes: - ./provider.ts:/app/provider.ts depends_on: oap: condition: service_healthy healthcheck: test: [ "CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/5000" ] interval: 5s timeout: 60s retries: 120 entrypoint: [ 'npx', 'ts-node', '/app/provider.ts' ] medium: extends: file: ../base-compose.yml service: consumer environment: PROVIDER_URL: http://provider:5000 depends_on: oap: condition: service_healthy provider: condition: service_healthy consumer: build: context: . dockerfile: Dockerfile.nodejs networks: - e2e expose: - 5001 environment: SW_AGENT_COLLECTOR_BACKEND_SERVICES: oap:11800 SW_AGENT_INSTANCE: consumer-instance SERVER: medium:9092 volumes: - ./consumer.ts:/app/consumer.ts depends_on: oap: condition: service_healthy medium: condition: service_healthy healthcheck: test: [ "CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/5051" ] interval: 5s timeout: 60s retries: 120 entrypoint: [ 'npx', 'ts-node', '/app/consumer.ts' ] networks: e2e: