8928028b742b5ea21d8ca7dde19dc1ba210ba45f
[osm/devops.git] / installers / charm / bundles / osm-ha / bundle.yaml
1 # Copyright 2020 Canonical Ltd.
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 #     http://www.apache.org/licenses/LICENSE-2.0
8 #
9 #     Unless required by applicable law or agreed to in writing, software
10 #     distributed under the License is distributed on an "AS IS" BASIS,
11 #     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 #     See the License for the specific language governing permissions and
13 #     limitations under the License.
14 description: A high-available OSM cluster.
15 bundle: kubernetes
16 applications:
17   zookeeper-k8s:
18     charm: "cs:~charmed-osm/zookeeper-k8s"
19     channel: "stable"
20     scale: 3
21     series: kubernetes
22     storage:
23       database: 100M
24     options:
25       # client-port: 2181
26       server-port: 2888
27       leader-election-port: 3888
28       zookeeper-units: 3
29     annotations:
30       gui-x: 0
31       gui-y: 550
32   mariadb-k8s:
33     charm: "cs:~charmed-osm/mariadb-k8s"
34     channel: "stable"
35     scale: 3
36     series: kubernetes
37     storage:
38       database: 300M
39     options:
40       password: manopw
41       root_password: osm4u
42       user: mano
43       database: database
44       mysql_port: "3306"
45       query-cache-type: "OFF"
46       query-cache-size: 0
47       ha-mode: true
48     annotations:
49       gui-x: -250
50       gui-y: -200
51   kafka-k8s:
52     charm: "cs:~charmed-osm/kafka-k8s"
53     channel: "stable"
54     scale: 3
55     series: kubernetes
56     storage:
57       database: 200M
58     options:
59       advertised-hostname: "kafka-k8s"
60       advertised-port: 9092
61       kafka-units: 3
62       zookeeper-units: 3
63       zookeeper-service-name: zookeeper-k8s-endpoints
64     annotations:
65       gui-x: 0
66       gui-y: 300
67   mongodb-k8s:
68     charm: "cs:~charmed-osm/mongodb-k8s"
69     channel: "stable"
70     scale: 3
71     series: kubernetes
72     storage:
73       database: 300M
74     options:
75       advertised-port: 27017
76       replica-set: rs0
77       namespace: osm
78       service-name: mongodb-k8s-endpoints
79       cluster-domain: cluster.local
80       enable-sidecar: true
81     annotations:
82       gui-x: 0
83       gui-y: 50
84   nbi-k8s:
85     charm: "cs:~charmed-osm/nbi-k8s"
86     channel: "%(channel)s"
87     scale: 3
88     series: kubernetes
89     storage:
90       packages: 100M
91     options:
92       log_level: "INFO"
93       DATABASE_COMMONKEY: osm
94       auth-backend: keystone
95     annotations:
96       gui-x: 0
97       gui-y: -200
98   ro-k8s:
99     charm: "cs:~charmed-osm/ro-k8s"
100     channel: "%(channel)s"
101     scale: 3
102     series: kubernetes
103     storage:
104       log: 50M
105     options:
106       vim_database: "mano_vim_db"
107       ro_database: "mano_db"
108       OPENMANO_TENANT: "osm"
109     annotations:
110       gui-x: -250
111       gui-y: 300
112   ui-k8s:
113     charm: "cs:~charmed-osm/ui-k8s"
114     channel: "%(channel)s"
115     scale: 3
116     series: kubernetes
117     options:
118       mysql_database: lwui
119     annotations:
120       gui-x: 250
121       gui-y: -200
122   ng-ui:
123     charm: "%(prefix)s/ng-ui%(suffix)s"
124     channel: "%(channel)s"
125     scale: 3
126     series: kubernetes
127     options:
128       port: 80
129       https_port: 443
130       server_name: localhost
131       client_max_body_size: 15M
132     annotations:
133       gui-x: 500
134       gui-y: 100
135   lcm-k8s:
136     charm: "cs:~charmed-osm/lcm-k8s"
137     channel: "%(channel)s"
138     scale: 3
139     series: kubernetes
140     storage:
141       packages: 100M
142     options:
143       vca_host: vca
144       vca_port: 17070
145       vca_user: admin
146       vca_password: secret
147       vca_pubkey: pubkey
148       vca_cacert: cacert
149       use_external_vca: true
150       DATABASE_COMMONKEY: osm
151     annotations:
152       gui-x: -250
153       gui-y: 50
154   mon-k8s:
155     charm: "cs:~charmed-osm/mon-k8s"
156     channel: "%(channel)s"
157     scale: 3
158     series: kubernetes
159     storage:
160       database: 100M
161     options:
162       OSMMON_OPENSTACK_DEFAULT_GRANULARITY: 300
163       OSMMON_GLOBAL_REQUEST_TIMEOUT: 10
164       OSMMON_GLOBAL_LOGLEVEL: INFO
165       OSMMON_DATABASE_COMMONKEY: osm
166       OSMMON_COLLECTOR_INTERVAL: 30
167       OSMMON_EVALUATOR_INTERVAL: 30
168       vca_host: vca
169       vca_user: admin
170       vca_password: secret
171       vca_cacert: cacert
172       use_external_vca: true
173     annotations:
174       gui-x: 250
175       gui-y: 50
176   pol-k8s:
177     charm: "cs:~charmed-osm/pol-k8s"
178     channel: "%(channel)s"
179     scale: 3
180     series: kubernetes
181     storage:
182       database: 100M
183     options:
184       log_level: INFO
185     annotations:
186       gui-x: -250
187       gui-y: 550
188   pla:
189     charm: "%(prefix)s/pla%(suffix)s"
190     channel: "%(channel)s"
191     scale: 3
192     series: kubernetes
193     annotations:
194       gui-x: 500
195       gui-y: -200
196   prometheus-k8s:
197     charm: "cs:~charmed-osm/prometheus-k8s"
198     channel: "stable"
199     scale: 3
200     series: kubernetes
201     storage:
202       database: 100M
203     options:
204       advertised-port: 9090
205       web-subpath: /
206       default-target: "mon-k8s:8000"
207     annotations:
208       gui-x: 250
209       gui-y: 300
210   grafana-k8s:
211     charm: "cs:~charmed-osm/grafana-k8s"
212     channel: "stable"
213     scale: 3
214     series: kubernetes
215     annotations:
216       gui-x: 250
217       gui-y: 550
218   keystone:
219     charm: '%(prefix)s/keystone%(suffix)s'
220     channel: '%(channel)s'
221     scale: 1
222     series: kubernetes
223     annotations:
224       gui-x: -250
225       gui-y: 550
226
227 relations:
228   - - "kafka-k8s:zookeeper"
229     - "zookeeper-k8s:zookeeper"
230   - - "ro-k8s:mysql"
231     - "mariadb-k8s:mysql"
232   - - "nbi-k8s:mongo"
233     - "mongodb-k8s:mongo"
234   - - "nbi-k8s:kafka"
235     - "kafka-k8s:kafka"
236   - - "lcm-k8s:kafka"
237     - "kafka-k8s:kafka"
238   - - "lcm-k8s:mongo"
239     - "mongodb-k8s:mongo"
240   - - "mon-k8s:kafka"
241     - "kafka-k8s:kafka"
242   - - "mon-k8s:mongo"
243     - "mongodb-k8s:mongo"
244   - - "pol-k8s:kafka"
245     - "kafka-k8s:kafka"
246   - - "pol-k8s:mongo"
247     - "mongodb-k8s:mongo"
248   - - "lcm-k8s:ro"
249     - "ro-k8s:ro"
250   - - "prometheus-k8s:prometheus"
251     - "mon-k8s:prometheus"
252   - - "grafana-k8s:prometheus"
253     - "prometheus-k8s:prometheus"
254   - - "ui-k8s:mysql"
255     - "mariadb-k8s:mysql"
256   - - "ui-k8s:nbi"
257     - "nbi-k8s:nbi"
258   - - "prometheus-k8s:prometheus"
259     - "nbi-k8s:prometheus"
260   - - "pla:kafka"
261     - "kafka-k8s:kafka"
262   - - "pla:mongo"
263     - "mongodb-k8s:mongo"
264   - - 'ng-ui:nbi'
265     - 'nbi-k8s:nbi'
266   - - 'keystone:db'
267     - 'mariadb-k8s:mysql'
268   - - 'keystone:keystone'
269     - 'nbi-k8s:keystone'