Guillaume Boutry 4931ad53b9
[*-k8s] Migrate charm base to ubuntu@24.04
Update charm base to ubuntu@24.04 for all k8s based charms. Deploying
k8s charm is abstracted from the underlying host base, therefore we can
already deploy next generation based charms.

Change-Id: If8e8960a58a39f9978aaeec26ed4df4a2b690396
Signed-off-by: Guillaume Boutry <guillaume.boutry@canonical.com>
2024-10-09 09:23:37 +02:00

125 lines
2.7 KiB
YAML

type: charm
name: octavia-k8s
summary: OpenStack Octavia service
description: |
OpenStack Octavia provides loadbalancing service for an OpenStack cloud.
Currently OVN Octavia provider driver is supported.
assumes:
- k8s-api
- juju >= 3.1
links:
source:
- https://opendev.org/openstack/charm-octavia-k8s
issues:
- https://bugs.launchpad.net/charm-octavia-k8s
base: ubuntu@24.04
platforms:
amd64:
config:
options:
debug:
default: false
description: Enable debug logging.
type: boolean
region:
default: RegionOne
description: Name of the OpenStack region
type: string
containers:
octavia-api:
resource: octavia-api-image
mounts:
- storage: agent-sockets
location: /var/run/octavia/
octavia-driver-agent:
resource: octavia-driver-agent-image
mounts:
- storage: agent-sockets
location: /var/run/octavia/
octavia-housekeeping:
resource: octavia-housekeeping-image
resources:
octavia-api-image:
type: oci-image
description: OCI image for OpenStack octavia
upstream-source: ghcr.io/canonical/octavia-consolidated:2024.1
octavia-driver-agent-image:
type: oci-image
description: OCI image for OpenStack Octavia Driver Agent
upstream-source: ghcr.io/canonical/octavia-consolidated:2024.1
octavia-housekeeping-image:
type: oci-image
description: OCI image for OpenStack Octavia Housekeeping
upstream-source: ghcr.io/canonical/octavia-consolidated:2024.1
storage:
agent-sockets:
type: filesystem
description: |
Storage for the location of agent sockets shared between octavia-api
and octavia-driver-agent
minimum-size: 100M
requires:
database:
interface: mysql_client
limit: 1
identity-service:
interface: keystone
ingress-internal:
interface: ingress
optional: true
limit: 1
ingress-public:
interface: ingress
limit: 1
ovsdb-cms:
interface: ovsdb-cms
certificates:
interface: tls-certificates
optional: true
identity-ops:
interface: keystone-resources
optional: true
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: octavia-peer
parts:
update-certificates:
plugin: nil
override-build: |
apt update
apt install -y ca-certificates
update-ca-certificates
charm:
after:
- update-certificates
build-packages:
- git
- libffi-dev
- libssl-dev
- rustc
- cargo
- pkg-config
charm-binary-python-packages:
- cryptography
- jsonschema
- pydantic
- jinja2