Files
sunbeam-charms/charms/magnum-k8s
Hemanth Nakkina 3d196750ba [magnum-k8s] Add new config options
Add new config options to the charm so that
users can point to another capi helm repository.

Add config option api_resources to override versions or
names of the cluster api resources. The option
defaults to the ones used by canonical k8s capi
deployment.

Add config option allowed_network_drivers to specify the
CNI that are supported by the capi helm chart. Defaults
to the cilium driver that is supported by Canonical k8s

Change-Id: I6e498ef98391017b4d8175a6a044864dcbff6306
Signed-off-by: Hemanth Nakkina <hemanth.nakkina@canonical.com>
2025-09-01 13:28:29 +05:30
..
2025-09-01 13:28:29 +05:30
2024-07-31 11:57:32 +02:00
2023-08-24 11:15:01 +02:00
2023-08-24 11:15:01 +02:00
2025-05-05 15:49:14 +05:30
2025-08-21 13:29:31 +05:30
2025-06-10 13:52:25 +00:00

magnum-k8s

Description

magnum-k8s is an operator to manage the Magnul API and conductor services on a Kubernetes based environment.

Usage

Deployment

magnum-k8s is deployed using below command:

juju deploy magnum-k8s magnum --trust

Now connect the magnum operator to existing database, messaging and keystone identity operators:

juju relate mysql:database magnum:database
juju relate rabbitmq:amqp magnum:amqp
juju relate keystone:identity-service magnum:identity-service
juju relate keystone:identity-ops magnum:identity-ops

Configuration

This section covers common and/or important configuration options. See file config.yaml for the full list of options, along with their descriptions and default values. See the Juju documentation for details on configuring applications.

Actions

This section covers Juju actions supported by the charm. Actions allow specific operations to be performed on a per-unit basis. To display action descriptions run juju actions magnum. If the charm is not deployed then see file actions.yaml.

Further information on testing

magnum-k8s support magnum-capi-helm driver and needs external kubernetes management cluster.

Kubernetes management cluster should already have the Cluster API deployed. Cluster API can be deployed by running following steps

curl -L https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.9.6/clusterctl-linux-amd64 -o clusterctl
sudo install -o root -g root -m 0755 clusterctl /usr/local/bin/clusterctl
KUBECONFIG=<kubeconfig file path> clusterctl init --core cluster-api:v1.9.6 --bootstrap canonical-kubernetes --control-plane canonical-kubernetes --infrastructure openstack:v0.11.3 --addon helm

Also Kubernetes cluster credentials should be passed as a juju secret to the magnum charm via config option kubeconfig Steps to create juju secret and update config

juju add-secret secret-kubeconfig kubeconfig#file=<kubeconfig file path>
juju grant-secret secret-kubeconfig magnum
juju config magnum kubeconfig=<secret-kubeconfig URI>

Relations

magnum-k8s requires the following relations:

database: To connect to MySQL amqp: To connect to RabbitMQ identity-service: To register endpoints in Keystone ingress-internal: To expose service on underlying internal network ingress-public: To expose service on public network identity-ops: To create trustee user

OCI Images

The charm by default uses following images:

`ghcr.io/canonical/magnum-consolidated:2025.1`

Contributing

Please see the Juju SDK docs for guidelines on enhancements to this charm following best practice guidelines, and CONTRIBUTING.md for developer guidance.

Bugs

Please report bugs on Launchpad.