Files
sunbeam-charms/charms/designate-bind-k8s/charmcraft.yaml
Fabian Fulga 5e1d9de0c4 Add loadbalancer_annotations config option
This commit adds the `loadbalancer_annotations` config option
for ovn-relay-k8s and designate-bind-k8s charms.

Change-Id: If34911b2cf4f5bde1655078a772c7d7baf95ebcc
Signed-off-by: Fabian Fulga <ffulga@cloudbasesolutions.com>
2025-07-01 17:46:25 +03:00

96 lines
2.6 KiB
YAML

type: charm
name: designate-bind-k8s
summary: OpenStack designate-bind service
description:
"Domain Name Service (DNS) is an Internet service that maps IP addresses\
\ and fully qualified domain names (FQDN) to one another.\nIn this way, DNS alleviates\
\ the need to remember IP addresses. Computers that run DNS are called name servers.\
\ \nUbuntu ships with BIND (Berkley Internet Naming Daemon), the most common program\
\ used for maintaining a name server on Linux.\n"
assumes:
- k8s-api
- juju >= 3.1
links:
source:
- https://opendev.org/openstack/charm-designate-bind-k8s
issues:
- https://bugs.launchpad.net/charm-designate-bind-k8s
base: ubuntu@24.04
platforms:
amd64:
config:
options:
debug:
default: false
description: Enable debug logging.
type: boolean
loadbalancer_annotations:
description: |
A comma-separated list of annotations to apply to the LoadBalancer service.
The format should be: `key1=value1,key2=value2,key3=value3`.
These annotations are passed directly to the Kubernetes LoadBalancer service,
enabling customization for specific cloud provider settings or integrations.
Example:
"external-dns.alpha.kubernetes.io/hostname=example.com,service.beta.kubernetes.io/aws-load-balancer-type=nlb"
Ensure the annotations are correctly formatted and adhere to Kubernetes' syntax and character set : https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#syntax-and-character-set
type: string
containers:
designate-bind:
resource: designate-bind-image
resources:
designate-bind-image:
type: oci-image
description: OCI image for bind9
upstream-source: ubuntu/bind9:9.18-22.04_beta
requires:
logging:
interface: loki_push_api
optional: true
tracing:
interface: tracing
optional: true
limit: 1
provides:
dns-backend:
interface: bind-rndc
peers:
peers:
interface: bind-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
- 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]