Charmed OSM preparation for 10.1.0
[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/candidate
66     scale: 3
67     series: kubernetes
68     options:
69       database_commonkey: osm
70       auth_backend: keystone
71       log_level: DEBUG
72     resources:
73       image: opensourcemano/nbi:10
74   ro:
75     charm: osm-ro
76     channel: latest/candidate
77     scale: 3
78     series: kubernetes
79     options:
80       log_level: DEBUG
81     resources:
82       image: opensourcemano/ro:10
83   ng-ui:
84     charm: osm-ng-ui
85     channel: latest/candidate
86     scale: 3
87     series: kubernetes
88     resources:
89       image: opensourcemano/ng-ui:10
90   lcm:
91     charm: osm-lcm
92     channel: latest/candidate
93     scale: 3
94     series: kubernetes
95     options:
96       database_commonkey: osm
97       log_level: DEBUG
98     resources:
99       image: opensourcemano/lcm:10
100   mon:
101     charm: osm-mon
102     channel: latest/candidate
103     scale: 1
104     series: kubernetes
105     options:
106       database_commonkey: osm
107       log_level: DEBUG
108       keystone_enabled: true
109     resources:
110       image: opensourcemano/mon:10
111   pol:
112     charm: osm-pol
113     channel: latest/candidate
114     scale: 3
115     series: kubernetes
116     options:
117       log_level: DEBUG
118     resources:
119       image: opensourcemano/pol:10
120   pla:
121     charm: osm-pla
122     channel: latest/candidate
123     scale: 3
124     series: kubernetes
125     options:
126       log_level: DEBUG
127     resources:
128       image: opensourcemano/pla:10
129   prometheus:
130     charm: osm-prometheus
131     channel: latest/candidate
132     scale: 1
133     series: kubernetes
134     storage:
135       data: 50M
136     options:
137       default-target: "mon:8000"
138   grafana:
139     charm: osm-grafana
140     channel: latest/candidate
141     scale: 3
142     series: kubernetes
143   keystone:
144     charm: osm-keystone
145     channel: latest/candidate
146     scale: 1
147     resources:
148       keystone-image: opensourcemano/keystone:10
149 relations:
150   - - grafana:prometheus
151     - prometheus:prometheus
152   - - kafka:zookeeper
153     - zookeeper:zookeeper
154   - - keystone:db
155     - mariadb:mysql
156   - - lcm:kafka
157     - kafka:kafka
158   - - lcm:mongodb
159     - mongodb:database
160   - - ro:ro
161     - lcm:ro
162   - - ro:kafka
163     - kafka:kafka
164   - - ro:mongodb
165     - mongodb:database
166   - - pol:kafka
167     - kafka:kafka
168   - - pol:mongodb
169     - mongodb:database
170   - - mon:mongodb
171     - mongodb:database
172   - - mon:kafka
173     - kafka:kafka
174   - - pla:kafka
175     - kafka:kafka
176   - - pla:mongodb
177     - mongodb:database
178   - - nbi:mongodb
179     - mongodb:database
180   - - nbi:kafka
181     - kafka:kafka
182   - - nbi:prometheus
183     - prometheus:prometheus
184   - - nbi:keystone
185     - keystone:keystone
186   - - mon:prometheus
187     - prometheus:prometheus
188   - - ng-ui:nbi
189     - nbi:nbi
190   - - mon:keystone
191     - keystone:keystone
192   - - mariadb:mysql
193     - pol:mysql
194   - - grafana:db
195     - mariadb:mysql