7d1a4469dddb46b0928b504fe7e4386cc3176277
[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/stable
35     scale: 3
36     storage:
37       data: 100M
38   kafka:
39     charm: kafka-k8s
40     channel: latest/stable
41     scale: 3
42     trust: true
43     storage:
44       data: 100M
45   mariadb:
46     charm: charmed-osm-mariadb-k8s
47     scale: 3
48     series: kubernetes
49     storage:
50       database: 300M
51     options:
52       password: manopw
53       root_password: osm4u
54       user: mano
55       ha-mode: true
56   mongodb:
57     charm: mongodb-k8s
58     channel: latest/stable
59     scale: 3
60     series: kubernetes
61     storage:
62       db: 50M
63   nbi:
64     charm: osm-nbi
65     channel: latest/beta
66     trust: true
67     scale: 3
68     options:
69       database-commonkey: osm
70       log-level: DEBUG
71     resources:
72       nbi-image: opensourcemano/nbi:testing-daily
73   ro:
74     charm: osm-ro
75     channel: latest/beta
76     trust: true
77     scale: 3
78     options:
79       log-level: DEBUG
80     resources:
81       ro-image: opensourcemano/ro:testing-daily
82   ng-ui:
83     charm: osm-ng-ui
84     channel: latest/beta
85     trust: true
86     scale: 3
87     resources:
88       ng-ui-image: opensourcemano/ng-ui:testing-daily
89   lcm:
90     charm: osm-lcm
91     channel: latest/beta
92     scale: 3
93     options:
94       database-commonkey: osm
95       log-level: DEBUG
96     resources:
97       lcm-image: opensourcemano/lcm:testing-daily
98   mon:
99     charm: osm-mon
100     channel: latest/beta
101     trust: true
102     scale: 1
103     options:
104       database-commonkey: osm
105       log-level: DEBUG
106       keystone-enabled: true
107     resources:
108       mon-image: opensourcemano/mon:testing-daily
109   pol:
110     charm: osm-pol
111     channel: latest/beta
112     scale: 3
113     options:
114       log-level: DEBUG
115     resources:
116       pol-image: opensourcemano/pol:testing-daily
117   vca:
118     charm: osm-vca-integrator
119     channel: latest/beta
120     scale: 1
121   ingress:
122     charm: nginx-ingress-integrator
123     channel: latest/stable
124     scale: 3
125   pla:
126     charm: osm-pla
127     channel: latest/stable
128     scale: 3
129     series: kubernetes
130     options:
131       log_level: DEBUG
132     resources:
133       image: opensourcemano/pla:testing-daily
134   prometheus:
135     charm: osm-prometheus
136     channel: latest/stable
137     scale: 1
138     series: kubernetes
139     storage:
140       data: 50M
141     options:
142       default-target: "mon:8000"
143   grafana:
144     charm: osm-grafana
145     channel: latest/stable
146     scale: 3
147     series: kubernetes
148   keystone:
149     charm: osm-keystone
150     channel: latest/stable
151     scale: 1
152     resources:
153       keystone-image: opensourcemano/keystone:testing-daily
154 relations:
155   - - grafana:prometheus
156     - prometheus:prometheus
157   - - kafka:zookeeper
158     - zookeeper:zookeeper
159   - - keystone:db
160     - mariadb:mysql
161   - - lcm:kafka
162     - kafka:kafka
163   - - lcm:mongodb
164     - mongodb:database
165   - - lcm:vca
166     - vca:vca
167   - - ro:ro
168     - lcm:ro
169   - - ro:kafka
170     - kafka:kafka
171   - - ro:mongodb
172     - mongodb:database
173   - - pol:kafka
174     - kafka:kafka
175   - - pol:mongodb
176     - mongodb:database
177   - - mon:mongodb
178     - mongodb:database
179   - - mon:kafka
180     - kafka:kafka
181   - - mon:vca
182     - vca:vca
183   - - pla:kafka
184     - kafka:kafka
185   - - pla:mongodb
186     - mongodb:database
187   - - nbi:mongodb
188     - mongodb:database
189   - - nbi:kafka
190     - kafka:kafka
191   - - nbi:ingress
192     - ingress:ingress
193   - - nbi:prometheus
194     - prometheus:prometheus
195   - - nbi:keystone
196     - keystone:keystone
197   - - mon:prometheus
198     - prometheus:prometheus
199   - - ng-ui:nbi
200     - nbi:nbi
201   - - ng-ui:ingress
202     - ingress:ingress
203   - - mon:keystone
204     - keystone:keystone
205   - - mariadb:mysql
206     - pol:mysql
207   - - grafana:db
208     - mariadb:mysql