Install Cloudscale Stack

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

  • A Crossplane provider to manage cloudscale.ch resources.

  • The AppCat Objectstorage service with the cloudscale implementation.

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 a project in control.cloudscale.ch.

  4. Create a new API token within the new project, give it a memorable name like appcat-objects-${CLUSTER_ID} and write access.

  5. Save the token in Vault.

    parent="clusters/kv/${TENANT_ID}/${CLUSTER_ID}/appcat/objectstorage/provider-cloudscale"
    vault kv put "${parent}" token=<the-cloudscale-token>

Configuration

  1. Configure cluster catalog.

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