Activate AppCat Exoscale DBaaS On APPUiO Zone

This page describes how AppCat Database as a Service on Exoscale can be enabled on a APPUiO Zone.

  1. Set variables.

    export CLUSTER_ID = <cluster>
    export TENANT_ID = <tenant>
  2. Login to Vault.

    export VAULT_ADDR=https://vault-prod.syn.vshn.net
    vault login -method=oidc
  3. Setup API keys for exoscale cloud provider in case no other AppCat services are running in APPUiO Zone.

    1. Login to portal.exoscale.com

    2. Create a new organization using the naming scheme VSHN AppCat ${CLUSTER_ID}, for example VSHN AppCat ch-gva-2-0.

    3. Create an Exoscale support ticket to link the organization to the root organization.

    4. Once they’re linked, in the new organization, create a restricted IAM API key using a name like appcat-dbaas-cloudscale-ch-gva-2-0. The key should have following service permissions: DBaaS - unrestricted, IAM - unrestricted.

      In case other AppCat services are already enabled on the APPUiO Zone such as ObjectStorage then the IAM Key should be recreated with appropriate permissions in the existing Exoscale organization.
    5. Store token in Vault

      parent="clusters/kv/${TENANT_ID}/${CLUSTER_ID}/appcat/exoscale/provider-exoscale"
      vault kv put "${parent}" access-key=<the-exoscale-access-key> secret-key=<the-exoscale-secret-key>
  4. Configure cluster catalog and choose at least one of the following exoscale DBaaS:

    classes:
      - global.apps.appcat.dbaas.exoscale.postgres
      - global.apps.appcat.dbaas.exoscale.mysql
      - global.apps.appcat.dbaas.exoscale.redis

    This will deploy Crossplane and the Crossplane Exoscale provider. It also deploys the Crossplane XRDs and compositions along with RBAC.

  5. Compile and push cluster catalog.