ff666c025c9db7def036dc976a3cec17443cfa88
[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: "%(prefix)s/nbi-k8s%(suffix)s"
86     scale: 3
87     series: kubernetes
88     storage:
89       packages: 100M
90     options:
91       log_level: "INFO"
92       DATABASE_COMMONKEY: osm
93       auth-backend: keystone
94     annotations:
95       gui-x: 0
96       gui-y: -200
97   ro-k8s:
98     charm: "%(prefix)s/ro-k8s%(suffix)s"
99     scale: 3
100     series: kubernetes
101     storage:
102       log: 50M
103     options:
104       vim_database: "mano_vim_db"
105       ro_database: "mano_db"
106       OPENMANO_TENANT: "osm"
107     annotations:
108       gui-x: -250
109       gui-y: 300
110   ng-ui:
111     charm: "%(prefix)s/ng-ui%(suffix)s"
112     scale: 3
113     series: kubernetes
114     options:
115       port: 80
116       https_port: 443
117       server_name: localhost
118       client_max_body_size: 15M
119     annotations:
120       gui-x: 500
121       gui-y: 100
122   lcm-k8s:
123     charm: "%(prefix)s/lcm-k8s%(suffix)s"
124     scale: 3
125     series: kubernetes
126     storage:
127       packages: 100M
128     options:
129       vca_host: vca
130       vca_port: 17070
131       vca_user: admin
132       vca_password: secret
133       vca_pubkey: pubkey
134       vca_cacert: cacert
135       use_external_vca: true
136       DATABASE_COMMONKEY: osm
137     annotations:
138       gui-x: -250
139       gui-y: 50
140   mon-k8s:
141     charm: "%(prefix)s/mon-k8s%(suffix)s"
142     scale: 1
143     series: kubernetes
144     storage:
145       database: 100M
146     options:
147       OSMMON_OPENSTACK_DEFAULT_GRANULARITY: 300
148       OSMMON_GLOBAL_REQUEST_TIMEOUT: 10
149       OSMMON_GLOBAL_LOGLEVEL: INFO
150       OSMMON_DATABASE_COMMONKEY: osm
151       OSMMON_COLLECTOR_INTERVAL: 30
152       OSMMON_EVALUATOR_INTERVAL: 30
153       vca_host: vca
154       vca_user: admin
155       vca_password: secret
156       vca_cacert: cacert
157       use_external_vca: true
158     annotations:
159       gui-x: 250
160       gui-y: 50
161   pol-k8s:
162     charm: "%(prefix)s/pol-k8s%(suffix)s"
163     scale: 3
164     series: kubernetes
165     storage:
166       database: 100M
167     options:
168       log_level: INFO
169     annotations:
170       gui-x: -250
171       gui-y: 550
172   pla:
173     charm: "%(prefix)s/pla%(suffix)s"
174     scale: 3
175     series: kubernetes
176     annotations:
177       gui-x: 500
178       gui-y: -200
179   prometheus-k8s:
180     charm: "cs:~charmed-osm/prometheus-k8s"
181     channel: "stable"
182     scale: 1
183     series: kubernetes
184     storage:
185       database: 100M
186     options:
187       advertised-port: 9090
188       web-subpath: /
189       default-target: "mon-k8s:8000"
190     annotations:
191       gui-x: 250
192       gui-y: 300
193   grafana-k8s:
194     charm: "cs:~charmed-osm/grafana-k8s"
195     channel: "stable"
196     scale: 3
197     series: kubernetes
198     annotations:
199       gui-x: 250
200       gui-y: 550
201   keystone:
202     charm: '%(prefix)s/keystone%(suffix)s'
203     channel: '%(channel)s'
204     scale: 1
205     series: kubernetes
206     annotations:
207       gui-x: -250
208       gui-y: 550
209
210 relations:
211   - - "kafka-k8s:zookeeper"
212     - "zookeeper-k8s:zookeeper"
213   - - "ro-k8s:mysql"
214     - "mariadb-k8s:mysql"
215   - - "nbi-k8s:mongo"
216     - "mongodb-k8s:mongo"
217   - - "nbi-k8s:kafka"
218     - "kafka-k8s:kafka"
219   - - "lcm-k8s:kafka"
220     - "kafka-k8s:kafka"
221   - - "lcm-k8s:mongo"
222     - "mongodb-k8s:mongo"
223   - - "mon-k8s:kafka"
224     - "kafka-k8s:kafka"
225   - - "mon-k8s:mongo"
226     - "mongodb-k8s:mongo"
227   - - "pol-k8s:kafka"
228     - "kafka-k8s:kafka"
229   - - "pol-k8s:mongo"
230     - "mongodb-k8s:mongo"
231   - - "lcm-k8s:ro"
232     - "ro-k8s:ro"
233   - - "prometheus-k8s:prometheus"
234     - "mon-k8s:prometheus"
235   - - "grafana-k8s:prometheus"
236     - "prometheus-k8s:prometheus"
237   - - "prometheus-k8s:prometheus"
238     - "nbi-k8s:prometheus"
239   - - "pla:kafka"
240     - "kafka-k8s:kafka"
241   - - "pla:mongo"
242     - "mongodb-k8s:mongo"
243   - - 'ng-ui:nbi'
244     - 'nbi-k8s:nbi'
245   - - 'keystone:db'
246     - 'mariadb-k8s:mysql'
247   - - 'keystone:keystone'
248     - 'nbi-k8s:keystone'
249   - - "ro-k8s:mongo"
250     - "mongodb-k8s:mongo"
251   - - "ro-k8s:kafka"
252     - "kafka-k8s:kafka"