Skip to content

cloudscale-ch/cluster-api-provider-cloudscale

Repository files navigation

Cluster API Provider for cloudscale.ch

Tests Release Go Reference Goreportcard Ask DeepWiki

Kubernetes Cluster API infrastructure provider for cloudscale.ch. CAPCS provisions the cloudscale-specific infrastructure — servers, networks, load balancers, floating IPs, server groups — that Cluster API uses to build and manage workload Kubernetes clusters.

New to Cluster API? Read the upstream concepts and quick start first; this project only documents what is cloudscale-specific.

Features

  • Managed or pre-existing networks; public or private load balancer VIPs; floating IPs (IPv4/IPv6); anti-affinity server groups
  • HA control plane; MachineDeployment autoscaling including scale-from-zero via capacity reported on CloudscaleMachineTemplate
  • ClusterClass support

Compatibility

Cluster-API Versions

Currently, CAPCS requires CAPI version >= v1.13.0 and is compatible only with the v1beta2 CRD versions of CAPI.

Kubernetes Versions

The cloudscale provider is able to install and manage the versions of Kubernetes supported by the Cluster API (CAPI) project.

Prerequisites

Quickstart

This quickstart assumes you already know how Cluster-API works and have the prerequisites ready to use. For a more detailed introduction, please read our getting started guide.

export CLOUDSCALE_API_TOKEN=<your-api-token>

# initialize the Cluster-API management controllers
clusterctl init --infrastructure cloudscale-ch-cloudscale

# Generate and apply the cluster definition
clusterctl generate cluster my-cluster \
  --infrastructure cloudscale-ch-cloudscale --kubernetes-version v1.36.0 \
  --control-plane-machine-count 1 --worker-machine-count 2 \
  | kubectl apply -f -

# Describe the status of the cluster
clusterctl describe cluster my-cluster

The default template uses a managed network and a public load balancer. Getting Started lists the required environment variables and the other template flavors.

Documentation

If you are… Start here
New to Cluster API, or new to CAPCS Getting Started
Looking up a CRD field kubectl explain cloudscalecluster.spec (or the generated CRDs under config/crd/bases/)
Hitting an error Troubleshooting
Contributing to CAPCS Development, CONTRIBUTING.md
Cutting a release Releasing, Testing releases

License

Apache License 2.0