blob: 9ab55ac81d0aa38ee9567b3c1878a5d0db94639d [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
Matt Jeanneret3815e322019-03-12 19:15:49 -0400137 onos:
138 image: "voltha/voltha-onos:latest"
139 ports:
140 - "8101:8101" # ssh
141 - "6653:6653" # OF
142 - "8181:8181" # UI
143 environment:
144 ONOS_APPS: 'drivers,openflow-base'
145 volumes:
146 - "/var/run/docker.sock:/tmp/docker.sock"
147 networks:
148 - default
149 restart: unless-stopped
150
151
Matt Jeanneret13643e02019-01-30 16:49:03 -0500152 adapter_openolt:
Matt Jeanneretf4d4d352019-02-14 11:26:13 -0500153 image: "${REGISTRY}${REPOSITORY}voltha-openolt-adapter${TAG}"
Matt Jeanneret13643e02019-01-30 16:49:03 -0500154 logging:
155 driver: "json-file"
156 options:
157 max-size: "10m"
158 max-file: "3"
159 command: [
Matt Jeanneretf4d4d352019-02-14 11:26:13 -0500160 "/voltha/adapters/openolt/main.py",
Matt Jeanneret13643e02019-01-30 16:49:03 -0500161 "-v",
162 "--name=openolt",
163 "--kafka_adapter=${DOCKER_HOST_IP}:9092",
164 "--kafka_cluster=${DOCKER_HOST_IP}:9092",
Matt Jeanneretf4d4d352019-02-14 11:26:13 -0500165 "--backend=etcd",
166 "--etcd=${DOCKER_HOST_IP}:2379",
167 "--core_topic=rwcore"
168 ]
169 networks:
170 - default
171 restart: unless-stopped
172
173
174 adapter_openonu:
175 image: "${REGISTRY}${REPOSITORY}voltha-openonu-adapter${TAG}"
176 logging:
177 driver: "json-file"
178 options:
179 max-size: "10m"
180 max-file: "3"
181 command: [
182 "/voltha/adapters/brcm_openomci_onu/main.py",
183 "-v",
Matt Jeanneret0105a1f2019-02-21 09:19:57 -0500184 "--name=brcm_openomci_onu",
Matt Jeanneretf4d4d352019-02-14 11:26:13 -0500185 "--kafka_adapter=${DOCKER_HOST_IP}:9092",
186 "--kafka_cluster=${DOCKER_HOST_IP}:9092",
Matt Jeanneret4e241952019-02-28 11:16:04 -0500187 "--backend=etcd",
188 "--etcd=${DOCKER_HOST_IP}:2379",
Matt Jeanneret13643e02019-01-30 16:49:03 -0500189 "--core_topic=rwcore"
190 ]
191 networks:
192 - default
193 restart: unless-stopped