Capsule docs - contributing

The code for this charm can be downloaded as follows:

git clone https://github.com/clastix/capsule-k8s-charm

Setup

A typical setup using snaps, for deployments to a microk8s cluster can be done using the following commands.

Install the dependencies:

sudo snap install juju --classic
sudo snap install microk8s --classic
microk8s.enable dns storage

Create a controller named micro into the cloud microk8s:

juju bootstrap microk8s micro

In Juju, you interact with the client (the juju command on your local machine). It connects to a controller. The controller is hosted on a cloud and controls models.

juju add-model capsule-system

Then you build and deploy this charm into the model you just created:

charmcraft build
juju deploy --trust ./charm-k8s-capsule.charm --resource capsule-image=clastix/capsule:v0.1.1

To check it you run:

juju status

Development

Create and activate a virtualenv with the development requirements:

virtualenv -p python3 venv
source venv/bin/activate
pip install -r requirements-dev.txt

Now build the charm again and upgrade it through juju:

charmcraft build
juju upgrade-charm --path="./charm-k8s-capsule.charm" charm-k8s-capsule --force-units

Alternatively, you can completely clean up the environment:

juju remove-application charm-k8s-capsule --force --no-wait
juju destroy-model capsule-system --destroy-storage --force --no-wait
juju destroy-controller micro --destroy-all-models