sunbeam-charms/charms/masakari-k8s/charmcraft.yaml
Hemanth Nakkina 43119913d6
Make ingress-internal mandatory relation
* Make ingress-internal relation mandatory for
charms instead of ingress-public
* If ingress-public is not integrated, default
public endpoint to internal endpoint

Change-Id: Ibbc600b3dd53655f2160394d4717b75e14d63cf8
2024-12-09 18:43:30 +05:30

131 lines
2.9 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@24.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
masakari-hostmonitor:
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
ingress-public:
interface: ingress
optional: true
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
consul-management:
interface: consul-cluster
limit: 1
optional: true
consul-tenant:
interface: consul-cluster
limit: 1
optional: true
consul-storage:
interface: consul-cluster
limit: 1
optional: true
provides:
masakari-service:
interface: service-ready
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