CharmHub and new kafka and zookeeper charms
[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 name: osm-ha
15 bundle: kubernetes
16 description: |
17   **A high-available Charmed OSM cluster**
18
19   Charmed OSM is an OSM distribution, developed and maintained by Canonical, which uses
20   Juju charms to simplify its deployments and operations. This bundle distribution enables
21   TSPs to easily deploy pure upstream OSM in highly available, production-grade, and
22   scalable clusters.
23
24   - Industry‐aligned and fully compliant with upstream
25   - Predictable release cadence and upgrade path
26   - Simplified deployments and operations
27   - Stable and secure
28   - Highly Available and resilient against failures
29   - Supported with Ubuntu Advantage
30   - Availability of managed services
31 applications:
32   zookeeper:
33     charm: zookeeper-k8s
34     channel: latest/edge
35     scale: 3
36     storage:
37       data: 100M
38     annotations:
39       gui-x: 0
40       gui-y: 500
41   kafka:
42     charm: kafka-k8s
43     channel: latest/edge
44     scale: 3
45     trust: true
46     storage:
47       data: 100M
48     annotations:
49       gui-x: 0
50       gui-y: 250
51   mariadb:
52     charm: charmed-osm-mariadb-k8s
53     scale: 3
54     series: kubernetes
55     storage:
56       database: 300M
57     options:
58       password: manopw
59       root_password: osm4u
60       user: mano
61       ha-mode: true
62     annotations:
63       gui-x: -300
64       gui-y: -250
65   mongodb:
66     charm: mongodb-k8s
67     channel: latest/stable
68     scale: 3
69     series: kubernetes
70     storage:
71       db: 50M
72     annotations:
73       gui-x: 0
74       gui-y: 0
75   nbi:
76     charm: osm-nbi
77     channel: latest/edge
78     scale: 3
79     series: kubernetes
80     options:
81       database_commonkey: osm
82       auth_backend: keystone
83       log_level: DEBUG
84     resources:
85       image: opensourcemano/nbi:testing-daily
86     annotations:
87       gui-x: 0
88       gui-y: -250
89   ro:
90     charm: osm-ro
91     channel: latest/edge
92     scale: 3
93     series: kubernetes
94     options:
95       log_level: DEBUG
96     resources:
97       image: opensourcemano/ro:testing-daily
98     annotations:
99       gui-x: -300
100       gui-y: 250
101   ng-ui:
102     charm: osm-ng-ui
103     channel: latest/edge
104     scale: 3
105     series: kubernetes
106     resources:
107       image: opensourcemano/ng-ui:testing-daily
108     annotations:
109       gui-x: 600
110       gui-y: 0
111   lcm:
112     charm: osm-lcm
113     channel: latest/edge
114     scale: 3
115     series: kubernetes
116     options:
117       database_commonkey: osm
118       log_level: DEBUG
119     resources:
120       image: opensourcemano/lcm:testing-daily
121     annotations:
122       gui-x: -300
123       gui-y: 0
124   mon:
125     charm: osm-mon
126     channel: latest/edge
127     scale: 1
128     series: kubernetes
129     options:
130       database_commonkey: osm
131       log_level: DEBUG
132       keystone_enabled: true
133     resources:
134       image: opensourcemano/mon:testing-daily
135     annotations:
136       gui-x: 300
137       gui-y: 0
138   pol:
139     charm: osm-pol
140     channel: latest/edge
141     scale: 3
142     series: kubernetes
143     options:
144       log_level: DEBUG
145     resources:
146       image: opensourcemano/pol:testing-daily
147     annotations:
148       gui-x: -300
149       gui-y: 500
150   pla:
151     charm: osm-pla
152     channel: latest/edge
153     scale: 3
154     series: kubernetes
155     options:
156       log_level: DEBUG
157     resources:
158       image: opensourcemano/pla:testing-daily
159     annotations:
160       gui-x: 600
161       gui-y: -250
162   prometheus:
163     charm: osm-prometheus
164     channel: latest/edge
165     scale: 1
166     series: kubernetes
167     storage:
168       data: 50M
169     options:
170       default-target: "mon:8000"
171     annotations:
172       gui-x: 300
173       gui-y: 250
174   grafana:
175     charm: osm-grafana
176     channel: latest/edge
177     scale: 3
178     series: kubernetes
179     annotations:
180       gui-x: 300
181       gui-y: 500
182   keystone:
183     charm: osm-keystone
184     channel: latest/edge
185     scale: 1
186     resources:
187       keystone-image: opensourcemano/keystone:testing-daily
188     annotations:
189       gui-x: 300
190       gui-y: -250
191 relations:
192   - - grafana:prometheus
193     - prometheus:prometheus
194   - - kafka:zookeeper
195     - zookeeper:zookeeper
196   - - keystone:db
197     - mariadb:mysql
198   - - lcm:kafka
199     - kafka:kafka
200   - - lcm:mongodb
201     - mongodb:database
202   - - ro:ro
203     - lcm:ro
204   - - ro:kafka
205     - kafka:kafka
206   - - ro:mongodb
207     - mongodb:database
208   - - pol:kafka
209     - kafka:kafka
210   - - pol:mongodb
211     - mongodb:database
212   - - mon:mongodb
213     - mongodb:database
214   - - mon:kafka
215     - kafka:kafka
216   - - pla:kafka
217     - kafka:kafka
218   - - pla:mongodb
219     - mongodb:database
220   - - nbi:mongodb
221     - mongodb:database
222   - - nbi:kafka
223     - kafka:kafka
224   - - nbi:prometheus
225     - prometheus:prometheus
226   - - nbi:keystone
227     - keystone:keystone
228   - - mon:prometheus
229     - prometheus:prometheus
230   - - ng-ui:nbi
231     - nbi:nbi
232   - - mon:keystone
233     - keystone:keystone
234   - - mariadb:mysql
235     - pol:mysql
236   - - grafana:db
237     - mariadb:mysql