Files
sunbeam-charms/charms/heat-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

109 lines
2.3 KiB
YAML

type: charm
name: heat-k8s
summary: OpenStack heat service
description: |
Heat is the main project in the OpenStack Orchestration program. It implements an
orchestration engine to launch multiple composite cloud applications based on
templates in the form of text files that can be treated like code.
assumes:
- k8s-api
- juju >= 3.1
links:
source:
- https://opendev.org/openstack/charm-heat-k8s
issues:
- https://bugs.launchpad.net/charm-heat-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:
heat-api:
resource: heat-api-image
heat-api-cfn:
resource: heat-api-image
heat-engine:
resource: heat-engine-image
resources:
heat-api-image:
type: oci-image
description: OCI image for OpenStack Heat
upstream-source: ghcr.io/canonical/heat-consolidated:2025.1
heat-engine-image:
type: oci-image
description: OCI image for OpenStack Heat Engine
upstream-source: ghcr.io/canonical/heat-consolidated:2025.1
requires:
database:
interface: mysql_client
limit: 1
identity-service:
interface: keystone
traefik-route-internal:
interface: traefik_route
limit: 1
traefik-route-public:
interface: traefik_route
optional: true
limit: 1
amqp:
interface: rabbitmq
identity-ops:
interface: keystone-resources
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: heat-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]