type: charm title: OpenStack Ironic service name: ironic-k8s summary: OpenStack bare metal provisioning service description: | ironic-k8s is a charm for the OpenStack Ironic service, a bare metal provisioning service. assumes: - k8s-api - juju >= 3.1 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 region: default: RegionOne description: Name of the OpenStack region type: string containers: ironic-api: resource: ironic-api-image ironic-novncproxy: resource: ironic-novncproxy-image resources: ironic-api-image: type: oci-image description: OCI image for OpenStack Ironic API upstream-source: ghcr.io/canonical/ironic-api:2025.1 ironic-novncproxy-image: type: oci-image description: OCI image for OpenStack Ironic noVNC proxy upstream-source: ghcr.io/canonical/ironic-novncproxy:2025.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 optional: true limit: 1 receive-ca-cert: interface: certificate_transfer optional: true limit: 1 tracing: interface: tracing optional: true limit: 1 # For ironic-novncproxy traefik-route-internal: interface: traefik_route limit: 1 # For ironic-novncproxy traefik-route-public: interface: traefik_route optional: true limit: 1 provides: ironic-api: interface: baremetal peers: peers: interface: ironic-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-1.80 - cargo-1.80 - 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]