cluster-api-provider-stackit

module
v0.0.0-...-aca40d1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 15, 2026 License: Apache-2.0

README

Kubernetes Cluster API Provider STACKIT (CAPSTK)

STACKIT - A Brand By Schwarz Digits

Go Reference


Kubernetes-native declarative infrastructure for STACKIT.

What is the Cluster API Provider STACKIT

The Cluster API brings declarative, Kubernetes-style APIs to cluster creation, configuration and management.

The API itself is shared across multiple cloud providers allowing for true STACKIT hybrid deployments of Kubernetes.

Cluster API Provider STACKIT is abbreviated as CAPSTK.

⚠️ WARNING ⚠️

cluster-api-provider-stackit is not an official STACKIT project. It has been developed almost exclusively through AI-assisted tooling by a single person.

The implementation is validated through end-to-end tests, but it has not yet received the same level of manual review, production hardening, or long-term operational validation as a mature provider.

Use at your own risk. Please review the code carefully before using it in production environments.

Documentation

Please see our book for in-depth documentation.

Use make serve-book to serve the book locally from this repository.

Launching a Kubernetes cluster on STACKIT

Check out the Quick Start for launching a cluster on STACKIT.

Features

  • Native Kubernetes manifests and API
  • Doesn't use SSH for bootstrapping nodes.
  • Installs only the minimal components to bootstrap a control plane and workers.
  • Supports control planes and worker nodes on STACKIT VM instances.
  • Manages the bootstrapping of security groups and vm instances (networks are excluded for now).
  • Optional Bastion hosts for easier access of control plane or worker nodes
  • Tested Kubernetes Lifecycle (Scaling, Kubernetes Upgrades), see E2E-Tests
  • ClusterClass Topology
  • Support varioius Linux Distributions (tested with Ubuntu and Flatcar)
  • Release distribution via OCI Images and Helm Charts
  • Manage the bootstrapping of networks, security groups and vm instances.
    • Deploys Kubernetes control planes into private subnets with a separate bastion server.
  • SKE support

Compatibility with Cluster API and Kubernetes Versions

This provider's versions are compatible with the following versions of Cluster API and support all Kubernetes versions that is supported by its compatible Cluster API version:

Cluster API v1alpha4 (v0.4) Cluster API v1beta1 (v1.x)
CAPSTK v1alpha1 (main) x

(See Kubernetes support matrix of Cluster API versions).


Getting involved and contributing

Interested in contributing to cluster-api-provider-stackit? We welcome your ideas, contributions, and help. Feel free to reach out to the maintainers to learn how to get involved.

You do not need official write permissions to make an impact. We encourage active community members to take ownership, drive improvements, and help move the project forward.

We are also happy to welcome new maintainers over time. Get involved and show us what you can do!

Directories

Path Synopsis
api
v1alpha1
Package v1alpha1 contains API Schema definitions for the infrastructure v1alpha1 API group.
Package v1alpha1 contains API Schema definitions for the infrastructure v1alpha1 API group.
cmd
cleanup-stackit command
internal
pkg
cloud
Package cloud defines the abstraction layer between the controllers and the STACKIT SDK.
Package cloud defines the abstraction layer between the controllers and the STACKIT SDK.
cloud/fake
Package fake provides an in-memory cloud.Client used by unit and envtest tests.
Package fake provides an in-memory cloud.Client used by unit and envtest tests.
scope
Package scope bundles the resolved CAPI / Stackit objects a reconcile pass operates on, together with a patch helper, mirroring the convention used by upstream CAPI providers.
Package scope bundles the resolved CAPI / Stackit objects a reconcile pass operates on, together with a patch helper, mirroring the convention used by upstream CAPI providers.
util
Package util holds small, reusable helpers shared by the controllers.
Package util holds small, reusable helpers shared by the controllers.
test

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL