cluster-api

command module
v1.8.5 Latest Latest
Warning

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

Go to latest
Published: Oct 31, 2024 License: Apache-2.0 Imports: 55 Imported by: 0

README

capi

GitHub release (latest SemVer)

Cluster API

👋 Welcome to our project! Our Book can help you get started and provides lots of in-depth information.

✨ What is the Cluster API?

Cluster API is a Kubernetes subproject focused on providing declarative APIs and tooling to simplify provisioning, upgrading, and operating multiple Kubernetes clusters.

Started by the Kubernetes Special Interest Group (SIG) Cluster Lifecycle, the Cluster API project uses Kubernetes-style APIs and patterns to automate cluster lifecycle management for platform operators. The supporting infrastructure, like virtual machines, networks, load balancers, and VPCs, as well as the Kubernetes cluster configuration are all defined in the same way that application developers operate deploying and managing their workloads. This enables consistent and repeatable cluster deployments across a wide variety of infrastructure environments.

⚙️ Providers

Cluster API can be extended to support any infrastructure (AWS, Azure, vSphere, etc.), bootstrap or control plane (kubeadm is built-in) provider. There is a growing list of supported providers available.

🤗 Community, discussion, contribution, and support

Cluster API is developed in the open, and is constantly being improved by our users, contributors, and maintainers. It is because of you that we are able to automate cluster lifecycle management for the community. Join us!

If you have questions or want to get the latest project news, you can connect with us in the following ways:

  • Chat with us on the Kubernetes Slack in the #cluster-api channel
  • Subscribe to the SIG Cluster Lifecycle Google Group for access to documents and calendars
  • Join our Cluster API working group sessions where we share the latest project news, demos, answer questions, and triage issues

Pull Requests and feedback on issues are very welcome! See the issue tracker if you're unsure where to start, especially the Good first issue and Help wanted tags, and also feel free to reach out to discuss.

See also our contributor guide and the Kubernetes community page for more details on how to get involved.

Code of conduct

Participation in the Kubernetes community is governed by the Kubernetes Code of Conduct.

Documentation

Overview

main is the main package for the Cluster API Core Provider.

Directories

