Use CBS by means of SDK in place of Consul
[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", "-config-dir=/consul/consul.d"]
40     volumes:
41       - ./consul.d/:/consul/consul.d
42
43   consul-config:
44     image: consul
45     restart: on-failure
46     command: ["kv", "put", "-http-addr=http://consul-server:8500", "dcae-hv-ves-collector", '{
47                                               "collector.routing": [
48                                                 {
49                                                   "fromDomain": "perf3gpp",
50                                                   "toTopic": "HV_VES_PERF3GPP"
51                                                 }
52                                               ]
53                                             }'
54     ]
55     depends_on:
56       - consul-server
57
58   config-binding-service:
59     image: nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.configbinding.app-app:2.2.4
60     ports:
61       - "10000:10000"
62     environment:
63       CONSUL_HOST: "consul-server"
64     depends_on:
65       - consul-config
66
67   #
68   # DCAE HV VES Collector
69   #
70
71   ves-hv-collector:
72     image: onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-main:latest
73     ports:
74       - "6060:6060"
75       - "6061:6061/tcp"
76     command: ["--listen-port", "6061",
77               "--health-check-api-port", "6060",
78               "--kafka-bootstrap-servers", "message-router-kafka:9092",
79               "--key-store-password", "onaponap",
80               "--trust-store-password", "onaponap",
81               "--first-request-delay", "5",
82               "--log-level", "DEBUG"]
83     environment:
84       JAVA_OPTS:  "-Dio.netty.leakDetection.level=paranoid -Dlogback.configurationFile=/etc/ONAP/dcae-hv-ves-collector/logback.xml"
85       CONSUL_HOST: "consul-server"
86       CONFIG_BINDING_SERVICE: "cbs"
87       HOSTNAME: "dcae-hv-ves-collector"
88     healthcheck:
89       test: ./healthcheck.sh || exit 1
90       interval: 10s
91       timeout: 3s
92       retries: 3
93       start_period: 15s
94     depends_on:
95       - message-router-kafka
96       - config-binding-service
97     volumes:
98       - ./ssl/:/etc/ves-hv/
99       - ./logs:/var/log/ONAP/dcae-hv-ves-collector
100
101
102   #
103   # Simulators
104   #
105
106   xnf-simulator:
107     image: onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-xnf-simulator
108     ports:
109       - "6062:6062/tcp"
110       - "6063:6063"
111     command: ["--listen-port", "6062",
112               "--health-check-api-port", "6063",
113               "--ves-host", "ves-hv-collector",
114               "--ves-port", "6061",
115               "--key-store", "/etc/ves-hv/client.p12",
116               "--key-store-password", "onaponap",
117               "--trust-store-password", "onaponap"]
118     healthcheck:
119       test: curl -f http://localhost:6063/health/ready || exit 1
120       interval: 10s
121       timeout: 3s
122       retries: 3
123       start_period: 10s
124     depends_on:
125       - ves-hv-collector
126     volumes:
127       - ./ssl/:/etc/ves-hv/
128
129   dcae-app-simulator:
130     image: onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-dcae-app-simulator
131     ports:
132       - "6064:6064/tcp"
133     command: ["--listen-port", "6064",
134               "--kafka-bootstrap-servers", "message-router-kafka:9092",
135               "--kafka-topics", "HV_VES_PERF3GPP"]
136     depends_on:
137       - message-router-kafka
138
139   #
140   # Monitoring
141   #
142   prometheus:
143     image: prom/prometheus
144     ports:
145       - "9090:9090"
146     volumes:
147       - ./prometheus.yml:/etc/prometheus/prometheus.yml
148
149   grafana:
150     image: grafana/grafana
151     ports:
152       - "3000:3000"
153     environment:
154       GF_AUTH_DISABLE_LOGIN_FORM: "true"
155       GF_AUTH_DISABLE_SIGNOUT_MENU: "true"
156       GF_AUTH_ANONYMOUS_ENABLED: "true"
157       GF_AUTH_ANONYMOUS_ORG_ROLE: "Admin"
158     volumes:
159       - ./grafana/datasources:/etc/grafana/provisioning/datasources
160       - ./grafana/dashboards-providers:/etc/grafana/provisioning/dashboards
161       # defined in ./grafana/dashboards-providers/dasboard-providers.yaml
162       - ./grafana/dashboards:/var/lib/grafana/dashboards/hv-ves
163
164