
We're enabling the audit middleware for the following API services:
* cinder
* nova
* neutron
* glance
* heat
* barbican
* octavia
* gnocchi
* config.verbose was deprecated a long time ago and Gnocchi doesn't
support a separate "logging.conf" file
* as such, Gnocchi can't be configured to use "info" level logging
* the audit logs will only be emitted in debug mode
* cf001e8428/gnocchi/service.py (L72-L79)
* newly defined audit map (the other services had already existing
definitions, which were updated):
* aodh
* designate
* magnum
* masakari
* updated wsgi log configuration
The following services do not support the audit middleware,
the support for api paste was dropped:
* placement
* watcher
* keystone (has its own pycadf audit implementation)
* emits notifications using oslo.notifications
* configurable driver, possible options include "messagingv2" and "log"
* we can't just use the log driver since the user may request amqp
notifications using:
"juju config keystone enable-telemetry-notifications=True"
* we'll listen for amqp notifications using a separate service
Reference:
* audit middleware configuration: https://docs.openstack.org/keystonemiddleware/latest/audit.html
* api map samples: https://opendev.org/openstack/pycadf/src/tag/3.1.1/etc/pycadf
Change-Id: I28a261b85067704221d6ab3d949c5d2a27a4a9d7
193 lines
4.9 KiB
Django/Jinja
193 lines
4.9 KiB
Django/Jinja
bundle: kubernetes
|
|
|
|
applications:
|
|
traefik:
|
|
charm: ch:traefik-k8s
|
|
channel: latest/candidate
|
|
base: ubuntu@20.04
|
|
scale: 1
|
|
trust: true
|
|
options:
|
|
kubernetes-service-annotations: metallb.universe.tf/address-pool=public
|
|
mysql:
|
|
charm: ch:mysql-k8s
|
|
channel: 8.0/stable
|
|
base: ubuntu@22.04
|
|
scale: 1
|
|
trust: true
|
|
options:
|
|
profile-limit-memory: 2560
|
|
experimental-max-connections: 150
|
|
rabbitmq:
|
|
charm: ch:rabbitmq-k8s
|
|
channel: 3.12/edge
|
|
base: ubuntu@24.04
|
|
scale: 1
|
|
trust: true
|
|
options:
|
|
minimum-replicas: 1
|
|
keystone:
|
|
{% if keystone_k8s is defined and keystone_k8s is sameas true -%}
|
|
charm: ../../../keystone-k8s.charm
|
|
{% else -%}
|
|
charm: ch:keystone-k8s
|
|
channel: 2025.1/edge
|
|
{% endif -%}
|
|
base: ubuntu@24.04
|
|
scale: 1
|
|
trust: true
|
|
storage:
|
|
fernet-keys: 5M
|
|
credential-keys: 5M
|
|
resources:
|
|
keystone-image: ghcr.io/canonical/keystone:2025.1
|
|
cinder:
|
|
{% if cinder_k8s is defined and cinder_k8s is sameas true -%}
|
|
charm: ../../../cinder-k8s.charm
|
|
{% else -%}
|
|
charm: ch:cinder-k8s
|
|
channel: 2025.1/edge
|
|
{% endif -%}
|
|
base: ubuntu@24.04
|
|
scale: 1
|
|
trust: true
|
|
resources:
|
|
cinder-api-image: ghcr.io/canonical/cinder-consolidated:2025.1
|
|
cinder-scheduler-image: ghcr.io/canonical/cinder-consolidated:2025.1
|
|
cinder-ceph:
|
|
{% if cinder_ceph_k8s is defined and cinder_ceph_k8s is sameas true -%}
|
|
charm: ../../../cinder-ceph-k8s.charm
|
|
{% else -%}
|
|
charm: ch:cinder-ceph-k8s
|
|
channel: 2025.1/edge
|
|
{% endif -%}
|
|
base: ubuntu@24.04
|
|
scale: 1
|
|
trust: true
|
|
resources:
|
|
cinder-volume-image: ghcr.io/canonical/cinder-consolidated:2025.1
|
|
gnocchi:
|
|
{% if gnocchi_k8s is defined and gnocchi_k8s is sameas true -%}
|
|
charm: ../../../gnocchi-k8s.charm
|
|
{% else -%}
|
|
charm: ch:gnocchi-k8s
|
|
channel: 2025.1/edge
|
|
{% endif -%}
|
|
base: ubuntu@24.04
|
|
scale: 1
|
|
trust: true
|
|
resources:
|
|
gnocchi-api-image: ghcr.io/canonical/gnocchi-consolidated:2025.1
|
|
gnocchi-metricd-image: ghcr.io/canonical/gnocchi-consolidated:2025.1
|
|
ceilometer:
|
|
{% if ceilometer_k8s is defined and ceilometer_k8s is sameas true -%}
|
|
charm: ../../../ceilometer-k8s.charm
|
|
{% else -%}
|
|
charm: ch:ceilometer-k8s
|
|
channel: 2025.1/edge
|
|
{% endif -%}
|
|
base: ubuntu@24.04
|
|
scale: 1
|
|
trust: true
|
|
resources:
|
|
ceilometer-central-image: ghcr.io/canonical/ceilometer-consolidated:2025.1
|
|
ceilometer-notification-image: ghcr.io/canonical/ceilometer-consolidated:2025.1
|
|
aodh:
|
|
{% if aodh_k8s is defined and aodh_k8s is sameas true -%}
|
|
charm: ../../../aodh-k8s.charm
|
|
{% else -%}
|
|
charm: ch:aodh-k8s
|
|
channel: 2025.1/edge
|
|
{% endif -%}
|
|
base: ubuntu@24.04
|
|
scale: 1
|
|
trust: true
|
|
resources:
|
|
aodh-api-image: ghcr.io/canonical/aodh-consolidated:2025.1
|
|
aodh-evaluator-image: ghcr.io/canonical/aodh-consolidated:2025.1
|
|
aodh-notifier-image: ghcr.io/canonical/aodh-consolidated:2025.1
|
|
aodh-listener-image: ghcr.io/canonical/aodh-consolidated:2025.1
|
|
aodh-expirer-image: ghcr.io/canonical/aodh-consolidated:2025.1
|
|
watcher:
|
|
{% if watcher_k8s is defined and watcher_k8s is sameas true -%}
|
|
charm: ../../../watcher-k8s.charm
|
|
{% else -%}
|
|
charm: ch:watcher-k8s
|
|
channel: 2025.1/edge
|
|
{% endif -%}
|
|
base: ubuntu@24.04
|
|
scale: 1
|
|
trust: true
|
|
resources:
|
|
watcher-image: ghcr.io/canonical/watcher-consolidated:2025.1
|
|
|
|
relations:
|
|
- - mysql:database
|
|
- keystone:database
|
|
- - traefik:ingress
|
|
- keystone:ingress-internal
|
|
- - rabbitmq:amqp
|
|
- keystone:amqp
|
|
|
|
- - mysql:database
|
|
- cinder:database
|
|
- - cinder:amqp
|
|
- rabbitmq:amqp
|
|
- - keystone:identity-service
|
|
- cinder:identity-service
|
|
- - traefik:ingress
|
|
- cinder:ingress-internal
|
|
- - keystone:send-ca-cert
|
|
- cinder:receive-ca-cert
|
|
|
|
- - cinder-ceph:database
|
|
- mysql:database
|
|
- - cinder-ceph:amqp
|
|
- rabbitmq:amqp
|
|
- - cinder:storage-backend
|
|
- cinder-ceph:storage-backend
|
|
- - keystone:identity-credentials
|
|
- cinder-ceph:identity-credentials
|
|
|
|
- - mysql:database
|
|
- gnocchi:database
|
|
- - traefik:ingress
|
|
- gnocchi:ingress-internal
|
|
- - keystone:identity-service
|
|
- gnocchi:identity-service
|
|
- - keystone:send-ca-cert
|
|
- gnocchi:receive-ca-cert
|
|
|
|
- - rabbitmq:amqp
|
|
- ceilometer:amqp
|
|
- - keystone:identity-credentials
|
|
- ceilometer:identity-credentials
|
|
- - gnocchi:gnocchi-service
|
|
- ceilometer:gnocchi-db
|
|
- - keystone:send-ca-cert
|
|
- ceilometer:receive-ca-cert
|
|
|
|
- - mysql:database
|
|
- aodh:database
|
|
- - rabbitmq:amqp
|
|
- aodh:amqp
|
|
- - keystone:identity-service
|
|
- aodh:identity-service
|
|
- - traefik:ingress
|
|
- aodh:ingress-internal
|
|
- - keystone:send-ca-cert
|
|
- aodh:receive-ca-cert
|
|
|
|
- - mysql:database
|
|
- watcher:database
|
|
- - watcher:amqp
|
|
- rabbitmq:amqp
|
|
- - keystone:identity-service
|
|
- watcher:identity-service
|
|
- - traefik:ingress
|
|
- watcher:ingress-internal
|
|
- - keystone:send-ca-cert
|
|
- watcher:receive-ca-cert
|
|
- - gnocchi:gnocchi-service
|
|
- watcher:gnocchi-db
|