PyYAML bug workaround
[osm/devops.git] / installers / charm / bundles / osm / 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
15 bundle: kubernetes
16 docs: https://discourse.charmhub.io/t/osm-docs-index/8806
17 description: |
18   **Single instance Charmed OSM**
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 refers
22   to the development stack for OSM and allows you to deploy a single instance OSM bundle
23   that is fast, reliable, and a complete solution with MicroStack and MicroK8s.
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   - Supported with Ubuntu Advantage
30   - Availability of managed services
31 applications:
32   zookeeper:
33     charm: zookeeper-k8s
34     channel: latest/stable
35     scale: 1
36     storage:
37       data: 100M
38   kafka:
39     charm: kafka-k8s
40     channel: latest/stable
41     scale: 1
42     trust: true
43     storage:
44       data: 100M
45   mariadb:
46     charm: charmed-osm-mariadb-k8s
47     scale: 1
48     series: kubernetes
49     storage:
50       database: 50M
51     options:
52       password: manopw
53       root_password: osm4u
54       user: mano
55   mongodb:
56     charm: mongodb-k8s
57     channel: 5/edge
58     series: jammy
59     scale: 1
60     storage:
61       mongodb: 50M
62   nbi:
63     charm: osm-nbi
64     channel: latest/edge/paas
65     series: focal
66     trust: true
67     scale: 1
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     series: focal
77     trust: true
78     scale: 1
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     series: focal
87     trust: true
88     scale: 1
89     resources:
90       ng-ui-image: opensourcemano/ng-ui:testing-daily
91   lcm:
92     charm: osm-lcm
93     channel: latest/edge/paas
94     series: focal
95     scale: 1
96     options:
97       database-commonkey: osm
98       log-level: DEBUG
99     resources:
100       lcm-image: opensourcemano/lcm:testing-daily
101   mon:
102     charm: osm-mon
103     channel: latest/beta
104     series: focal
105     trust: true
106     scale: 1
107     options:
108       database-commonkey: osm
109       log-level: DEBUG
110       keystone-enabled: true
111     resources:
112       mon-image: opensourcemano/mon:testing-daily
113   pol:
114     charm: osm-pol
115     channel: latest/beta
116     series: focal
117     scale: 1
118     options:
119       log-level: DEBUG
120     resources:
121       pol-image: opensourcemano/pol:testing-daily
122   vca:
123     charm: osm-vca-integrator
124     channel: latest/beta
125     series: focal
126     scale: 1
127   ingress:
128     charm: nginx-ingress-integrator
129     channel: latest/stable
130     scale: 1
131   prometheus:
132     charm: osm-prometheus
133     channel: latest/stable
134     scale: 1
135     series: kubernetes
136     storage:
137       data: 50M
138     options:
139       default-target: "mon:8000"
140   grafana:
141     charm: osm-grafana
142     channel: latest/stable
143     scale: 1
144     series: kubernetes
145   keystone:
146     charm: osm-keystone
147     channel: latest/stable
148     scale: 1
149     resources:
150       keystone-image: opensourcemano/keystone:testing-daily
151   temporal:
152     charm: osm-temporal
153     channel: latest/edge
154     series: focal
155     scale: 1
156     resources:
157       temporal-server-image: temporalio/auto-setup:1.20.0
158 relations:
159   - - grafana:prometheus
160     - prometheus:prometheus
161   - - kafka:zookeeper
162     - zookeeper:zookeeper
163   - - keystone:db
164     - mariadb:mysql
165   - - lcm:kafka
166     - kafka:kafka
167   - - lcm:mongodb
168     - mongodb:database
169   - - lcm:vca
170     - vca:vca
171   - - ro:ro
172     - lcm:ro
173   - - ro:kafka
174     - kafka:kafka
175   - - ro:mongodb
176     - mongodb:database
177   - - pol:kafka
178     - kafka:kafka
179   - - pol:mongodb
180     - mongodb:database
181   - - mon:mongodb
182     - mongodb:database
183   - - mon:kafka
184     - kafka:kafka
185   - - mon:vca
186     - vca:vca
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   - - nbi:temporal
198     - temporal:temporal
199   - - mon:prometheus
200     - prometheus:prometheus
201   - - ng-ui:nbi
202     - nbi:nbi
203   - - ng-ui:ingress
204     - ingress:ingress
205   - - mon:keystone
206     - keystone:keystone
207   - - mariadb:mysql
208     - pol:mysql
209   - - grafana:db
210     - mariadb:mysql
211   - - temporal:db
212     - mariadb:mysql