cluster-stack-operator

module
v0.1.0-alpha.5 Latest Latest
Warning

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

Go to latest
Published: Mar 13, 2024 License: Apache-2.0

README

Cluster Stack Operator

Get started

The Cluster Stack Operator works with Cluster Stacks and creates Kubernetes clusters in an easy and Cluster-API-native way.

The operator can be used with any repository that contains releases of cluster stacks. For more details of how to implement them, have a look at the cluster-stacks repository.

To try out this operator and cluster stacks, have a look at this demo.

Why Cluster Stacks?

Kubernetes and Cluster API enable self-service Kubernetes. But do they take care of everything? No! Both tools solve one specific purpose perfectly and leave other tasks out of scope.

Therefore, a user has to answer questions like these: how do I get node images? How can I manage core cluster components (e.g. CCM, CNI)? How can I safely and efficiently upgrade Kubernetes clusters?

The Cluster Stacks give an answer by working hand-in-hand with Cluster API to facilitate self-service Kubernetes. They provide a framework and tools for managing a fully open-source self-service Kubernetes infrastructure with ease. They integrate seamlessly in the Cluster API cosmos.

The Cluster Stack operator enables an “Infrastructure as Software” approach for managing Kubernetes clusters in self-service.

The Cluster Stacks are very generic and can be adapted to many use cases.

Are Cluster Stacks relevant to you?

Are you interested in setting up Kubernetes in your company based on open-source software? Do you not want to rely on other providers but own your Kubernetes clusters? Do you want to manage Kubernetes clusters for others? Do you plan on using Cluster API?

In all of these cases, the Cluster Stacks are for you!

They make it easy to build a self-service Kubernetes infrastructure for internal use, as well as a to create a Managed Kubernetes offering.

Further documentation

Please have a look at our docs to find more information about the architecture, how to get started, how to develop this operator or provider integrations, and much more.

Directories

Path Synopsis
api
v1alpha1
Package v1alpha1 contains API Schema definitions for the clusterstack.x-k8s.io v1alpha1 API group +kubebuilder:object:generate=true +groupName=clusterstack.x-k8s.io
Package v1alpha1 contains API Schema definitions for the clusterstack.x-k8s.io v1alpha1 API group +kubebuilder:object:generate=true +groupName=clusterstack.x-k8s.io
Package main is the main package to run the cluster-stack-operator.
Package main is the main package to run the cluster-stack-operator.
internal
clusterstackrelease
Package clusterstackrelease contains functions related to clusterstackreleases.
Package clusterstackrelease contains functions related to clusterstackreleases.
controller
Package controller contains the cluster stack controllers.
Package controller contains the cluster stack controllers.
test/helpers
Package helpers includes helper functions important for unit and integration testing.
Package helpers includes helper functions important for unit and integration testing.
test/helpers/builder
Package builder contains important CRD definitions for different provider kind.
Package builder contains important CRD definitions for different provider kind.
pkg
clusterstack
Package clusterstack contains functions related to clusterstacks.
Package clusterstack contains functions related to clusterstacks.
csoversion
Package csoversion populates all the variables that are used further with ldflags.
Package csoversion populates all the variables that are used further with ldflags.
github/client
Package client contains interface for github client.
Package client contains interface for github client.
github/client/fake
Package fake defines a fake Gitub client.
Package fake defines a fake Gitub client.
github/client/mocks
Package mocks implement important mocking interface of packer.
Package mocks implement important mocking interface of packer.
kube
Package kube implements important interfaces like the Kube.
Package kube implements important interfaces like the Kube.
kubernetesversion
Package kubernetesversion contains important structs and method for kubernetes version.
Package kubernetesversion contains important structs and method for kubernetes version.
release
Package release contains important structs and methods for a cluster stack release.
Package release contains important structs and methods for a cluster stack release.
test/utils
Package utils contains important functions for envtest.
Package utils contains important functions for envtest.
utillog
Package utillog provides utility functions for loggers.
Package utillog provides utility functions for loggers.
version
Package version contains important methods and constants for github release.
Package version contains important methods and constants for github release.
workloadcluster
Package workloadcluster includes implementation of workload cluster interfaces.
Package workloadcluster includes implementation of workload cluster interfaces.

Jump to

Keyboard shortcuts

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