43119913d6
* Make ingress-internal relation mandatory for charms instead of ingress-public * If ingress-public is not integrated, default public endpoint to internal endpoint Change-Id: Ibbc600b3dd53655f2160394d4717b75e14d63cf8
215 lines
5.3 KiB
Django/Jinja
215 lines
5.3 KiB
Django/Jinja
bundle: kubernetes
|
|
|
|
applications:
|
|
traefik:
|
|
charm: ch:traefik-k8s
|
|
channel: 1.0/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
|
|
tls-operator:
|
|
charm: self-signed-certificates
|
|
channel: latest/beta
|
|
base: ubuntu@22.04
|
|
scale: 1
|
|
options:
|
|
ca-common-name: internal-ca
|
|
rabbitmq:
|
|
charm: ch:rabbitmq-k8s
|
|
channel: 3.12/edge
|
|
base: ubuntu@24.04
|
|
scale: 1
|
|
trust: true
|
|
options:
|
|
minimum-replicas: 1
|
|
ovn-central:
|
|
{% if ovn_central_k8s is defined and ovn_central_k8s is sameas true -%}
|
|
charm: ../../../ovn-central-k8s.charm
|
|
{% else -%}
|
|
charm: ch:ovn-central-k8s
|
|
channel: 24.03/edge
|
|
{% endif -%}
|
|
base: ubuntu@24.04
|
|
scale: 1
|
|
trust: true
|
|
resources:
|
|
ovn-sb-db-server-image: ghcr.io/canonical/ovn-consolidated:24.03
|
|
ovn-nb-db-server-image: ghcr.io/canonical/ovn-consolidated:24.03
|
|
ovn-northd-image: ghcr.io/canonical/ovn-consolidated:24.03
|
|
ovn-relay:
|
|
{% if ovn_relay_k8s is defined and ovn_relay_k8s is sameas true -%}
|
|
charm: ../../../ovn-relay-k8s.charm
|
|
{% else -%}
|
|
charm: ch:ovn-relay-k8s
|
|
channel: 24.03/edge
|
|
{% endif -%}
|
|
base: ubuntu@24.04
|
|
scale: 1
|
|
trust: true
|
|
resources:
|
|
ovn-sb-db-server-image: ghcr.io/canonical/ovn-consolidated:24.03
|
|
keystone:
|
|
{% if keystone_k8s is defined and keystone_k8s is sameas true -%}
|
|
charm: ../../../keystone-k8s.charm
|
|
{% else -%}
|
|
charm: ch:keystone-k8s
|
|
channel: 2024.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:2024.1
|
|
glance:
|
|
{% if glance_k8s is defined and glance_k8s is sameas true -%}
|
|
charm: ../../../glance-k8s.charm
|
|
{% else -%}
|
|
charm: ch:glance-k8s
|
|
channel: 2024.1/edge
|
|
{% endif -%}
|
|
base: ubuntu@24.04
|
|
scale: 1
|
|
trust: true
|
|
storage:
|
|
local-repository: 10G
|
|
resources:
|
|
glance-api-image: ghcr.io/canonical/glance-api:2024.1
|
|
nova:
|
|
{% if nova_k8s is defined and nova_k8s is sameas true -%}
|
|
charm: ../../../nova-k8s.charm
|
|
{% else -%}
|
|
charm: ch:nova-k8s
|
|
channel: 2024.1/edge
|
|
{% endif -%}
|
|
base: ubuntu@24.04
|
|
scale: 1
|
|
trust: true
|
|
resources:
|
|
nova-api-image: ghcr.io/canonical/nova-consolidated:2024.1
|
|
nova-scheduler-image: ghcr.io/canonical/nova-consolidated:2024.1
|
|
nova-conductor-image: ghcr.io/canonical/nova-consolidated:2024.1
|
|
nova-spiceproxy-image: ghcr.io/canonical/nova-consolidated:2024.1
|
|
placement:
|
|
{% if placement_k8s is defined and placement_k8s is sameas true -%}
|
|
charm: ../../../placement-k8s.charm
|
|
{% else -%}
|
|
charm: ch:placement-k8s
|
|
channel: 2024.1/edge
|
|
{% endif -%}
|
|
base: ubuntu@24.04
|
|
scale: 1
|
|
trust: true
|
|
resources:
|
|
placement-api-image: ghcr.io/canonical/placement-api:2024.1
|
|
neutron:
|
|
{% if neutron_k8s is defined and neutron_k8s is sameas true -%}
|
|
charm: ../../../neutron-k8s.charm
|
|
{% else -%}
|
|
charm: ch:neutron-k8s
|
|
channel: 2024.1/edge
|
|
{% endif -%}
|
|
base: ubuntu@24.04
|
|
scale: 1
|
|
trust: true
|
|
options:
|
|
debug: true
|
|
resources:
|
|
neutron-server-image: ghcr.io/canonical/neutron-server:2024.1
|
|
tempest:
|
|
{% if tempest_k8s is defined and tempest_k8s is sameas true -%}
|
|
charm: ../../../tempest-k8s.charm
|
|
{% else -%}
|
|
charm: ch:tempest-k8s
|
|
channel: 2024.1/edge
|
|
{% endif -%}
|
|
base: ubuntu@24.04
|
|
scale: 1
|
|
trust: true
|
|
resources:
|
|
tempest-image: ghcr.io/canonical/tempest:2024.1
|
|
|
|
relations:
|
|
- - tls-operator:certificates
|
|
- ovn-central:certificates
|
|
|
|
- - tls-operator:certificates
|
|
- ovn-relay:certificates
|
|
- - ovn-relay:ovsdb-cms
|
|
- ovn-central:ovsdb-cms
|
|
|
|
- - mysql:database
|
|
- keystone:database
|
|
- - traefik:ingress
|
|
- keystone:ingress-internal
|
|
|
|
- - mysql:database
|
|
- glance:database
|
|
- - keystone:identity-service
|
|
- glance:identity-service
|
|
- - rabbitmq:amqp
|
|
- glance:amqp
|
|
- - traefik:ingress
|
|
- glance:ingress-internal
|
|
- - keystone:send-ca-cert
|
|
- glance:receive-ca-cert
|
|
|
|
- - mysql:database
|
|
- nova:database
|
|
- - mysql:database
|
|
- nova:api-database
|
|
- - mysql:database
|
|
- nova:cell-database
|
|
- - rabbitmq:amqp
|
|
- nova:amqp
|
|
- - keystone:identity-service
|
|
- nova:identity-service
|
|
- - traefik:ingress
|
|
- nova:ingress-internal
|
|
- - traefik:traefik-route
|
|
- nova:traefik-route-internal
|
|
- - keystone:send-ca-cert
|
|
- nova:receive-ca-cert
|
|
|
|
- - mysql:database
|
|
- placement:database
|
|
- - keystone:identity-service
|
|
- placement:identity-service
|
|
- - traefik:ingress
|
|
- placement:ingress-internal
|
|
- - keystone:send-ca-cert
|
|
- placement:receive-ca-cert
|
|
|
|
- - mysql:database
|
|
- neutron:database
|
|
- - rabbitmq:amqp
|
|
- neutron:amqp
|
|
- - keystone:identity-service
|
|
- neutron:identity-service
|
|
- - traefik:ingress
|
|
- neutron:ingress-internal
|
|
- - tls-operator:certificates
|
|
- neutron:certificates
|
|
- - neutron:ovsdb-cms
|
|
- ovn-central:ovsdb-cms
|
|
- - keystone:send-ca-cert
|
|
- neutron:receive-ca-cert
|
|
|
|
- - tempest:identity-ops
|
|
- keystone:identity-ops
|
|
- - tempest:receive-ca-cert
|
|
- keystone:send-ca-cert
|