b3257b3d785cb8068ce836920d9ae577e5532e6f
[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 -Dlogback.configurationFile=/etc/ONAP/dcae-hv-ves-collector/logback.xml"
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     - ./logs:/var/log/ONAP/dcae-hv-ves-collector
87
88
89   #
90   # Simulators
91   #
92
93   xnf-simulator:
94     image: onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-xnf-simulator
95     ports:
96     - "6062:6062/tcp"
97     - "6063:6063"
98     command: ["--listen-port", "6062",
99               "--health-check-api-port", "6063",
100               "--ves-host", "ves-hv-collector",
101               "--ves-port", "6061",
102               "--key-store", "/etc/ves-hv/client.p12",
103               "--key-store-password", "onaponap",
104               "--trust-store-password", "onaponap"]
105     healthcheck:
106       test: curl -f http://localhost:6063/health/ready || exit 1
107       interval: 10s
108       timeout: 3s
109       retries: 3
110       start_period: 10s
111     depends_on:
112     - ves-hv-collector
113     volumes:
114       - ./ssl/:/etc/ves-hv/
115
116   dcae-app-simulator:
117     image: onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-dcae-app-simulator
118     ports:
119     - "6064:6064/tcp"
120     command: ["--listen-port", "6064",
121               "--kafka-bootstrap-servers", "message-router-kafka:9092",
122               "--kafka-topics", "HV_VES_PERF3GPP"]
123     depends_on:
124     - message-router-kafka
125
126   #
127   # Monitoring
128   #
129   prometheus:
130     image: prom/prometheus
131     ports:
132       - "9090:9090"
133     volumes:
134       - ./prometheus.yml:/etc/prometheus/prometheus.yml
135
136   grafana:
137     image: grafana/grafana
138     ports:
139     - "3000:3000"
140     environment:
141       GF_AUTH_DISABLE_LOGIN_FORM: "true"
142       GF_AUTH_DISABLE_SIGNOUT_MENU: "true"
143       GF_AUTH_ANONYMOUS_ENABLED: "true"
144       GF_AUTH_ANONYMOUS_ORG_ROLE: "Admin"
145     volumes:
146     - ./grafana/datasources:/etc/grafana/provisioning/datasources
147     - ./grafana/dashboards-providers:/etc/grafana/provisioning/dashboards
148     # defined in ./grafana/dashboards-providers/dasboard-providers.yaml
149     - ./grafana/dashboards:/var/lib/grafana/dashboards/hv-ves
150
151