skywalking/test/e2e-v2/cases/elasticsearch/docker-compose.yml

99 lines
2.7 KiB
YAML

# 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: ../../script/docker-compose/base-compose.yml
service: oap
ports:
- "12800:12800"
networks:
- e2e
es:
image: elastic/elasticsearch:8.3.2
expose:
- 9200
networks:
- e2e
environment:
- discovery.type=single-node
- cluster.routing.allocation.disk.threshold_enabled=false
- xpack.security.enabled=false
- cluster.name=cluster-e2e
- node.name=node-e2e
healthcheck:
test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/9200"]
interval: 10s
timeout: 10s
retries: 120
es-exporter:
image: quay.io/prometheuscommunity/elasticsearch-exporter:v1.5.0
expose:
- 9114
networks:
- e2e
depends_on:
es:
condition: service_healthy
command:
- '--log.format=logfmt'
- '--log.level=info'
- '--es.uri=http://es:9200'
- '--es.all'
- '--es.indices'
- '--es.indices_settings'
- '--es.indices_mappings'
- '--es.shards'
- '--es.snapshots'
- '--es.timeout=30s'
- '--web.telemetry-path=/metrics'
healthcheck:
interval: 5s
timeout: 60s
retries: 120
test: ["CMD", "sh", "-c", "nc -vz localhost 9114"]
otel-collector:
image: otel/opentelemetry-collector:${OTEL_COLLECTOR_VERSION}
networks:
- e2e
command: [ "--config=/etc/otel-collector-config.yaml" ]
volumes:
- ./otel-collector-config.yaml:/etc/otel-collector-config.yaml
expose:
- 55678
depends_on:
oap:
condition: service_healthy
es-mock:
image: curlimages/curl:latest
networks:
- e2e
depends_on:
es:
condition: service_healthy
es-exporter:
condition: service_healthy
oap:
condition: service_healthy
command: "sh /etc/es-e2e-data-mock.sh"
volumes:
- ./es-e2e-data-mock.sh:/etc/es-e2e-data-mock.sh
networks:
e2e: