From 8cb40ad6667418ed05d4f4e2e55120e7a1c93437 Mon Sep 17 00:00:00 2001 From: Samuel Walladge Date: Mon, 12 Sep 2022 10:41:01 +0930 Subject: [PATCH] Update and add reference bundles for sunbeam Change-Id: Ifb4c95fc30b49107322e09229d81de13ebd0650f --- ops-sunbeam/doc/bundles/full.yaml | 192 ++++++++++++++++++ .../{sunbeam.yaml => bundles/minimal.yaml} | 16 +- ops-sunbeam/doc/reference-bundles.rst | 21 ++ 3 files changed, 222 insertions(+), 7 deletions(-) create mode 100644 ops-sunbeam/doc/bundles/full.yaml rename ops-sunbeam/doc/{sunbeam.yaml => bundles/minimal.yaml} (93%) create mode 100644 ops-sunbeam/doc/reference-bundles.rst diff --git a/ops-sunbeam/doc/bundles/full.yaml b/ops-sunbeam/doc/bundles/full.yaml new file mode 100644 index 00000000..c873210f --- /dev/null +++ b/ops-sunbeam/doc/bundles/full.yaml @@ -0,0 +1,192 @@ +bundle: kubernetes +applications: + traefik: + charm: ch:traefik-k8s + channel: edge + scale: 1 + trust: true + traefik-public: + charm: ch:traefik-k8s + channel: edge + scale: 1 + trust: true + options: + kubernetes-service-annotations: metallb.universe.tf/address-pool=public + mysql: + charm: ch:mysql-k8s + channel: edge + scale: 1 + trust: false + rabbitmq: + charm: ch:sunbeam-rabbitmq-operator + channel: edge + scale: 1 + trust: true + keystone: + charm: ch:keystone-k8s + channel: edge + scale: 1 + trust: true + options: + admin-role: admin + storage: + fernet-keys: 5M + credential-keys: 5M + glance: + charm: ch:glance-k8s + channel: edge + scale: 1 + trust: true + storage: + local-repository: 5G + nova: + charm: ch:nova-k8s + channel: edge + scale: 1 + trust: true + placement: + charm: ch:placement-k8s + channel: edge + scale: 1 + trust: true + neutron: + charm: ch:neutron-k8s + channel: edge + scale: 1 + trust: true + options: + os-public-hostname: + ovn-central: + charm: ch:ovn-central-k8s + channel: edge + scale: 1 + trust: true + nova-compute: + charm: ch:sunbeam-nova-compute-operator + channel: edge + scale: 1 + trust: true + vault: + charm: ch:icey-vault-k8s + channel: stable + scale: 1 + resources: + vault-image: vault + horizon: + charm: ch:horizon-k8s + channel: edge + scale: 1 + trust: true + cinder: + charm: ch:cinder-k8s + channel: edge + scale: 1 + trust: true + ovn-relay: + charm: ch:ovn-relay-k8s + channel: edge + scale: 1 + trust: true + cinder-ceph: + charm: ch:cinder-ceph-k8s + channel: edge + scale: 1 + trust: true + +relations: +- - mysql:database + - keystone:database +- - traefik:ingress + - keystone:ingress-internal +- - traefik-public:ingress + - keystone:ingress-public + +- - mysql:database + - glance:database +- - rabbitmq:amqp + - glance:amqp +- - keystone:identity-service + - glance:identity-service +- - traefik:ingress + - glance:ingress-internal +- - traefik-public:ingress + - glance:ingress-public + +- - 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-public:ingress + - nova:ingress-public + +- - mysql:database + - placement:database +- - keystone:identity-service + - placement:identity-service +- - traefik:ingress + - placement:ingress-internal +- - traefik-public:ingress + - placement:ingress-public + +- - mysql:database + - neutron:database +- - rabbitmq:amqp + - neutron:amqp +- - keystone:identity-service + - neutron:identity-service +- - traefik:ingress + - neutron:ingress-internal +- - traefik-public:ingress + - neutron:ingress-public +- - vault:insecure-certificates + - neutron:certificates +- - neutron:ovsdb-cms + - ovn-central:ovsdb-cms + +- - vault:insecure-certificates + - ovn-central:certificates + +- - rabbitmq:amqp + - nova-compute:amqp +- - keystone:identity-credentials + - nova-compute:cloud-credentials +- - nova:cloud-compute + - nova-compute:cloud-compute + +- - mysql:database + - horizon:database +- - keystone:identity-credentials + - horizon:cloud-credentials +- - traefik:ingress + - horizon:ingress-internal +- - traefik-public:ingress + - horizon:ingress-public + +- - mysql:database + - cinder:database +- - rabbitmq:amqp + - cinder:amqp +- - keystone:identity-service + - cinder:identity-service +- - traefik:ingress + - cinder:ingress-internal +- - traefik-public:ingress + - cinder:ingress-public + +- - vault:insecure-certificates + - ovn-relay:certificates + +- - mysql:database + - cinder-ceph:database +- - rabbitmq:amqp + - cinder-ceph:amqp +# cinder-ceph must also be related to ceph-mon, but this is a cross-model relation, and untested. +# This will most likely involve https://github.com/canonical/microceph in the future. diff --git a/ops-sunbeam/doc/sunbeam.yaml b/ops-sunbeam/doc/bundles/minimal.yaml similarity index 93% rename from ops-sunbeam/doc/sunbeam.yaml rename to ops-sunbeam/doc/bundles/minimal.yaml index 0875c82a..8573791c 100644 --- a/ops-sunbeam/doc/sunbeam.yaml +++ b/ops-sunbeam/doc/bundles/minimal.yaml @@ -1,24 +1,25 @@ bundle: kubernetes + applications: traefik: - charm: traefik-k8s - channel: beta + charm: ch:traefik-k8s + channel: edge scale: 1 trust: true traefik-public: - charm: traefik-k8s - channel: beta + charm: ch:traefik-k8s + channel: edge scale: 1 trust: true options: kubernetes-service-annotations: metallb.universe.tf/address-pool=public mysql: - charm: mysql-k8s + charm: ch:mysql-k8s channel: edge scale: 1 trust: false rabbitmq: - charm: sunbeam-rabbitmq-operator + charm: ch:sunbeam-rabbitmq-operator channel: edge scale: 1 trust: true @@ -67,11 +68,12 @@ applications: scale: 1 trust: true vault: - charm: icey-vault-k8s + charm: ch:icey-vault-k8s channel: stable scale: 1 resources: vault-image: vault + relations: - - mysql:database - keystone:database diff --git a/ops-sunbeam/doc/reference-bundles.rst b/ops-sunbeam/doc/reference-bundles.rst new file mode 100644 index 00000000..f049e68d --- /dev/null +++ b/ops-sunbeam/doc/reference-bundles.rst @@ -0,0 +1,21 @@ +================= +Reference Bundles +================= + +There are some official reference bundles in `./bundles/`: + + +`minimal.yaml` +~~~~~~~~~~~~~~ + +The baseline "here's a barebones OpenStack" that can be deployed on a k8s cloud. + + +`full.yaml` +~~~~~~~~~~~ + +All the things that can be deployed on a k8s cloud. +As-is, `cinder-ceph` will not come up active +because it requires a relation to a `ceph-mon`. +However this may be replaced with some configuration +to connect to https://github.com/canonical/microceph in the future.