202ee2b74f7c218b457ea32f411b18daf11b6eba
[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: osm-zookeeper
34     channel: latest/edge
35     scale: 3
36     series: kubernetes
37     storage:
38       database: 100M
39     options:
40       zookeeper-units: 3
41     annotations:
42       gui-x: 0
43       gui-y: 500
44   mariadb:
45     charm: charmed-osm-mariadb-k8s
46     scale: 3
47     series: kubernetes
48     storage:
49       database: 300M
50     options:
51       password: manopw
52       root_password: osm4u
53       user: mano
54       ha-mode: true
55     annotations:
56       gui-x: -300
57       gui-y: -250
58   kafka:
59     charm: osm-kafka
60     channel: latest/edge
61     scale: 3
62     series: kubernetes
63     storage:
64       database: 100M
65     options:
66       zookeeper-units: 3
67       kafka-units: 3
68     annotations:
69       gui-x: 0
70       gui-y: 250
71   mongodb:
72     charm: mongodb-k8s
73     channel: latest/stable
74     scale: 3
75     series: kubernetes
76     storage:
77       db: 50M
78     annotations:
79       gui-x: 0
80       gui-y: 0
81   nbi:
82     charm: osm-nbi
83     channel: latest/edge
84     scale: 3
85     series: kubernetes
86     options:
87       database_commonkey: osm
88       auth_backend: keystone
89       log_level: DEBUG
90     annotations:
91       gui-x: 0
92       gui-y: -250
93   ro:
94     charm: osm-ro
95     channel: latest/edge
96     scale: 3
97     series: kubernetes
98     options:
99       log_level: DEBUG
100     annotations:
101       gui-x: -300
102       gui-y: 250
103   ng-ui:
104     charm: osm-ng-ui
105     channel: latest/edge
106     scale: 3
107     series: kubernetes
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     annotations:
120       gui-x: -300
121       gui-y: 0
122   mon:
123     charm: osm-mon
124     channel: latest/edge
125     scale: 1
126     series: kubernetes
127     options:
128       database_commonkey: osm
129       log_level: DEBUG
130       keystone_enabled: true
131     annotations:
132       gui-x: 300
133       gui-y: 0
134   pol:
135     charm: osm-pol
136     channel: latest/edge
137     scale: 3
138     series: kubernetes
139     options:
140       log_level: DEBUG
141     annotations:
142       gui-x: -300
143       gui-y: 500
144   pla:
145     charm: osm-pla
146     channel: latest/edge
147     scale: 3
148     series: kubernetes
149     options:
150       log_level: DEBUG
151     annotations:
152       gui-x: 600
153       gui-y: -250
154   prometheus:
155     charm: osm-prometheus
156     channel: latest/edge
157     scale: 1
158     series: kubernetes
159     storage:
160       data: 50M
161     options:
162       default-target: "mon:8000"
163     annotations:
164       gui-x: 300
165       gui-y: 250
166   grafana:
167     charm: osm-grafana
168     channel: latest/edge
169     scale: 3
170     series: kubernetes
171     annotations:
172       gui-x: 300
173       gui-y: 500
174   keystone:
175     charm: osm-keystone
176     channel: latest/edge
177     scale: 1
178     annotations:
179       gui-x: 300
180       gui-y: -250
181 relations:
182   - - grafana:prometheus
183     - prometheus:prometheus
184   - - kafka:zookeeper
185     - zookeeper:zookeeper
186   - - keystone:db
187     - mariadb:mysql
188   - - lcm:kafka
189     - kafka:kafka
190   - - lcm:mongodb
191     - mongodb:database
192   - - ro:ro
193     - lcm:ro
194   - - ro:kafka
195     - kafka:kafka
196   - - ro:mongodb
197     - mongodb:database
198   - - pol:kafka
199     - kafka:kafka
200   - - pol:mongodb
201     - mongodb:database
202   - - mon:mongodb
203     - mongodb:database
204   - - mon:kafka
205     - kafka:kafka
206   - - pla:kafka
207     - kafka:kafka
208   - - pla:mongodb
209     - mongodb:database
210   - - nbi:mongodb
211     - mongodb:database
212   - - nbi:kafka
213     - kafka:kafka
214   - - nbi:prometheus
215     - prometheus:prometheus
216   - - nbi:keystone
217     - keystone:keystone
218   - - mon:prometheus
219     - prometheus:prometheus
220   - - ng-ui:nbi
221     - nbi:nbi
222   - - mon:keystone
223     - keystone:keystone
224   - - mariadb:mysql
225     - pol:mysql
226   - - grafana:db
227     - mariadb:mysql