08cd281fdda8ad62704943b70a66dcf1f5cf3516
[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/edge/paas
66     series: focal
67     trust: true
68     scale: 3
69     options:
70       database-commonkey: osm
71       log-level: DEBUG
72     resources:
73       nbi-image: opensourcemano/nbi:testing-daily
74   ro:
75     charm: osm-ro
76     channel: latest/beta
77     trust: true
78     scale: 3
79     options:
80       log-level: DEBUG
81     resources:
82       ro-image: opensourcemano/ro:testing-daily
83   ng-ui:
84     charm: osm-ng-ui
85     channel: latest/beta
86     trust: true
87     scale: 3
88     resources:
89       ng-ui-image: opensourcemano/ng-ui:testing-daily
90   lcm:
91     charm: osm-lcm
92     channel: latest/edge/paas
93     series: focal
94     scale: 3
95     options:
96       database-commonkey: osm
97       log-level: DEBUG
98     resources:
99       lcm-image: opensourcemano/lcm:testing-daily
100   mon:
101     charm: osm-mon
102     channel: latest/beta
103     trust: true
104     scale: 1
105     options:
106       database-commonkey: osm
107       log-level: DEBUG
108       keystone-enabled: true
109     resources:
110       mon-image: opensourcemano/mon:testing-daily
111   pol:
112     charm: osm-pol
113     channel: latest/beta
114     scale: 3
115     options:
116       log-level: DEBUG
117     resources:
118       pol-image: opensourcemano/pol:testing-daily
119   vca:
120     charm: osm-vca-integrator
121     channel: latest/beta
122     scale: 1
123   ingress:
124     charm: nginx-ingress-integrator
125     channel: latest/stable
126     scale: 3
127   prometheus:
128     charm: osm-prometheus
129     channel: latest/stable
130     scale: 1
131     series: kubernetes
132     storage:
133       data: 50M
134     options:
135       default-target: "mon:8000"
136   grafana:
137     charm: osm-grafana
138     channel: latest/stable
139     scale: 3
140     series: kubernetes
141   keystone:
142     charm: osm-keystone
143     channel: latest/stable
144     scale: 1
145     resources:
146       keystone-image: opensourcemano/keystone:testing-daily
147   temporal:
148     charm: osm-temporal
149     channel: latest/edge/paas
150     series: focal
151     scale: 3
152     resources:
153       temporal-server-image: temporalio/auto-setup:1.19.0
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   - - nbi:mongodb
184     - mongodb:database
185   - - nbi:kafka
186     - kafka:kafka
187   - - nbi:ingress
188     - ingress:ingress
189   - - nbi:prometheus
190     - prometheus:prometheus
191   - - nbi:keystone
192     - keystone:keystone
193   - - nbi:temporal
194     - temporal:temporal
195   - - mon:prometheus
196     - prometheus:prometheus
197   - - ng-ui:nbi
198     - nbi:nbi
199   - - ng-ui:ingress
200     - ingress:ingress
201   - - mon:keystone
202     - keystone:keystone
203   - - mariadb:mysql
204     - pol:mysql
205   - - grafana:db
206     - mariadb:mysql
207   - - temporal:db
208     - mariadb:mysql