Install a cluster for APPUiO Cloud
Starting situation and prerequisites
- 
See the APPUiO Managed OpenShift 4 install guide for your cloud provider 
Cluster installation
- 
Register the new cluster in Lieutenant. 
- 
Configure the desired zone name export APPUIO_CLOUD_ZONE="<zone name>" (1)1 Replace with the desired zone name 
- 
Work through the following sections of the install guide for your cloud provider - 
cloudscale.ch 
- 
Exoscale 
 
- 
- 
Adjust the installer config for APPUiO Cloud yq -i eval -i ".metadata.name = \"${APPUIO_CLOUD_ZONE}\"" \ "${INSTALLER_DIR}/install-config.yaml"
- 
Work through the following sections of the install guide for your cloud provider - 
cloudscale.ch 
- 
Exoscale 
 
- 
- 
Adjust the Terraform cluster config yq -i eval '.classes += ["global.apps.appuio-cloud-zone"]' "${CLUSTER_ID}.yml" yq -i eval ".parameters.openshift4_terraform.terraform_variables.cluster_name = \"${APPUIO_CLOUD_ZONE}\"" \ "${CLUSTER_ID}.yml"For cloudscale.chyq -i eval ".parameters.openshift4_terraform.terraform_variables.infra_flavor = \"plus-32-4\"" \ "${CLUSTER_ID}.yml"For Exoscaleyq -i eval ".parameters.openshift4_terraform.terraform_variables.infra_size = \"Huge\"" \ "${CLUSTER_ID}.yml"Storage node sizing is predefined for Exoscale in the global.apps.appuio-cloud-zoneclass.If you want to change the size of the storage node, you can do so with the following commands: yq -i eval ".parameters.openshift4_terraform.terraform_variables.storage_cluster_disk_size = 680 \ (1) "${CLUSTER_ID}.yml" yq -i eval ".parameters.openshift4_terraform.terraform_variables.storage_count = 4 \ (2) "${CLUSTER_ID}.yml"1 Size in GB 2 Nodes 
- 
Prepare APPUiO Cloud Agent Certificates # Adjust the lifetime as necessary lifetime=3650 servicename=webhook-service.appuio-cloud.svc openssl req -x509 -newkey rsa:4096 -nodes -keyout webhook.key -out webhook.crt -days ${lifetime} -subj "/CN=$servicename" -addext "subjectAltName = DNS:$servicename"Store keys in Vault instance=appuio-cloud parent="clusters/kv/${TENANT_ID}/${CLUSTER_ID}" vault kv put "${parent}/${instance}" webhook-key=@webhook.keyAdd certificates to cluster config webhookcert=$(cat webhook.crt) yq eval -i ".parameters.appuio_cloud.agent.webhook.tls.certificate = \"${webhookcert}\"" \ inventory/classes/${TENANT_ID}/${CLUSTER_ID}.yml yq eval -i '.parameters.appuio_cloud.agent.webhook.tls.caCertificate = "${appuio_cloud:agent:webhook.tls:certificate}"' \ inventory/classes/${TENANT_ID}/${CLUSTER_ID}.yml
- 
Work through the rest of the install guide for your cloud provider 
- 
Add APPUiO Cloud specific CNAMES. For cloudscale.chDirectly add the following CNAMES to the cluster’s zone. cname IN CNAME ingress.${CLUSTER_DOMAIN}. console IN CNAME ingress.${CLUSTER_DOMAIN}. registry IN CNAME ingress.${CLUSTER_DOMAIN}. logging IN CNAME ingress.${CLUSTER_DOMAIN}.For ExoscaleWe use Exoscale’s managed DNS offering. To add the APPUiO Cloud specific CNAMES run the following commands. exo dns add CNAME ${CLUSTER_DOMAIN} -n cname -a ingress.${CLUSTER_DOMAIN} exo dns add CNAME ${CLUSTER_DOMAIN} -n console -a ingress.${CLUSTER_DOMAIN} exo dns add CNAME ${CLUSTER_DOMAIN} -n registry -a ingress.${CLUSTER_DOMAIN} exo dns add CNAME ${CLUSTER_DOMAIN} -n logging -a ingress.${CLUSTER_DOMAIN}