Files
sunbeam-charms/charms/openstack-images-sync-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

94 lines
2.2 KiB
YAML

type: charm
title: OpenStack Images Sync K8S
name: openstack-images-sync-k8s
summary: Keep OpenStack images in sync with the latest versions
description: |
Openstack Images Sync operator allows synchronization from a SimpleStreams source to an OpenStack cloud.
base: ubuntu@24.04
platforms:
amd64:
config:
options:
debug:
default: false
type: boolean
frequency:
default: hourly
description: |
The frequency at which the charm should check for new images.
Valid values are hourly, daily, weekly.
type: string
architecture:
default: amd64
description: |
The architectures to sync images for. Space delimited list of architectures.
type: string
release:
default: focal jammy noble
description: |
The releases to sync images for. Space delimited list of releases.
type: string
cloud-name:
default: microstack
description: |
The name of the cloud to sync images for.
type: string
max-items:
default: 1
description: |
The maximum number of images to keep in sync per version.
type: int
region:
default: RegionOne
description: Name of the OpenStack region
type: string
containers:
openstack-images-sync:
resource: openstack-images-sync-image
resources:
openstack-images-sync-image:
type: oci-image
description: OCI image for OpenStack Images Sync
upstream-source: ghcr.io/canonical/openstack-images-sync:2025.1
requires:
ingress-internal:
interface: ingress
limit: 1
ingress-public:
interface: ingress
optional: true
limit: 1
identity-service:
interface: keystone
logging:
interface: loki_push_api
optional: true
tracing:
interface: tracing
optional: true
limit: 1
parts:
charm:
build-packages:
- git
- libffi-dev
- libssl-dev
- pkg-config
- rustc
- cargo
charm-binary-python-packages:
- cryptography
- jsonschema
- jinja2
build-snaps: [astral-uv]
override-build: |
uv export --frozen --no-hashes --format=requirements-txt -o requirements.txt
craftctl default
charm-requirements: [requirements.txt]