Install Exoscale Stack

This tutorial will guide you through the installation process of installing the following parts:

  • A Crossplane provider to manage exoscale.com resources.

  • The AppCat Objectstorage service with the cloudscale implementation.

  • The Exoscale specific AppCat services

Requirements

  • commodore

  • vault

  • A Syn-enabled cluster with ArgoCD

  • Vault instance to store credentials

Preparation

  1. Prepare some variables

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

    export VAULT_ADDR=https://vault-prod.syn.vshn.net
    vault login -method=oidc
  3. Create an Organization on Exoscale Portal.

  4. Create a new IAM key within the new project, give it a memorable name like appcat-${CLUSTER_ID} and give it access to the sos and dbaas services.

  5. Save the token in Vault.

    parent="clusters/kv/${TENANT_ID}/${CLUSTER_ID}/appcat/provider-exoscale"
    vault kv put "${parent}" access-key=<the-exoscale-access-key> secret-key=<the-exoscale-secret-key>

Configuration

  1. Configure cluster catalog.

    applications: (1)
      - appcat
      - crossplane
    
    parameters:
      appcat:
        providers:
          exoscale:
            enabled: true (2)
        services:
          generic:
            objectstorage:
              enabled: true (3)
              compositions:
                cloudscale:
                  enable: false (4)
          exoscale:
            enabled: true (5)
    
      crossplane:
        helmValues:
          rbacManager:
            managementPolicy: Basic (6)
    1 Enable the appcat and crossplane components
    2 Enable the provider exoscale
    3 Enable the AppCat Objectstorage service
    4 Explicitly disable the cloudscale implementation at we don’t deploy the provider cloudscale
    5 Enable the AppCat Exoscale services
    6 Ensure that RBAC management policy is set to Basic only.
  2. Compile and push cluster catalog