Merge Healthcheck descriptions
[dcaegen2/collectors/hv-ves.git] / development / docker-compose.yml
1 version: "3.5"
2 services:
3
4   #
5   # DMaaP Message Router
6   #
7
8   message-router-zookeeper:
9     image: wurstmeister/zookeeper
10     ports:
11     - "2181:2181"
12
13   message-router-kafka:
14 #    image: nexus3.onap.org:10001/onap/dmaap/kafka01101:0.0.1
15     image: wurstmeister/kafka
16     ports:
17     - "9092:9092"
18     environment:
19       KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'true'
20       KAFKA_ZOOKEEPER_CONNECT: "message-router-zookeeper:2181"
21       KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: "INTERNAL_PLAINTEXT:PLAINTEXT,EXTERNAL_PLAINTEXT:PLAINTEXT"
22       KAFKA_ADVERTISED_LISTENERS: "INTERNAL_PLAINTEXT://message-router-kafka:9092"
23       KAFKA_LISTENERS: "INTERNAL_PLAINTEXT://0.0.0.0:9092"
24       KAFKA_INTER_BROKER_LISTENER_NAME: "INTERNAL_PLAINTEXT"
25     volumes:
26     - /var/run/docker.sock:/var/run/docker.sock
27     depends_on:
28     - message-router-zookeeper
29
30
31   #
32   # Consul / CBS
33   #
34
35   consul-server:
36     image: docker.io/consul:1.0.6
37     ports:
38     - "8500:8500"
39     command: ["agent","-bootstrap", "-client=0.0.0.0", "-server", "-ui"]
40
41   consul-config:
42     image: consul
43     depends_on:
44     - consul-server
45     restart: on-failure
46     command: ["kv", "put", "-http-addr=http://consul-server:8500", "veshv-config", '{
47                                               "collector.routing": [
48                                                 {
49                                                   "fromDomain": "perf3gpp",
50                                                   "toTopic": "HV_VES_PERF3GPP"
51                                                 }
52                                               ]
53                                             }']
54
55
56   #
57   # DCAE HV VES Collector
58   #
59
60   ves-hv-collector:
61     image: onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-main:latest
62     ports:
63     - "6060:6060"
64     - "6061:6061/tcp"
65     command: ["--listen-port", "6061",
66               "--health-check-api-port", "6060",
67               "--config-url", "http://consul-server:8500/v1/kv/veshv-config?raw=true",
68               "--kafka-bootstrap-servers", "message-router-kafka:9092",
69               "--key-store-password", "onaponap",
70               "--trust-store-password", "onaponap"]
71     environment:
72       JAVA_OPTS:  "-Dio.netty.leakDetection.level=paranoid"
73     healthcheck:
74       test: curl -f http://localhost:6060/health/ready || exit 1
75       interval: 10s
76       timeout: 3s
77       retries: 3
78       start_period: 20s
79     depends_on:
80     - message-router-kafka
81     - consul-config
82     volumes:
83     - ./ssl/:/etc/ves-hv/
84
85
86   #
87   # Simulators
88   #
89
90   xnf-simulator:
91     image: onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-xnf-simulator
92     ports:
93     - "6062:6062/tcp"
94     - "6063:6063"
95     command: ["--listen-port", "6062",
96               "--health-check-api-port", "6063",
97               "--ves-host", "ves-hv-collector",
98               "--ves-port", "6061",
99               "--key-store", "/etc/ves-hv/client.p12",
100               "--key-store-password", "onaponap",
101               "--trust-store-password", "onaponap"]
102     healthcheck:
103       test: curl -f http://localhost:6063/health/ready || exit 1
104       interval: 10s
105       timeout: 3s
106       retries: 3
107       start_period: 10s
108     depends_on:
109     - ves-hv-collector
110     volumes:
111       - ./ssl/:/etc/ves-hv/
112
113   dcae-app-simulator:
114     image: onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-dcae-app-simulator
115     ports:
116     - "6064:6064/tcp"
117     command: ["--listen-port", "6064",
118               "--kafka-bootstrap-servers", "message-router-kafka:9092",
119               "--kafka-topics", "HV_VES_PERF3GPP"]
120     depends_on:
121     - message-router-kafka
122
123   #
124   # Monitoring
125   #
126   prometheus:
127     image: prom/prometheus
128     ports:
129       - "9090:9090"
130     volumes:
131       - ./prometheus.yml:/etc/prometheus/prometheus.yml