
* Add kubeconfig as configuration option to charm * Update magnum.conf templates to add new configuration related to magnum-capi-helm driver Change-Id: Id2eacca3cb189be5507f29f84ebcce73c0c201a5 Signed-off-by: Hemanth Nakkina <hemanth.nakkina@canonical.com>
108 lines
2.6 KiB
YAML
108 lines
2.6 KiB
YAML
type: charm
|
|
name: magnum-k8s
|
|
summary: OpenStack magnum service
|
|
description: |
|
|
Magnum is an OpenStack project which offers container orchestration engines
|
|
for deploying and managing containers as first class resources in OpenStack.
|
|
assumes:
|
|
- k8s-api
|
|
- juju >= 3.1
|
|
|
|
base: ubuntu@24.04
|
|
platforms:
|
|
amd64:
|
|
|
|
config:
|
|
options:
|
|
cluster-user-trust:
|
|
type: boolean
|
|
default: false
|
|
description: |
|
|
Controls whether to assign a trust to the cluster user or not. You will
|
|
need to set it to True for clusters with volume_driver=cinder or
|
|
registry_enabled=true in the underlying cluster template to work. This is
|
|
a potential security risk since the trust gives instances OpenStack API
|
|
access to the cluster's project. Note that this setting does not affect
|
|
per-cluster trusts assigned to the Magnum service user.
|
|
debug:
|
|
default: false
|
|
description: Enable debug logging.
|
|
type: boolean
|
|
region:
|
|
default: RegionOne
|
|
description: Name of the OpenStack region
|
|
type: string
|
|
kubeconfig:
|
|
type: secret
|
|
description: |
|
|
Kubeconfig to connect to Cluster API management cluster.
|
|
The value should be juju secret.
|
|
|
|
containers:
|
|
magnum-api:
|
|
resource: magnum-api-image
|
|
magnum-conductor:
|
|
resource: magnum-conductor-image
|
|
|
|
resources:
|
|
magnum-api-image:
|
|
type: oci-image
|
|
description: OCI image for OpenStack magnum
|
|
upstream-source: ghcr.io/canonical/magnum-consolidated:2025.1
|
|
magnum-conductor-image:
|
|
type: oci-image
|
|
description: OCI image for OpenStack magnum
|
|
upstream-source: ghcr.io/canonical/magnum-consolidated:2025.1
|
|
|
|
requires:
|
|
database:
|
|
interface: mysql_client
|
|
limit: 1
|
|
identity-service:
|
|
interface: keystone
|
|
identity-ops:
|
|
interface: keystone-resources
|
|
ingress-internal:
|
|
interface: ingress
|
|
limit: 1
|
|
ingress-public:
|
|
interface: ingress
|
|
optional: true
|
|
limit: 1
|
|
amqp:
|
|
interface: rabbitmq
|
|
receive-ca-cert:
|
|
interface: certificate_transfer
|
|
optional: true
|
|
logging:
|
|
interface: loki_push_api
|
|
optional: true
|
|
tracing:
|
|
interface: tracing
|
|
optional: true
|
|
limit: 1
|
|
|
|
peers:
|
|
peers:
|
|
interface: magnum-peer
|
|
|
|
parts:
|
|
charm:
|
|
build-packages:
|
|
- git
|
|
- libffi-dev
|
|
- libssl-dev
|
|
- rustc-1.80
|
|
- cargo-1.80
|
|
- pkg-config
|
|
charm-binary-python-packages:
|
|
- cryptography
|
|
- jsonschema
|
|
- pydantic
|
|
- jinja2
|
|
build-snaps: [astral-uv]
|
|
override-build: |
|
|
uv export --frozen --no-hashes --format=requirements-txt -o requirements.txt
|
|
craftctl default
|
|
charm-requirements: [requirements.txt]
|