Merge "Handle sigterm signal"
[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               "--first-request-delay", "2",
72               "--log-level", "DEBUG"]
73     environment:
74       JAVA_OPTS:  "-Dio.netty.leakDetection.level=paranoid"
75     healthcheck:
76       test: curl -f http://localhost:6060/health/ready || exit 1
77       interval: 10s
78       timeout: 3s
79       retries: 3
80       start_period: 20s
81     depends_on:
82     - message-router-kafka
83     - consul-config
84     volumes:
85     - ./ssl/:/etc/ves-hv/
86
87
88   #
89   # Simulators
90   #
91
92   xnf-simulator:
93     image: onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-xnf-simulator
94     ports:
95     - "6062:6062/tcp"
96     - "6063:6063"
97     command: ["--listen-port", "6062",
98               "--health-check-api-port", "6063",
99               "--ves-host", "ves-hv-collector",
100               "--ves-port", "6061",
101               "--key-store", "/etc/ves-hv/client.p12",
102               "--key-store-password", "onaponap",
103               "--trust-store-password", "onaponap"]
104     healthcheck:
105       test: curl -f http://localhost:6063/health/ready || exit 1
106       interval: 10s
107       timeout: 3s
108       retries: 3
109       start_period: 10s
110     depends_on:
111     - ves-hv-collector
112     volumes:
113       - ./ssl/:/etc/ves-hv/
114
115   dcae-app-simulator:
116     image: onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-dcae-app-simulator
117     ports:
118     - "6064:6064/tcp"
119     command: ["--listen-port", "6064",
120               "--kafka-bootstrap-servers", "message-router-kafka:9092",
121               "--kafka-topics", "HV_VES_PERF3GPP"]
122     depends_on:
123     - message-router-kafka
124
125   #
126   # Monitoring
127   #
128   prometheus:
129     image: prom/prometheus
130     ports:
131       - "9090:9090"
132     volumes:
133       - ./prometheus.yml:/etc/prometheus/prometheus.yml