blob: 97960a5b4f0143c3c797d494357af3064bb04722 [file] [log] [blame]
version: "3.5"
services:
#
# DMaaP Message Router
#
message-router-zookeeper:
image: nexus3.onap.org:10001/onap/dmaap/zookeeper:4.0.0
ports:
- "2181:2181"
message-router-kafka-0:
image: nexus3.onap.org:10001/onap/dmaap/kafka111:0.0.6
ports:
- "9092:9092"
- "9093:9093"
# command: "start-kafka.sh"
environment:
HOST_IP: 127.0.0.1
KAFKA_BROKER_ID: 0
ENDPOINT_PORT: 30490
KAFKA_ZOOKEEPER_CONNECT: "message-router-zookeeper:2181"
KAFKA_AUTO_CREATE_TOPICS_ENABLE: "true"
KAFKA_DELETE_TOPIC_ENABLE: "true"
KAFKA_LISTENERS: "INTERNAL_SASL_PLAINTEXT://0.0.0.0:9092,EXTERNAL_SASL_PLAINTEXT://0.0.0.0:9093"
KAFKA_ADVERTISED_LISTENERS: "INTERNAL_SASL_PLAINTEXT://message-router-kafka-0:9092,EXTERNAL_SASL_PLAINTEXT://message-router-kafka-0:9093"
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: "INTERNAL_SASL_PLAINTEXT:SASL_PLAINTEXT,EXTERNAL_SASL_PLAINTEXT:SASL_PLAINTEXT"
KAFKA_INTER_BROKER_LISTENER_NAME: "INTERNAL_SASL_PLAINTEXT"
KAFKA_SASL_ENABLED_MECHANISMS: "PLAIN"
KAFKA_SASL_MECHANISM_INTER_BROKER_PROTOCOL: "PLAIN"
KAFKA_AUTHORIZER_CLASS_NAME: "org.onap.dmaap.kafkaAuthorize.KafkaCustomAuthorizer"
aaf_locate_url: https://aaf-locate:8095
KAFKA_LOG_DIRS: /opt/kafka/data
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
KAFKA_DEFAULT_REPLICATION_FACTOR: 1
KAFKA_NUM_PARTITIONS: 1
volumes:
- /var/run/docker.sock:/var/run/docker.sock
depends_on:
- message-router-zookeeper
#
# Consul / CBS
#
consul-server:
image: docker.io/consul:1.0.6
ports:
- "8500:8500"
volumes:
- ./consul/:/consul/config
consul-config:
image: docker.io/consul:1.0.6
restart: on-failure
command: ["kv", "put", "-http-addr=http://consul-server:8500", "dcae-hv-ves-collector", '{
"streams_publishes": {
"perf3gpp": {
"type": "kafka",
"aaf_credentials": {
"username": "admin",
"password": "admin_secret"
},
"kafka_info": {
"bootstrap_servers": "message-router-kafka-0:9093",
"topic_name": "HV_VES_PERF3GPP"
}
}
}
}'
]
depends_on:
- consul-server
config-binding-service:
image: nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.configbinding.app-app:2.2.4
ports:
- "10000:10000"
environment:
CONSUL_HOST: "consul-server"
depends_on:
- consul-config
#
# DCAE HV VES Collector
#
ves-hv-collector:
image: onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-main:latest
ports:
- "6060:6060"
- "6061:6061/tcp"
environment:
JAVA_OPTS: "-Dio.netty.leakDetection.level=paranoid -Dlogback.configurationFile=/etc/ONAP/dcae-hv-ves-collector/logback.xml"
VESHV_CONFIGURATION_FILE: "/etc/ves-hv/configuration/base.json"
CONSUL_HOST: "consul-server"
CONFIG_BINDING_SERVICE: "CBS"
HOSTNAME: "dcae-hv-ves-collector"
healthcheck:
test: ./healthcheck.sh || exit 1
interval: 10s
timeout: 3s
retries: 3
start_period: 15s
depends_on:
- message-router-kafka-0
- config-binding-service
volumes:
- ./configuration/:/etc/ves-hv/configuration/
- ../ssl/:/etc/ves-hv/ssl/
- ./logs:/var/log/ONAP/dcae-hv-ves-collector
#
# Simulators
#
xnf-simulator:
image: onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-xnf-simulator
ports:
- "6062:6062/tcp"
- "6063:6063"
command: ["--listen-port", "6062",
"--health-check-api-port", "6063",
"--ves-host", "ves-hv-collector",
"--ves-port", "6061",
"--key-store", "/etc/ves-hv/client.p12",
"--key-store-password-file", "/etc/ves-hv/client.pass",
"--trust-store", "/etc/ves-hv/trust.p12",
"--trust-store-password-file", "/etc/ves-hv/trust.pass"]
healthcheck:
test: curl -f http://localhost:6063/health/ready || exit 1
interval: 10s
timeout: 3s
retries: 3
start_period: 10s
depends_on:
- ves-hv-collector
volumes:
- ../ssl/:/etc/ves-hv/
dcae-app-simulator:
image: onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-dcae-app-simulator
ports:
- "6064:6064/tcp"
command: ["--listen-port", "6064",
"--kafka-bootstrap-servers", "message-router-kafka-0:9092",
"--kafka-topics", "HV_VES_PERF3GPP"]
depends_on:
- message-router-kafka-0
#
# Monitoring
#
prometheus:
image: prom/prometheus
ports:
- "9090:9090"
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
grafana:
image: grafana/grafana
ports:
- "3000:3000"
environment:
GF_AUTH_DISABLE_LOGIN_FORM: "true"
GF_AUTH_DISABLE_SIGNOUT_MENU: "true"
GF_AUTH_ANONYMOUS_ENABLED: "true"
GF_AUTH_ANONYMOUS_ORG_ROLE: "Admin"
volumes:
- ./grafana/datasources:/etc/grafana/provisioning/datasources
- ./grafana/dashboards-providers:/etc/grafana/provisioning/dashboards
# defined in ./grafana/dashboards-providers/dasboard-providers.yaml
- ./grafana/dashboards:/var/lib/grafana/dashboards/hv-ves