From 802bb0d013b2edeeae4e8d76fd82087b0e5b7ae8 Mon Sep 17 00:00:00 2001 From: Simon Gerber Date: Fri, 26 Jan 2024 13:24:24 +0100 Subject: [PATCH] Add steps to deploy cloud-controller-manager on cloudscale.ch --- .../partials/install/prepare-commodore.adoc | 18 +++++++++++ .../ROOT/partials/install/run-installer.adoc | 31 ++++++++++++++++++- 2 files changed, 48 insertions(+), 1 deletion(-) diff --git a/docs/modules/ROOT/partials/install/prepare-commodore.adoc b/docs/modules/ROOT/partials/install/prepare-commodore.adoc index 239ed2eb..98de135a 100644 --- a/docs/modules/ROOT/partials/install/prepare-commodore.adoc +++ b/docs/modules/ROOT/partials/install/prepare-commodore.adoc @@ -79,6 +79,24 @@ git push popd ---- +ifeval::["{provider}" == "cloudscale"] +. Add Cloud Controller Manager to cluster configuration ++ +[source,bash] +---- +pushd "inventory/classes/${TENANT_ID}/" + +yq eval -i '.classes += ["global.distribution.openshift4.cloud.cloudscale.machineconfig-ccm"]' ${CLUSTER_ID}.yml + +yq eval -i '.applications += ["cloudscale-cloud-controller-manager"]' ${CLUSTER_ID}.yml + +git commit -a -m "Add Cloud Controller Manager addon to ${CLUSTER_ID}" + +git push +popd +---- +endif::[] + . Compile catalog + include::partial$install/commodore-dynfacts.adoc[] diff --git a/docs/modules/ROOT/partials/install/run-installer.adoc b/docs/modules/ROOT/partials/install/run-installer.adoc index 7e420607..e23c326d 100644 --- a/docs/modules/ROOT/partials/install/run-installer.adoc +++ b/docs/modules/ROOT/partials/install/run-installer.adoc @@ -18,11 +18,40 @@ yq w -i "${INSTALLER_DIR}/manifests/cluster-ingress-02-config.yml" \ spec.domain apps.example.com ---- +. Copy pre-rendered extra machine configs ++ +[source,bash] +---- +machineconfigs=catalog/manifests/openshift4-nodes/10_machineconfigs.yaml +if [ -f $machineconfigs ]; then + yq --no-doc -s \ + "\"${INSTALLER_DIR}/openshift/99x_openshift-machineconfig_\" + .metadata.name" \ + $machineconfigs +fi +---- + +ifeval::["{provider}" == "cloudscale"] +. Copy cloud-controller-manager manifests ++ +[source,bash] +---- +for f in catalog/manifests/cloudscale-cloud-controller-manager/*; do + file=$(basename $f) + # Split resources into individual files + yq --no-doc -s \ + "\"${INSTALLER_DIR}/manifests/cloudscale-cloud-controller-manager_${file/.yaml}_\" + \$index + \"_\" + (.kind|downcase)" \ + $f +done +yq -i e ".stringData.access-token=\"${CLOUDSCALE_API_TOKEN}\"" \ + ${INSTALLER_DIR}/manifests/cloudscale-cloud-controller-manager_01_secret_0_secret.yaml +---- +endif::[] + . Copy pre-rendered Cilium manifests + [source,bash] ---- -cp catalog/manifests/cilium/olm/* target/manifests/ +cp catalog/manifests/cilium/olm/* ${INSTALLER_DIR}/manifests/ ---- . Verify that the generated cluster domain matches the desired cluster domain