Files
sunbeam-charms/charms/openstack-images-sync-k8s/charmcraft.yaml
Lucian Petrut d8094c2a11 Update dependencies
"cryptography" and "pydantic" depend on "maturin",
which fails to install from source.

"cryptography" was already added to the "charm-binary-python-packages"
list, allowing prebuilt packages to be used. However, our uv.lock
files contain a slightly older version so charmcraft attempts to
install it from source and fails:

  ModuleNotFoundError: No module named 'puccinialin'

This patch will fix the build failures by:

* updating the uv.lock files (tox -e lock)
* adding pydantic to the list of binary packages

Cryptography 44.0.2 currently fails to install:
https://pastebin.canonical.com/p/Z4ZZhqWwtV/plain/

Change-Id: Ibfe555df7f72b867ad92c3bb00bb6fa576d7b0fc
2025-06-10 13:52:25 +00:00

95 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-1.80
- cargo-1.80
charm-binary-python-packages:
- cryptography
- jsonschema
- jinja2
- pydantic
build-snaps: [astral-uv]
override-build: |
uv export --frozen --no-hashes --format=requirements-txt -o requirements.txt
craftctl default
charm-requirements: [requirements.txt]