Guillaume Boutry e911599abe
Migrate to unified charmcraft.yaml
Charmcraft 3 moves towards a single charmcraft.yaml, this is needed for
24.04 migration.

Change-Id: I743712752aaf37bf68730b64bd6c147dfad370e2
Signed-off-by: Guillaume Boutry <guillaume.boutry@canonical.com>
2024-10-08 09:38:10 +02:00

125 lines
2.8 KiB
YAML

type: charm
title: OpenStack masakari service
name: masakari-k8s
summary: Masakari - Instances High Availability Service
description: |
Masakari provides Instances High Availability Service for OpenStack clouds by
automatically recovering failed Instances. Currently, Masakari can recover
KVM-based Virtual Machine(VM)s from failure events such as VM process down,
provisioning process down, and nova-compute host failure. Masakari also
provides an API service to manage and control the automated rescue mechanism.
assumes:
- k8s-api
- juju >= 3.5
links:
source: https://opendev.org/openstack/sunbeam-charms
issues: https://bugs.launchpad.net/sunbeam-charms
base: ubuntu@22.04
platforms:
amd64:
config:
options:
debug:
default: false
description: Enable debug logging.
type: boolean
evacuation-delay:
type: int
default: 60
description: |
Number of seconds to wait before evacuation after a service is
enabled or disabled.
evacuate-all-instances:
type: boolean
default: true
description: |
Whether to restrict instance evacuation to instances with ha enabled
in their metadata
region:
type: string
default: RegionOne
description: Name of the OpenStack region
containers:
masakari-api:
resource: masakari-image
masakari-engine:
resource: masakari-image
resources:
masakari-image:
description: OCI image for OpenStack Masakari services
type: oci-image
upstream-source: ghcr.io/canonical/masakari-consolidated:2024.1
requires:
amqp:
interface: rabbitmq
limit: 1
database:
interface: mysql_client
limit: 1
identity-service:
interface: keystone
limit: 1
ingress-internal:
interface: ingress
limit: 1
optional: true
ingress-public:
interface: ingress
limit: 1
logging:
interface: loki_push_api
limit: 1
optional: true
receive-ca-cert:
interface: certificate_transfer
limit: 1
optional: true
tracing:
interface: tracing
limit: 1
optional: true
# Note(mylesjp): consul disabled until charm is published
# consul-management:
# interface: consul-client
# limit: 1
# consul-tenant: # Name TBD
# interface: consul-client
# limit: 1
# optional: true
# consul-storage:
# interface: consul-client
# limit: 1
# optional: true
peers:
peers:
interface: masakari-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