blob: 63e35c9487ec8b9f06261b5ecd35458074782a43 [file] [log] [blame]
Matt Jeanneret13643e02019-01-30 16:49:03 -05001---
2# Copyright 2018 the original author or authors.
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15
16version: '2'
17
18networks:
19 default:
20 driver: bridge
21
22services:
23
24 zookeeper:
25 image: "wurstmeister/zookeeper:latest"
26 environment:
27 SERVICE_2181_NAME: "zookeeper"
28 ports:
29 - 2181:2181
30 networks:
31 - default
32
33
34 kafka:
35 image: "wurstmeister/kafka:2.11-2.0.1"
36 environment:
37 KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://${DOCKER_HOST_IP}:9092
38 KAFKA_LISTENERS: PLAINTEXT://:9092
39 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
40 KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'true'
41 SERVICE_9092_NAME: "kafka"
42 volumes:
43 - /var/run/docker.sock:/var/run/docker.sock
44 ports:
45 - 9092:9092
46 networks:
47 - default
48
49
50 etcd:
51 image: "quay.io/coreos/etcd:v3.2.9"
52 command: [
53 "etcd",
54 "--name=etcd0",
55 "--advertise-client-urls=http://${DOCKER_HOST_IP}:2379,http://${DOCKER_HOST_IP}:4001",
56 "--listen-client-urls=http://0.0.0.0:2379,http://0.0.0.0:4001",
57 "--initial-advertise-peer-urls=http://${DOCKER_HOST_IP}:2380",
58 "--listen-peer-urls=http://0.0.0.0:2380",
59 "--initial-cluster-token=etcd-cluster-1",
60 "--initial-cluster=etcd0=http://${DOCKER_HOST_IP}:2380",
61 "--initial-cluster-state=new"
62 ]
63 ports:
64 - "2379:2379"
65 - 2380
66 - 4001
67 networks:
68 - default
69
70
71 rw_core:
72 image: voltha-rw-core
73 entrypoint:
74 - /app/rw_core
75 - -kv_store_type=etcd
76 - -kv_store_host=${DOCKER_HOST_IP}
77 - -kv_store_port=2379
78 - -grpc_port=50057
79 - -banner=true
80 - -kafka_adapter_host=${DOCKER_HOST_IP}
81 - -kafka_adapter_port=9092
82 - -kafka_cluster_host=${DOCKER_HOST_IP}
83 - -kafka_cluster_port=9092
84 - -rw_core_topic=rwcore
85 - -kv_store_data_prefix=service/voltha
86 - -in_competing_mode=false
87 - -log_level=0
88 volumes:
89 - "/var/run/docker.sock:/tmp/docker.sock"
90 ports:
91 - 50057:50057
92 networks:
93 - default
94 restart: unless-stopped
95
96
97 cli:
98 image: "${REGISTRY}${REPOSITORY}voltha-cli:latest"
99 logging:
100 driver: "json-file"
101 options:
102 max-size: "10m"
103 max-file: "3"
104 environment:
105 DOCKER_HOST_IP: "${DOCKER_HOST_IP}"
106 entrypoint:
107 - /voltha/python/cli/setup.sh
108 - -g ${DOCKER_HOST_IP}:50057
109 networks:
110 - default
111 ports:
112 - "5022:22"
113
114
115 ofagent:
116 image: "${REGISTRY}${REPOSITORY}voltha-ofagent:latest"
117 logging:
118 driver: "json-file"
119 options:
120 max-size: "10m"
121 max-file: "3"
122 command: [
123 "/ofagent/ofagent/main.py",
124 "--consul=${DOCKER_HOST_IP}:8500",
125 "--controller=${DOCKER_HOST_IP}:6653",
126 "--grpc-endpoint=${DOCKER_HOST_IP}:50057",
127 "--instance-id-is-container-name",
128 "-v"
129 ]
130 volumes:
131 - "/var/run/docker.sock:/tmp/docker.sock"
132 networks:
133 - default
134 restart: unless-stopped
135
136
137 adapter_openolt:
138 image: "${REGISTRY}${REPOSITORY}voltha-adapter-openolt${TAG}"
139 logging:
140 driver: "json-file"
141 options:
142 max-size: "10m"
143 max-file: "3"
144 command: [
145 "/voltha/python/adapters/openolt/main.py",
146 "-v",
147 "--name=openolt",
148 "--kafka_adapter=${DOCKER_HOST_IP}:9092",
149 "--kafka_cluster=${DOCKER_HOST_IP}:9092",
150 "--core_topic=rwcore"
151 ]
152 networks:
153 - default
154 restart: unless-stopped
155