6ae48e1e9c292bdb63c9d72c01f6f17c46557d0a
[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 docs: https://discourse.charmhub.io/t/osm-docs-index/8806
17 description: |
18   **A high-available Charmed OSM cluster**
19
20   Charmed OSM is an OSM distribution, developed and maintained by Canonical, which uses
21   Juju charms to simplify its deployments and operations. This bundle distribution enables
22   TSPs to easily deploy pure upstream OSM in highly available, production-grade, and
23   scalable clusters.
24
25   - Industry‐aligned and fully compliant with upstream
26   - Predictable release cadence and upgrade path
27   - Simplified deployments and operations
28   - Stable and secure
29   - Highly Available and resilient against failures
30   - Supported with Ubuntu Advantage
31   - Availability of managed services
32 applications:
33   zookeeper:
34     charm: zookeeper-k8s
35     channel: latest/stable
36     scale: 3
37     storage:
38       data: 100M
39   kafka:
40     charm: kafka-k8s
41     channel: latest/stable
42     scale: 3
43     trust: true
44     storage:
45       data: 100M
46   mariadb:
47     charm: charmed-osm-mariadb-k8s
48     scale: 3
49     series: kubernetes
50     storage:
51       database: 300M
52     options:
53       password: manopw
54       root_password: osm4u
55       user: mano
56       ha-mode: true
57   mongodb:
58     charm: mongodb-k8s
59     channel: 5/edge
60     scale: 3
61     series: kubernetes
62     storage:
63       mongodb: 50M
64   nbi:
65     charm: osm-nbi
66     channel: latest/beta
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/beta
93     scale: 3
94     options:
95       database-commonkey: osm
96       log-level: DEBUG
97     resources:
98       lcm-image: opensourcemano/lcm:testing-daily
99   mon:
100     charm: osm-mon
101     channel: latest/beta
102     trust: true
103     scale: 1
104     options:
105       database-commonkey: osm
106       log-level: DEBUG
107       keystone-enabled: true
108     resources:
109       mon-image: opensourcemano/mon:testing-daily
110   pol:
111     charm: osm-pol
112     channel: latest/beta
113     scale: 3
114     options:
115       log-level: DEBUG
116     resources:
117       pol-image: opensourcemano/pol:testing-daily
118   vca:
119     charm: osm-vca-integrator
120     channel: latest/beta
121     scale: 1
122   ingress:
123     charm: nginx-ingress-integrator
124     channel: latest/stable
125     scale: 3
126   prometheus:
127     charm: prometheus-k8s
128     channel: latest/edge
129     scale: 1
130     storage:
131       database: 50M
132   grafana:
133     charm: grafana-k8s
134     channel: latest/edge
135     scale: 3
136   keystone:
137     charm: osm-keystone
138     channel: latest/beta
139     scale: 1
140     resources:
141       keystone-image: opensourcemano/keystone:testing-daily
142 relations:
143   - - kafka:zookeeper
144     - zookeeper:zookeeper
145   - - keystone:db
146     - mariadb:mysql
147   - - lcm:kafka
148     - kafka:kafka
149   - - lcm:mongodb
150     - mongodb:database
151   - - lcm:vca
152     - vca:vca
153   - - ro:ro
154     - lcm:ro
155   - - ro:kafka
156     - kafka:kafka
157   - - ro:mongodb
158     - mongodb:database
159   - - pol:kafka
160     - kafka:kafka
161   - - pol:mongodb
162     - mongodb:database
163   - - mon:mongodb
164     - mongodb:database
165   - - mon:kafka
166     - kafka:kafka
167   - - mon:vca
168     - vca:vca
169   - - nbi:mongodb
170     - mongodb:database
171   - - nbi:kafka
172     - kafka:kafka
173   - - nbi:ingress
174     - ingress:ingress
175   - - nbi:keystone
176     - keystone:keystone
177   - - mon:metrics-endpoint
178     - prometheus:metrics-endpoint
179   - - ng-ui:nbi
180     - nbi:nbi
181   - - ng-ui:ingress
182     - ingress:ingress
183   - - mon:keystone
184     - keystone:keystone
185   - - mariadb:mysql
186     - pol:mysql