Hemanth Nakkina e07819a9d9
Derive mandatory relations from charmcraft.yaml
Currently each charm defines in the code all the
mandatory relations. Instead populate the mandatory
relations from chamrcraft.yaml requires relations
with optional as False.
Charm can define mandatory relations that are not
derived from requires relations and they will be
appended to the list of mandatory_relations.
Barbican and ovn-central charms follows this pattern.

Change-Id: Iff45fca33dc954593ded52b97e905431b6a7bb53
2025-02-03 15:23:59 +05:30

89 lines
2.0 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:2024.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