Path Synopsis
api
v1beta1
Package v1beta1 contains the v1beta1 API implementation.
Package v1beta1 contains the v1beta1 API implementation.
v1beta1/index
Package index provides indexes for the api.
Package index provides indexes for the api.
bootstrap
kubeadm
main is the main package for the Kubeadm Bootstrap provider.
main is the main package for the Kubeadm Bootstrap provider.
kubeadm/api/v1beta1
Package v1beta1 contains API Schema definitions for the kubeadm v1beta1 API group +kubebuilder:object:generate=true +groupName=bootstrap.cluster.x-k8s.io
Package v1beta1 contains API Schema definitions for the kubeadm v1beta1 API group +kubebuilder:object:generate=true +groupName=bootstrap.cluster.x-k8s.io
kubeadm/controllers
Package controllers implements the Kubeadm controllers.
Package controllers implements the Kubeadm controllers.
kubeadm/internal/builder
Package builder implements builder and CRDs for creating Bootstrap objects for testing.
Package builder implements builder and CRDs for creating Bootstrap objects for testing.
kubeadm/internal/cloudinit
Package cloudinit implements kubeadm cloudinit functionality.
Package cloudinit implements kubeadm cloudinit functionality.
kubeadm/internal/controllers
Package controllers implements the Kubeadm controllers.
Package controllers implements the Kubeadm controllers.
kubeadm/internal/ignition
Package ignition aggregates all Ignition flavors into a single package to be consumed by the bootstrap provider by exposing an API similar to 'internal/cloudinit' package.
Package ignition aggregates all Ignition flavors into a single package to be consumed by the bootstrap provider by exposing an API similar to 'internal/cloudinit' package.
kubeadm/internal/ignition/clc
Package clc generates bootstrap data in Ignition format using Container Linux Config Transpiler.
Package clc generates bootstrap data in Ignition format using Container Linux Config Transpiler.
kubeadm/internal/locking
Package locking implements locking functionality.
Package locking implements locking functionality.
kubeadm/internal/webhooks
Package webhooks provides the validating webhooks for KubeadmConfig and KubeadmConfigTemplate.
Package webhooks provides the validating webhooks for KubeadmConfig and KubeadmConfigTemplate.
kubeadm/types
Package utils contains Kubeadm utility types.
Package utils contains Kubeadm utility types.
kubeadm/types/upstreamv1beta1
Package upstreamv1beta1 contains a mirror of kubeadm API v1beta1 API, required because it is not possible to import k/K.
Package upstreamv1beta1 contains a mirror of kubeadm API v1beta1 API, required because it is not possible to import k/K.
kubeadm/types/upstreamv1beta2
Package upstreamv1beta2 contains a mirror of kubeadm API v1beta2 API, required because it is not possible to import k/K.
Package upstreamv1beta2 contains a mirror of kubeadm API v1beta2 API, required because it is not possible to import k/K.
kubeadm/types/upstreamv1beta3
Package upstreamv1beta3 contains a mirror of kubeadm API v1beta3 API, required because it is not possible to import k/K.
Package upstreamv1beta3 contains a mirror of kubeadm API v1beta3 API, required because it is not possible to import k/K.
kubeadm/types/upstreamv1beta4
Package upstreamv1beta4 contains a mirror of kubeadm API v1beta4 API, required because it is not possible to import k/K.
Package upstreamv1beta4 contains a mirror of kubeadm API v1beta4 API, required because it is not possible to import k/K.
kubeadm/webhooks
Package webhooks provides the validating webhooks for KubeadmConfig and KubeadmConfigTemplate.
Package webhooks provides the validating webhooks for KubeadmConfig and KubeadmConfigTemplate.
util
Package util implements kubeadm utility functionality.
Package util implements kubeadm utility functionality.
cmd
clusterctl
main is the main package for clusterctl.
main is the main package for clusterctl.
clusterctl/api/v1alpha3
Package v1alpha3 contains API Schema definitions for the clusterctl v1alpha3 API group +kubebuilder:object:generate=true +groupName=clusterctl.cluster.x-k8s.io
Package v1alpha3 contains API Schema definitions for the clusterctl v1alpha3 API group +kubebuilder:object:generate=true +groupName=clusterctl.cluster.x-k8s.io
clusterctl/client
Package client implements clusterctl client functionality.
Package client implements clusterctl client functionality.
clusterctl/client/alpha
Package alpha implements clusterctl alpha functionality.
Package alpha implements clusterctl alpha functionality.
clusterctl/client/cluster
Package cluster implements clusterctl cluster functionality.
Package cluster implements clusterctl cluster functionality.
clusterctl/client/cluster/internal/dryrun
Package dryrun implements clusterctl dryrun functionality.
Package dryrun implements clusterctl dryrun functionality.
clusterctl/client/config
Package config implements clusterctl config functionality.
Package config implements clusterctl config functionality.
clusterctl/client/repository
Package repository implements clusterctl repository functionality.
Package repository implements clusterctl repository functionality.
clusterctl/client/tree
Package tree supports the generation of an "at glance" view of a Cluster API cluster designed to help the user in quickly understanding if there are problems and where.
Package tree supports the generation of an "at glance" view of a Cluster API cluster designed to help the user in quickly understanding if there are problems and where.
clusterctl/client/yamlprocessor
Package yamlprocessor implements YAML processing.
Package yamlprocessor implements YAML processing.
clusterctl/cmd
Package cmd implements clusterctl commands.
Package cmd implements clusterctl commands.
clusterctl/cmd/rollout
Package rollout implements the clusterctl rollout command.
Package rollout implements the clusterctl rollout command.
clusterctl/config
Package config implements clusterctl config functionality.
Package config implements clusterctl config functionality.
clusterctl/internal/scheme
Package scheme implements clusterctl scheme functionality.
Package scheme implements clusterctl scheme functionality.
clusterctl/internal/test
Package test implements test functionality.
Package test implements test functionality.
clusterctl/internal/test/providers/bootstrap
Package bootstrap defines the types for a generic bootstrap provider used for tests.
Package bootstrap defines the types for a generic bootstrap provider used for tests.
clusterctl/internal/test/providers/controlplane
Package controlplane defines the types for a generic control plane provider used for tests.
Package controlplane defines the types for a generic control plane provider used for tests.
clusterctl/internal/test/providers/external
Package external defines the types for a generic external provider used for tests.
Package external defines the types for a generic external provider used for tests.
clusterctl/internal/test/providers/infrastructure
Package infrastructure defines the types for a generic infrastructure provider used for tests.
Package infrastructure defines the types for a generic infrastructure provider used for tests.
clusterctl/internal/util
Package util implements clusterctl utilty functions.
Package util implements clusterctl utilty functions.
clusterctl/log
Package log mirrors the controller runtime approach to logging, by defining a global logger that defaults to NullLogger.
Package log mirrors the controller runtime approach to logging, by defining a global logger that defaults to NullLogger.
Package controllers implements controllers.
Package controllers implements controllers.
external
Package external implements external controller types.
Package external implements external controller types.
noderefutil
Package noderefutil implements noderef utilities.
Package noderefutil implements noderef utilities.
remote
Package remote implements remote controllers.
Package remote implements remote controllers.
remote/fake
Package fake implements testing fakes.
Package fake implements testing fakes.
controlplane
kubeadm
main is the main package for the Kubeadm Control Plane provider.
main is the main package for the Kubeadm Control Plane provider.
kubeadm/api/v1beta1
Package v1beta1 contains API Schema definitions for the kubeadm v1beta1 API group +kubebuilder:object:generate=true +groupName=controlplane.cluster.x-k8s.io
Package v1beta1 contains API Schema definitions for the kubeadm v1beta1 API group +kubebuilder:object:generate=true +groupName=controlplane.cluster.x-k8s.io
kubeadm/controllers
Package controllers implements the Kubeadm controllers.
Package controllers implements the Kubeadm controllers.
kubeadm/internal
Package internal contains internal implementation details for the Kubeadm Control Plane.
Package internal contains internal implementation details for the Kubeadm Control Plane.
kubeadm/internal/controllers
Package controllers implements the Kubeadm controllers.
Package controllers implements the Kubeadm controllers.
kubeadm/internal/etcd
Package etcd provides a connection to an etcd member.
Package etcd provides a connection to an etcd member.
kubeadm/internal/etcd/fake
Package fake implements testing fakes.
Package fake implements testing fakes.
kubeadm/internal/etcd/util
Package util implements etcd utility functions.
Package util implements etcd utility functions.
kubeadm/internal/proxy
Package proxy implements kubeadm proxy functionality.
Package proxy implements kubeadm proxy functionality.
kubeadm/internal/webhooks
Package webhooks provides the validating webhook for KubeadmControlPlane scale subresource.
Package webhooks provides the validating webhook for KubeadmControlPlane scale subresource.
kubeadm/webhooks
Package webhooks provides the validating webhook for KubeadmControlPlane scale subresource.
Package webhooks provides the validating webhook for KubeadmControlPlane scale subresource.
Package errors makes a set of error message handlers available for use by Cluster API Providers.
Package errors makes a set of error message handlers available for use by Cluster API Providers.
exp
Package exp implements experimental code.
Package exp implements experimental code.
addons/api/v1beta1
Package v1beta1 contains API Schema definitions for the addons v1beta1 API group +kubebuilder:object:generate=true +groupName=addons.cluster.x-k8s.io
Package v1beta1 contains API Schema definitions for the addons v1beta1 API group +kubebuilder:object:generate=true +groupName=addons.cluster.x-k8s.io
addons/controllers
Package controllers implements the exp/addons controllers.
Package controllers implements the exp/addons controllers.
addons/internal/controllers
Package controllers implements experimental addon controllers.
Package controllers implements experimental addon controllers.
addons/internal/controllers/predicates
Package predicates implements predicate functionality.
Package predicates implements predicate functionality.
addons/internal/webhooks
Package webhooks implements experimental addon webhooks.
Package webhooks implements experimental addon webhooks.
addons/webhooks
Package webhooks contains external addons webhook implementations for some of our API types.
Package webhooks contains external addons webhook implementations for some of our API types.
api/v1beta1
Package v1beta1 contains experimental v1beta1 API implementation.
Package v1beta1 contains experimental v1beta1 API implementation.
controllers
Package controllers implements experimental controllers.
Package controllers implements experimental controllers.
internal/controllers
Package controllers implements experimental controllers.
Package controllers implements experimental controllers.
internal/webhooks
Package webhooks contains external webhook implementations for some of our API types.
Package webhooks contains external webhook implementations for some of our API types.
ipam/api/v1alpha1
Package v1alpha1 contains API Schema definitions for the exp v1alpha1 IPAM API.
Package v1alpha1 contains API Schema definitions for the exp v1alpha1 IPAM API.
ipam/api/v1beta1
Package v1beta1 contains API Schema definitions for the v1beta1 IPAM API.
Package v1beta1 contains API Schema definitions for the v1beta1 IPAM API.
ipam/internal/webhooks
Package webhooks implements experimental webhooks.
Package webhooks implements experimental webhooks.
ipam/webhooks
Package webhooks contains external webhook implementations for some of our API types.
Package webhooks contains external webhook implementations for some of our API types.
runtime/api/v1alpha1
Package v1alpha1 contains the v1alpha1 implementation of ExtensionConfig.
Package v1alpha1 contains the v1alpha1 implementation of ExtensionConfig.
runtime/catalog
Package catalog provides the Catalog and corresponding builders.
Package catalog provides the Catalog and corresponding builders.
runtime/controllers
Package controllers implements the exp/runtime controllers.
Package controllers implements the exp/runtime controllers.
runtime/hooks/api/v1alpha1
Package v1alpha1 contains the v1alpha1 RuntimeHooks.
Package v1alpha1 contains the v1alpha1 RuntimeHooks.
runtime/internal/controllers
Package controllers implements the exp/runtime controllers.
Package controllers implements the exp/runtime controllers.
runtime/server
Package server contains the implementation of a RuntimeSDK webhook server.
Package server contains the implementation of a RuntimeSDK webhook server.
runtime/topologymutation
Package topologymutation provides helpers for implementing the topology mutation hooks.
Package topologymutation provides helpers for implementing the topology mutation hooks.
topology/desiredstate
Package desiredstate contains cluster topology utils, e.g.
Package desiredstate contains cluster topology utils, e.g.
topology/scope
Package scope provides types for handling all the information to process a request in the topology/ClusterReconciler controller.
Package scope provides types for handling all the information to process a request in the topology/ClusterReconciler controller.
util
Package util implements utility functions.
Package util implements utility functions.
webhooks
Package webhooks contains external webhook implementations for some of our API types.
Package webhooks contains external webhook implementations for some of our API types.
Package feature implements feature functionality.
Package feature implements feature functionality.
hack
boilerplate/test
Package test contains test boilerplate.
Package test contains test boilerplate.
tools Module
internal
apis/bootstrap/kubeadm/v1alpha3
Package v1alpha3 contains the v1alpha3 API implementation.
Package v1alpha3 contains the v1alpha3 API implementation.
apis/bootstrap/kubeadm/v1alpha4
Package v1alpha4 contains the v1alpha4 API implementation.
Package v1alpha4 contains the v1alpha4 API implementation.
apis/controlplane/kubeadm/v1alpha3
Package v1alpha3 contains the v1alpha3 API implementation.
Package v1alpha3 contains the v1alpha3 API implementation.
apis/controlplane/kubeadm/v1alpha4
Package v1alpha4 contains the v1alpha4 API implementation.
Package v1alpha4 contains the v1alpha4 API implementation.
apis/core/exp/addons/v1alpha3
Package v1alpha3 contains the v1alpha3 API implementation.
Package v1alpha3 contains the v1alpha3 API implementation.
apis/core/exp/addons/v1alpha4
Package v1alpha4 contains the v1alpha4 API implementation.
Package v1alpha4 contains the v1alpha4 API implementation.
apis/core/exp/v1alpha3
Package v1alpha3 contains the v1alpha3 API implementation.
Package v1alpha3 contains the v1alpha3 API implementation.
apis/core/exp/v1alpha4
Package v1alpha4 contains the v1alpha4 API implementation.
Package v1alpha4 contains the v1alpha4 API implementation.
apis/core/v1alpha3
Package v1alpha3 contains the v1alpha3 API implementation.
Package v1alpha3 contains the v1alpha3 API implementation.
apis/core/v1alpha4
Package v1alpha4 contains the v1alpha4 API implementation.
Package v1alpha4 contains the v1alpha4 API implementation.
contract
Package contract provides support for the ClusterReconciler to handle with providers objects according to the Cluster API contract.
Package contract provides support for the ClusterReconciler to handle with providers objects according to the Cluster API contract.
controllers/cluster
Package cluster implements cluster controller.
Package cluster implements cluster controller.
controllers/clusterclass
Package clusterclass implements the clusterclass controller.
Package clusterclass implements the clusterclass controller.
controllers/machine
Package machine implements machine controller.
Package machine implements machine controller.
controllers/machinedeployment
Package machinedeployment implements machinedeployment controller.
Package machinedeployment implements machinedeployment controller.
controllers/machinedeployment/mdutil
Package mdutil implements MachineDeployment utilities meant to be consumed internally by the controller.
Package mdutil implements MachineDeployment utilities meant to be consumed internally by the controller.
controllers/machinehealthcheck
Package machinehealthcheck implements machinehealthcheck controller.
Package machinehealthcheck implements machinehealthcheck controller.
controllers/machineset
Package machineset implements machineset controller.
Package machineset implements machineset controller.
controllers/topology/cluster
Package cluster implements the cluster topology controller.
Package cluster implements the cluster topology controller.
controllers/topology/cluster/patches
Package patches implement the patch engine.
Package patches implement the patch engine.
controllers/topology/cluster/patches/api
Package api contains the API definition for the patch engine.
Package api contains the API definition for the patch engine.
controllers/topology/cluster/patches/external
Package external implements the external patch generator.
Package external implements the external patch generator.
controllers/topology/cluster/patches/inline
Package inline implements the inline JSON patch generator.
Package inline implements the inline JSON patch generator.
controllers/topology/cluster/patches/variables
Package variables calculates variables for patching.
Package variables calculates variables for patching.
controllers/topology/cluster/structuredmerge
Package structuredmerge implements server side apply support for managed topology controllers.
Package structuredmerge implements server side apply support for managed topology controllers.
controllers/topology/machinedeployment
Package machinedeployment implements the machinedeployment topology controller.
Package machinedeployment implements the machinedeployment topology controller.
controllers/topology/machineset
Package machineset implements the machineset topology controller.
Package machineset implements the machineset topology controller.
goproxy
Package goproxy implements a goproxy client.
Package goproxy implements a goproxy client.
goproxy/test
Package test contains test util functions for goproxy.
Package test contains test util functions for goproxy.
hooks
Package hooks has helper functions for Runtime Hooks.
Package hooks has helper functions for Runtime Hooks.
log
Package log provides log utilities for the topology package.
Package log provides log utilities for the topology package.
runtime/client
Package client provides the Runtime SDK client.
Package client provides the Runtime SDK client.
runtime/client/fake
Package fake is used to help with testing functions that need a fake RuntimeClient.
Package fake is used to help with testing functions that need a fake RuntimeClient.
runtime/metrics
Package metrics provides functions for creating Runtime SDK related metrics.
Package metrics provides functions for creating Runtime SDK related metrics.
runtime/registry
Package registry implements the RuntimeSDK registry.
Package registry implements the RuntimeSDK registry.
runtime/test/v1alpha1
Package v1alpha1 contains types for tests.
Package v1alpha1 contains types for tests.
runtime/test/v1alpha2
Package v1alpha2 contains types for tests.
Package v1alpha2 contains types for tests.
test/builder
Package builder implements builder and CRDs for creating API objects for testing.
Package builder implements builder and CRDs for creating API objects for testing.
test/envtest
Package envtest contains the test environment to run integration tests.
Package envtest contains the test environment to run integration tests.
topology/check
Package check implements checks for managed topology.
Package check implements checks for managed topology.
topology/clustershim
Package clustershim contains clustershim utils.
Package clustershim contains clustershim utils.
topology/names
Package names implements name generators for managed topology.
Package names implements name generators for managed topology.
topology/ownerrefs
Package ownerrefs contains ownerref utils.
Package ownerrefs contains ownerref utils.
topology/selectors
Package selectors contains selectors utils.
Package selectors contains selectors utils.
topology/variables
Package variables implements validation and defaulting for ClusterClass variables.
Package variables implements validation and defaulting for ClusterClass variables.
util/compare
Package compare contains utils to compare objects.
Package compare contains utils to compare objects.
util/hash
Package hash provides utils to calculate hashes.
Package hash provides utils to calculate hashes.
util/kubeadm
Package kubeadm contains utils related to kubeadm.
Package kubeadm contains utils related to kubeadm.
util/ssa
Package ssa contains utils related to Server-Side-Apply.
Package ssa contains utils related to Server-Side-Apply.
util/taints
Package taints implements taint helper functions.
Package taints implements taint helper functions.
webhooks
Package webhooks contains external webhook implementations for some of our API types.
Package webhooks contains external webhook implementations for some of our API types.
webhooks/runtime
Package runtime contains the webhook implementation for runtime ExtensionConfig.
Package runtime contains the webhook implementation for runtime ExtensionConfig.
webhooks/test
Package test contains integration tests for webhooks.
Package test contains integration tests for webhooks.
webhooks/util
Package util includes the utility functions for testing webhooks.
Package util includes the utility functions for testing webhooks.
test module
framework Module
Package util implements utilities.
Package util implements utilities.
annotations
Package annotations implements annotation helper functions.
Package annotations implements annotation helper functions.
certs
Package certs implements cert handling utilities.
Package certs implements cert handling utilities.
collections
Package collections implements collection utilities.
Package collections implements collection utilities.
conditions
Package conditions implements condition utilities.
Package conditions implements condition utilities.
container
Package container implements container utility functionality.
Package container implements container utility functionality.
contract
Package contract contains utils related to the Cluster API contract.
Package contract contains utils related to the Cluster API contract.
conversion
Package conversion implements conversion utilities.
Package conversion implements conversion utilities.
defaulting
Package defaulting implements defaulting webhook functionality.
Package defaulting implements defaulting webhook functionality.
failuredomains
Package failuredomains implements FailureDomain utility functions.
Package failuredomains implements FailureDomain utility functions.
flags
Package flags implements the manager options utilities.
Package flags implements the manager options utilities.
kubeconfig
Package kubeconfig implements utilities for working with kubeconfigs.
Package kubeconfig implements utilities for working with kubeconfigs.
labels
Package labels implements label utility functions.
Package labels implements label utility functions.
labels/format
Package format contains functions to format and compare formatted values used in Kubernetes labels.
Package format contains functions to format and compare formatted values used in Kubernetes labels.
log
Package log provides log utils.
Package log provides log utils.
patch
Package patch implements patch utilities.
Package patch implements patch utilities.
predicates
Package predicates implements predicate utilities.
Package predicates implements predicate utilities.
record
Package record implements recording functionality.
Package record implements recording functionality.
resource
Package resource implements resource utilites.
Package resource implements resource utilites.
secret
Package secret implements utilities for secret handling.
Package secret implements utilities for secret handling.
topology
Package topology implements topology utility functions.
Package topology implements topology utility functions.
version
Package version implements version handling.
Package version implements version handling.
yaml
Package yaml implements yaml utility functions.
Package yaml implements yaml utility functions.
Package version implements version handling code.
Package version implements version handling code.
Package webhooks contains external webhook implementations for some of our API types.
Package webhooks contains external webhook implementations for some of our API types.

Jump to

Keyboard shortcuts

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