Revert "Feature 11071: Modular OSM installation. Remove charms, juju and lxd"

This reverts commit a0f0d8ef4f2aa0dd227ecb651002490b66498bab.

Change-Id: I92394e4074dad4e457c107c58e4ebc17d507f8b2
Signed-off-by: garciadeblas <gerardo.garciadeblas@telefonica.com>
diff --git a/installers/charm/bundles/.gitignore b/installers/charm/bundles/.gitignore
new file mode 100644
index 0000000..00b9f63
--- /dev/null
+++ b/installers/charm/bundles/.gitignore
@@ -0,0 +1,17 @@
+# Copyright 2022 ETSI
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+# implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+*.zip
+*build/
\ No newline at end of file
diff --git a/installers/charm/bundles/osm-ha/README.md b/installers/charm/bundles/osm-ha/README.md
new file mode 100644
index 0000000..05dab9d
--- /dev/null
+++ b/installers/charm/bundles/osm-ha/README.md
@@ -0,0 +1,46 @@
+<!--
+ Copyright 2020 Canonical Ltd.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+# Installation
+
+Go to the [OSM User Guide](https://osm.etsi.org/docs/user-guide/03-installing-osm.html#charmed-installation) for the highly available production-grade deployment.
+For a more minimal cluster suitable for testing, deploy the [single instance OSM bundle](https://jaas.ai/osm/bundle).
+
+# Bundle Components
+
+- [grafana](https://jaas.ai/u/charmed-osm/grafana/0): A CAAS charm to deploy grafana for metrics visualization
+- [kafka k8s](https://jaas.ai/u/charmed-osm/kafka-k8s): A CAAS charm to deploy Kafka used as a messaging bus between OSM components
+- [lcm](https://jaas.ai/u/charmed-osm/lcm/0): A CAAS charm to deploy OSM's Lifecycle Management (LCM) component responsible for network services orchestration.
+- [mariadb k8s](https://jaas.ai/u/charmed-osm/mariadb-k8s): A Juju charm deploying and managing database server (MariaDB) on Kubernetes
+- [mon](https://jaas.ai/u/charmed-osm/mon/0): A CAAS charm to deploy OSM's Monitoring Interface (MON) responsible for metrics collection
+- [mongodb k8s](https://jaas.ai/u/charmed-osm/mongodb-k8s): A CAAS charm to deploy MongoDB responsible for structuring the data
+- [nbi](https://jaas.ai/u/charmed-osm/nbi/5): A juju charm to deploy OSM's Northbound Interface (NBI) on Kubernetes.
+- [pol](https://jaas.ai/u/charmed-osm/pol/0): A CAAS charm to deploy OSM's Policy Module (POL) responsible for configuring alarms and actions
+- [prometheus](https://jaas.ai/u/charmed-osm/prometheus): A CAAS charm to deploy Prometheus.
+- [ro](https://jaas.ai/u/charmed-osm/ro/0): A CAAS charm to deploy OSM's Resource Orchestrator (RO) responsible for the life cycle management of VIM resources.
+- [ng-ui](https://jaas.ai/u/charmed-osm/ng-ui): A CAAS charm to deploy OSM's User Interface (UI)
+- [zookeeper k8s](https://jaas.ai/u/charmed-osm/zookeeper-k8s): A CAAS charm to deploy zookeeper for distributed synchronization
+
+# Troubleshooting
+
+If you have any trouble with the installation, please contact us, we will be glad to answer your questions.
+
+You can directly contact the team:
+
+- Guillermo Calvino ([guillermo.calvino@canonical.com](guillermo.calvino@canonical.com))
+- Gulsum Atici ([gulsum.atici@canonical.com](gulsum.atici@canonical.com))
+- Mark Beierl ([mark.beierl@canonical.com](mark.beierl@canonical.com))
+- Patricia Reinoso ([patricia.reinoso@canonical.com](patricia.reinoso@canonical.com))
+- Wajeeha Hamid ([wajeeha.hamid@canonical.com](wajeeha.hamid@canonical.com))
diff --git a/installers/charm/bundles/osm-ha/bundle.yaml b/installers/charm/bundles/osm-ha/bundle.yaml
new file mode 100644
index 0000000..a4e84d3
--- /dev/null
+++ b/installers/charm/bundles/osm-ha/bundle.yaml
@@ -0,0 +1,196 @@
+# Copyright 2020 Canonical Ltd.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+#     Unless required by applicable law or agreed to in writing, software
+#     distributed under the License is distributed on an "AS IS" BASIS,
+#     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#     See the License for the specific language governing permissions and
+#     limitations under the License.
+name: osm-ha
+bundle: kubernetes
+docs: https://discourse.charmhub.io/t/osm-docs-index/8806
+description: |
+  **A high-available Charmed OSM cluster**
+
+  Charmed OSM is an OSM distribution, developed and maintained by Canonical, which uses
+  Juju charms to simplify its deployments and operations. This bundle distribution enables
+  TSPs to easily deploy pure upstream OSM in highly available, production-grade, and
+  scalable clusters.
+
+  - Industry‐aligned and fully compliant with upstream
+  - Predictable release cadence and upgrade path
+  - Simplified deployments and operations
+  - Stable and secure
+  - Highly Available and resilient against failures
+  - Supported with Ubuntu Advantage
+  - Availability of managed services
+applications:
+  zookeeper:
+    charm: zookeeper-k8s
+    channel: latest/stable
+    scale: 3
+    storage:
+      data: 100M
+  kafka:
+    charm: kafka-k8s
+    channel: latest/stable
+    scale: 3
+    trust: true
+    storage:
+      data: 100M
+  mariadb:
+    charm: charmed-osm-mariadb-k8s
+    scale: 3
+    series: kubernetes
+    storage:
+      database: 300M
+    options:
+      password: manopw
+      root_password: osm4u
+      user: mano
+      ha-mode: true
+  mongodb:
+    charm: mongodb-k8s
+    channel: 5/edge
+    scale: 3
+    series: kubernetes
+    storage:
+      mongodb: 50M
+  nbi:
+    charm: osm-nbi
+    channel: latest/beta
+    trust: true
+    scale: 3
+    options:
+      database-commonkey: osm
+      log-level: DEBUG
+    resources:
+      nbi-image: opensourcemano/nbi:testing-daily
+  ro:
+    charm: osm-ro
+    channel: latest/beta
+    trust: true
+    scale: 3
+    options:
+      log-level: DEBUG
+    resources:
+      ro-image: opensourcemano/ro:testing-daily
+  ng-ui:
+    charm: osm-ng-ui
+    channel: latest/beta
+    trust: true
+    scale: 3
+    resources:
+      ng-ui-image: opensourcemano/ng-ui:testing-daily
+  lcm:
+    charm: osm-lcm
+    channel: latest/beta
+    scale: 3
+    options:
+      database-commonkey: osm
+      log-level: DEBUG
+    resources:
+      lcm-image: opensourcemano/lcm:testing-daily
+  mon:
+    charm: osm-mon
+    channel: latest/beta
+    trust: true
+    scale: 1
+    options:
+      database-commonkey: osm
+      log-level: DEBUG
+      keystone-enabled: true
+    resources:
+      mon-image: opensourcemano/mon:testing-daily
+  pol:
+    charm: osm-pol
+    channel: latest/beta
+    scale: 3
+    options:
+      log-level: DEBUG
+    resources:
+      pol-image: opensourcemano/pol:testing-daily
+  vca:
+    charm: osm-vca-integrator
+    channel: latest/beta
+    scale: 1
+  ingress:
+    charm: nginx-ingress-integrator
+    channel: latest/stable
+    scale: 3
+  prometheus:
+    charm: osm-prometheus
+    channel: latest/stable
+    scale: 1
+    series: kubernetes
+    storage:
+      data: 50M
+    options:
+      default-target: "mon:8000"
+  grafana:
+    charm: osm-grafana
+    channel: latest/stable
+    scale: 3
+    series: kubernetes
+  keystone:
+    charm: osm-keystone
+    channel: latest/beta
+    scale: 1
+    resources:
+      keystone-image: opensourcemano/keystone:testing-daily
+relations:
+  - - grafana:prometheus
+    - prometheus:prometheus
+  - - kafka:zookeeper
+    - zookeeper:zookeeper
+  - - keystone:db
+    - mariadb:mysql
+  - - lcm:kafka
+    - kafka:kafka
+  - - lcm:mongodb
+    - mongodb:database
+  - - lcm:vca
+    - vca:vca
+  - - ro:ro
+    - lcm:ro
+  - - ro:kafka
+    - kafka:kafka
+  - - ro:mongodb
+    - mongodb:database
+  - - pol:kafka
+    - kafka:kafka
+  - - pol:mongodb
+    - mongodb:database
+  - - mon:mongodb
+    - mongodb:database
+  - - mon:kafka
+    - kafka:kafka
+  - - mon:vca
+    - vca:vca
+  - - nbi:mongodb
+    - mongodb:database
+  - - nbi:kafka
+    - kafka:kafka
+  - - nbi:ingress
+    - ingress:ingress
+  - - nbi:prometheus
+    - prometheus:prometheus
+  - - nbi:keystone
+    - keystone:keystone
+  - - mon:prometheus
+    - prometheus:prometheus
+  - - ng-ui:nbi
+    - nbi:nbi
+  - - ng-ui:ingress
+    - ingress:ingress
+  - - mon:keystone
+    - keystone:keystone
+  - - mariadb:mysql
+    - pol:mysql
+  - - grafana:db
+    - mariadb:mysql
diff --git a/installers/charm/bundles/osm-ha/charmcraft.yaml b/installers/charm/bundles/osm-ha/charmcraft.yaml
new file mode 100644
index 0000000..111b05c
--- /dev/null
+++ b/installers/charm/bundles/osm-ha/charmcraft.yaml
@@ -0,0 +1,14 @@
+# Copyright 2022 Canonical Ltd.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+#     Unless required by applicable law or agreed to in writing, software
+#     distributed under the License is distributed on an "AS IS" BASIS,
+#     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#     See the License for the specific language governing permissions and
+#     limitations under the License.
+type: bundle
diff --git a/installers/charm/bundles/osm/CODE_OF_CONDUCT.md b/installers/charm/bundles/osm/CODE_OF_CONDUCT.md
new file mode 100644
index 0000000..121dcc8
--- /dev/null
+++ b/installers/charm/bundles/osm/CODE_OF_CONDUCT.md
@@ -0,0 +1,96 @@
+<!-- Copyright 2022 ETSI
+
+Licensed under the Apache License, Version 2.0 (the "License"); you may
+not use this file except in compliance with the License. You may obtain
+a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+License for the specific language governing permissions and limitations
+under the License.
+
+For those usages not covered by the Apache License, Version 2.0 please
+contact: legal@canonical.com
+
+To get in touch with the maintainers, please contact:
+osm-charmers@lists.launchpad.net -->
+# Contributor Covenant Code of Conduct
+
+## Our Pledge
+
+In the interest of fostering an open and welcoming environment, we as
+contributors and maintainers pledge to making participation in our project and
+our community a harassment-free experience for everyone, regardless of age, body
+size, disability, ethnicity, sex characteristics, gender identity and expression,
+level of experience, education, socio-economic status, nationality, personal
+appearance, race, religion, or sexual identity and orientation.
+
+## Our Standards
+
+Examples of behavior that contributes to creating a positive environment
+include:
+
+* Using welcoming and inclusive language
+* Being respectful of differing viewpoints and experiences
+* Gracefully accepting constructive criticism
+* Focusing on what is best for the community
+* Showing empathy towards other community members
+
+Examples of unacceptable behavior by participants include:
+
+* The use of sexualized language or imagery and unwelcome sexual attention or
+ advances
+* Trolling, insulting/derogatory comments, and personal or political attacks
+* Public or private harassment
+* Publishing others' private information, such as a physical or electronic
+ address, without explicit permission
+* Other conduct which could reasonably be considered inappropriate in a
+ professional setting
+
+## Our Responsibilities
+
+Project maintainers are responsible for clarifying the standards of acceptable
+behavior and are expected to take appropriate and fair corrective action in
+response to any instances of unacceptable behavior.
+
+Project maintainers have the right and responsibility to remove, edit, or
+reject comments, commits, code, wiki edits, issues, and other contributions
+that are not aligned to this Code of Conduct, or to ban temporarily or
+permanently any contributor for other behaviors that they deem inappropriate,
+threatening, offensive, or harmful.
+
+## Scope
+
+This Code of Conduct applies both within project spaces and in public spaces
+when an individual is representing the project or its community. Examples of
+representing a project or community include using an official project e-mail
+address, posting via an official social media account, or acting as an appointed
+representative at an online or offline event. Representation of a project may be
+further defined and clarified by project maintainers.
+
+## Enforcement
+
+Instances of abusive, harassing, or otherwise unacceptable behavior may be
+reported by contacting the project team in the 
+[OSM public mattermost channel](https://chat.charmhub.io/charmhub/channels/charmed-osm). 
+All complaints will be reviewed and investigated and will result in a response that
+is deemed necessary and appropriate to the circumstances. The project team is
+obligated to maintain confidentiality with regard to the reporter of an incident.
+Further details of specific enforcement policies may be posted separately.
+
+Project maintainers who do not follow or enforce the Code of Conduct in good
+faith may face temporary or permanent repercussions as determined by other
+members of the project's leadership.
+
+## Attribution
+
+This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
+available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
+
+[homepage]: https://www.contributor-covenant.org
+
+For answers to common questions about this code of conduct, see
+https://www.contributor-covenant.org/faq
\ No newline at end of file
diff --git a/installers/charm/bundles/osm/CONTRIBUTING.md b/installers/charm/bundles/osm/CONTRIBUTING.md
new file mode 100644
index 0000000..63c6178
--- /dev/null
+++ b/installers/charm/bundles/osm/CONTRIBUTING.md
@@ -0,0 +1,53 @@
+<!-- Copyright 2022 ETSI
+
+Licensed under the Apache License, Version 2.0 (the "License"); you may
+not use this file except in compliance with the License. You may obtain
+a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+License for the specific language governing permissions and limitations
+under the License.
+
+For those usages not covered by the Apache License, Version 2.0 please
+contact: legal@canonical.com
+
+To get in touch with the maintainers, please contact:
+osm-charmers@lists.launchpad.net -->
+
+# Contributing
+
+## Overview
+
+This documents explains the processes and practices recommended for contributing enhancements to
+this bundle.
+
+- Generally, before developing enhancements to this charm, you should consider [opening an issue
+  ](https://osm.etsi.org/bugzilla/enter_bug.cgi?product=OSM) explaining your use case. (Component=devops, version=master)
+- If you would like to chat with us about your use-cases or proposed implementation, you can reach
+  us at [OSM Juju public channel](https://opensourcemano.slack.com/archives/C027KJGPECA).
+- Familiarising yourself with the [Charmed Operator Framework](https://juju.is/docs/sdk) library
+  will help you a lot when working on new features or bug fixes.
+- All enhancements require review before being merged. Code review typically examines
+  - code quality
+  - test coverage
+  - user experience for Juju administrators this charm.
+- Please help us out in ensuring easy to review branches by rebasing your gerrit patch onto
+  the `master` branch.
+
+## Code Repository
+
+To clone the repository for this bundle:
+
+```shell
+git clone "https://osm.etsi.org/gerrit/osm/devops"
+```
+
+The bundle can be found in the following directory:
+
+```shell
+cd devops/installers/charm/bundles/osm
+```
diff --git a/installers/charm/bundles/osm/README.md b/installers/charm/bundles/osm/README.md
new file mode 100644
index 0000000..c6fb07f
--- /dev/null
+++ b/installers/charm/bundles/osm/README.md
@@ -0,0 +1,61 @@
+<!--
+ Copyright 2020 Canonical Ltd.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+# Installation
+
+Charmed OSM runs on the Ubuntu Long Term Support (LTS) release Bionic. Additionally, we recommend installing on a freshly installed virtual machine or bare metal with minimum requirements of:
+
+- **16 GB RAM**
+- **4 CPUs**
+- **50 GB** of free storage space
+
+The steps needed for the bundle installation are as follows:
+
+- Installing MicroK8s and Juju
+- Setting up the MicroK8s and LXD
+- Bootstrapping the Juju controller
+- Deploying the charmed OSM bundle
+- Installing OSM client
+- Integration of charmed OSM with MicroStack VIM
+
+Follow the installation steps [here](https://juju.is/tutorials/charmed-osm-get-started#1-introduction)
+
+# Bundle Components
+
+- [grafana](https://jaas.ai/u/charmed-osm/grafana/0): A CAAS charm to deploy grafana for metrics visualization
+- [kafka k8s](https://jaas.ai/u/charmed-osm/kafka-k8s): A CAAS charm to deploy Kafka used as a messaging bus between OSM components
+- [lcm](https://jaas.ai/u/charmed-osm/lcm/0): A CAAS charm to deploy OSM's Lifecycle Management (LCM) component responsible for network services orchestration.
+- [mariadb k8s](https://jaas.ai/u/charmed-osm/mariadb-k8s): A Juju charm deploying and managing database server (MariaDB) on Kubernetes
+- [mon](https://jaas.ai/u/charmed-osm/mon/0): A CAAS charm to deploy OSM's Monitoring Interface (MON) responsible for metrics collection
+- [mongodb k8s](https://jaas.ai/u/charmed-osm/mongodb-k8s): A CAAS charm to deploy MongoDB responsible for structuring the data
+- [nbi](https://jaas.ai/u/charmed-osm/nbi/5): A juju charm to deploy OSM's Northbound Interface (NBI) on Kubernetes.
+- [pol](https://jaas.ai/u/charmed-osm/pol/0): A CAAS charm to deploy OSM's Policy Module (POL) responsible for configuring alarms and actions
+- [prometheus](https://jaas.ai/u/charmed-osm/prometheus): A CAAS charm to deploy Prometheus.
+- [ro](https://jaas.ai/u/charmed-osm/ro/0): A CAAS charm to deploy OSM's Resource Orchestrator (RO) responsible for the life cycle management of VIM resources.
+- [ng-ui](https://jaas.ai/u/charmed-osm/ng-ui): A CAAS charm to deploy OSM's User Interface (UI)
+- [zookeeper k8s](https://jaas.ai/u/charmed-osm/zookeeper-k8s): A CAAS charm to deploy zookeeper for distributed synchronization
+
+# Troubleshooting
+
+If you have any trouble with the installation, please contact us, we will be glad to answer your questions.
+
+You can directly contact the team:
+
+- Guillermo Calvino ([guillermo.calvino@canonical.com](guillermo.calvino@canonical.com))
+- Gulsum Atici ([gulsum.atici@canonical.com](gulsum.atici@canonical.com))
+- Mark Beierl ([mark.beierl@canonical.com](mark.beierl@canonical.com))
+- Patricia Reinoso ([patricia.reinoso@canonical.com](patricia.reinoso@canonical.com))
+- Wajeeha Hamid ([wajeeha.hamid@canonical.com](wajeeha.hamid@canonical.com))
diff --git a/installers/charm/bundles/osm/bundle.yaml b/installers/charm/bundles/osm/bundle.yaml
new file mode 100644
index 0000000..b2db446
--- /dev/null
+++ b/installers/charm/bundles/osm/bundle.yaml
@@ -0,0 +1,195 @@
+# Copyright 2020 Canonical Ltd.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+#     Unless required by applicable law or agreed to in writing, software
+#     distributed under the License is distributed on an "AS IS" BASIS,
+#     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#     See the License for the specific language governing permissions and
+#     limitations under the License.
+name: osm
+bundle: kubernetes
+docs: https://discourse.charmhub.io/t/osm-docs-index/8806
+issues: https://osm.etsi.org/bugzilla/
+description: |
+  **Single instance Charmed OSM**
+
+  Charmed OSM is an OSM distribution, developed and maintained by Canonical, which uses
+  Juju charms to simplify its deployments and operations. This bundle distribution refers
+  to the development stack for OSM and allows you to deploy a single instance OSM bundle
+  that is fast, reliable, and a complete solution with MicroStack and MicroK8s.
+
+  - Industry-aligned and fully compliant with upstream
+  - Predictable release cadence and upgrade path
+  - Simplified deployments and operations
+  - Stable and secure
+  - Supported with Ubuntu Advantage
+  - Availability of managed services
+applications:
+  zookeeper:
+    charm: zookeeper-k8s
+    channel: latest/stable
+    scale: 1
+    storage:
+      data: 100M
+  kafka:
+    charm: kafka-k8s
+    channel: latest/stable
+    scale: 1
+    trust: true
+    storage:
+      data: 100M
+  mariadb:
+    charm: charmed-osm-mariadb-k8s
+    scale: 1
+    series: kubernetes
+    storage:
+      database: 50M
+    options:
+      password: manopw
+      root_password: osm4u
+      user: mano
+  mongodb:
+    charm: mongodb-k8s
+    channel: 5/edge
+    scale: 1
+    series: kubernetes
+    storage:
+      mongodb: 50M
+  nbi:
+    charm: osm-nbi
+    channel: latest/beta
+    trust: true
+    scale: 1
+    options:
+      database-commonkey: osm
+      log-level: DEBUG
+    resources:
+      nbi-image: opensourcemano/nbi:testing-daily
+  ro:
+    charm: osm-ro
+    channel: latest/beta
+    trust: true
+    scale: 1
+    options:
+      log-level: DEBUG
+    resources:
+      ro-image: opensourcemano/ro:testing-daily
+  ng-ui:
+    charm: osm-ng-ui
+    channel: latest/beta
+    trust: true
+    scale: 1
+    resources:
+      ng-ui-image: opensourcemano/ng-ui:testing-daily
+  lcm:
+    charm: osm-lcm
+    channel: latest/beta
+    scale: 1
+    options:
+      database-commonkey: osm
+      log-level: DEBUG
+    resources:
+      lcm-image: opensourcemano/lcm:testing-daily
+  mon:
+    charm: osm-mon
+    channel: latest/beta
+    trust: true
+    scale: 1
+    options:
+      database-commonkey: osm
+      log-level: DEBUG
+      keystone-enabled: true
+    resources:
+      mon-image: opensourcemano/mon:testing-daily
+  pol:
+    charm: osm-pol
+    channel: latest/beta
+    scale: 1
+    options:
+      log-level: DEBUG
+    resources:
+      pol-image: opensourcemano/pol:testing-daily
+  vca:
+    charm: osm-vca-integrator
+    channel: latest/beta
+    scale: 1
+  ingress:
+    charm: nginx-ingress-integrator
+    channel: latest/stable
+    scale: 1
+  prometheus:
+    charm: osm-prometheus
+    channel: latest/stable
+    scale: 1
+    series: kubernetes
+    storage:
+      data: 50M
+    options:
+      default-target: "mon:8000"
+  grafana:
+    charm: osm-grafana
+    channel: latest/stable
+    scale: 1
+    series: kubernetes
+  keystone:
+    charm: osm-keystone
+    channel: latest/beta
+    scale: 1
+    resources:
+      keystone-image: opensourcemano/keystone:testing-daily
+relations:
+  - - grafana:prometheus
+    - prometheus:prometheus
+  - - kafka:zookeeper
+    - zookeeper:zookeeper
+  - - keystone:db
+    - mariadb:mysql
+  - - lcm:kafka
+    - kafka:kafka
+  - - lcm:mongodb
+    - mongodb:database
+  - - lcm:vca
+    - vca:vca
+  - - ro:ro
+    - lcm:ro
+  - - ro:kafka
+    - kafka:kafka
+  - - ro:mongodb
+    - mongodb:database
+  - - pol:kafka
+    - kafka:kafka
+  - - pol:mongodb
+    - mongodb:database
+  - - mon:mongodb
+    - mongodb:database
+  - - mon:kafka
+    - kafka:kafka
+  - - mon:vca
+    - vca:vca
+  - - nbi:mongodb
+    - mongodb:database
+  - - nbi:kafka
+    - kafka:kafka
+  - - nbi:ingress
+    - ingress:ingress
+  - - nbi:prometheus
+    - prometheus:prometheus
+  - - nbi:keystone
+    - keystone:keystone
+  - - mon:prometheus
+    - prometheus:prometheus
+  - - ng-ui:nbi
+    - nbi:nbi
+  - - ng-ui:ingress
+    - ingress:ingress
+  - - mon:keystone
+    - keystone:keystone
+  - - mariadb:mysql
+    - pol:mysql
+  - - grafana:db
+    - mariadb:mysql
diff --git a/installers/charm/bundles/osm/charmcraft.yaml b/installers/charm/bundles/osm/charmcraft.yaml
new file mode 100644
index 0000000..111b05c
--- /dev/null
+++ b/installers/charm/bundles/osm/charmcraft.yaml
@@ -0,0 +1,14 @@
+# Copyright 2022 Canonical Ltd.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+#     Unless required by applicable law or agreed to in writing, software
+#     distributed under the License is distributed on an "AS IS" BASIS,
+#     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#     See the License for the specific language governing permissions and
+#     limitations under the License.
+type: bundle