Files
sunbeam-charms/charms/aodh-k8s/charmcraft.yaml
Hemanth Nakkina 7fadc291d3 Add lock file for charms
* Add uv lock file for charm python packages
* Use uv lock file in charmcraft to build the charm
by generating requirements.txt based on uv lock file
* Add rustc dependency for barbican and magnum charms

Change-Id: I5447c70989a6afe534004438c45bed39a022c524
2025-05-05 15:49:14 +05:30

140 lines
3.3 KiB
YAML

type: charm
name: aodh-k8s
summary: OpenStack aodh service
description: |
OpenStack aodh provides an HTTP service for managing, selecting,
and claiming providers of classes of inventory representing available
resources in a cloud.
.
assumes:
- k8s-api
- juju >= 3.1
links:
source:
- https://opendev.org/openstack/charm-aodh-k8s
issues:
- https://bugs.launchpad.net/charm-aodh-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
alarm-history-time-to-live:
default: -1
description: |
Number of seconds that alarm histories are kept in the database for (<= 0
means forever)
type: int
alarm-histories-delete-batch-size:
default: 0
description: |
Number of alarm histories to be deleted in one iteration from the database (0
means all). (integer value)
type: int
containers:
aodh-api:
resource: aodh-api-image
aodh-evaluator:
resource: aodh-evaluator-image
aodh-notifier:
resource: aodh-notifier-image
aodh-listener:
resource: aodh-listener-image
aodh-expirer:
resource: aodh-expirer-image
resources:
aodh-api-image:
type: oci-image
description: OCI image for OpenStack aodh api service
upstream-source: ghcr.io/canonical/aodh-consolidated:2025.1
aodh-evaluator-image:
type: oci-image
description: OCI image for OpenStack aodh evaluator service
upstream-source: ghcr.io/canonical/aodh-consolidated:2025.1
aodh-notifier-image:
type: oci-image
description: OCI image for OpenStack aodh notifier service
upstream-source: ghcr.io/canonical/aodh-consolidated:2025.1
aodh-listener-image:
type: oci-image
description: OCI image for OpenStack aodh listener service
upstream-source: ghcr.io/canonical/aodh-consolidated:2025.1
aodh-expirer-image:
type: oci-image
description: OCI image for OpenStack aodh expirer service
upstream-source: ghcr.io/canonical/aodh-consolidated:2025.1
requires:
database:
interface: mysql_client
limit: 1
identity-service:
interface: keystone
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
provides:
aodh:
interface: aodh
peers:
peers:
interface: aodh-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
build-snaps: [astral-uv]
override-build: |
uv export --frozen --no-hashes --format=requirements-txt -o requirements.txt
craftctl default
charm-requirements: [requirements.txt]