- Introduction
- Quick Start
- Quick Start Operator
- Concepts
- Manifesto
- 1. Tasks
❱
- 1.1. Certificate Management
❱
- 1.1.1. Using Custom Certificates
- 1.1.2. Generating a Kubeconfig
- 1.1.3. Auto Rotate Certificates in KCP
- 1.2. Bootstrap
❱
- 1.2.1. Kubeadm based bootstrap
❱
- 1.2.1.1. Kubelet configuration
- 1.2.2. MicroK8s based bootstrap
- 1.3. Upgrading management and workload clusters
- 1.4. External etcd
- 1.5. Using kustomize
- 1.6. Upgrading Cluster API components
- 1.7. Control plane management
❱
- 1.7.1. Kubeadm based control plane management
- 1.7.2. MicroK8s based control plane management
- 1.8. Updating Machine Infrastructure and Bootstrap Templates
- 1.9. Workload bootstrap using GitOps
- 1.10. Automated Machine management
❱
- 1.10.1. Scaling
- 1.10.2. Autoscaling
- 1.10.3. Healthchecking
- 1.10.4. Machine deletion process
- 1.11. Experimental Features
❱
- 1.11.1. MachinePools
- 1.11.2. MachineSetPreflightChecks
- 1.11.3. ClusterClass
❱
- 1.11.3.1. Writing a ClusterClass
- 1.11.3.2. Changing a ClusterClass
- 1.11.3.3. Operating a managed Cluster
- 1.11.4. Runtime SDK
❱
- 1.11.4.1. Implementing Runtime Extensions
- 1.11.4.2. Implementing In-Place Update Hooks Extensions
- 1.11.4.3. Implementing Lifecycle Hook Extensions
- 1.11.4.4. Implementing Topology Mutation Hook Extensions
- 1.11.4.5. Implementing Upgrade Plan Runtime Extensions
- 1.11.4.6. Deploying Runtime Extensions
- 1.11.5. Ignition Bootstrap configuration
- 1.12. Running multiple providers
- 1.13. Verification of Container Images
- 1.14. Diagnostics
- 1.15. ClusterResourceSet
- 2. Security Guidelines
❱
- 2.1. Pod Security Standards
- 2.2. Security Guidelines for Cluster API Users
- 3. clusterctl CLI
❱
- 3.1. clusterctl Commands
❱
- 3.1.1. init
- 3.1.2. generate cluster
- 3.1.3. generate provider
- 3.1.4. generate yaml
- 3.1.5. get kubeconfig
- 3.1.6. describe cluster
- 3.1.7. convert
- 3.1.8. move
- 3.1.9. upgrade
- 3.1.10. delete
- 3.1.11. completion
- 3.1.12. alpha rollout
- 3.1.13. additional commands
- 3.2. clusterctl Configuration
- 3.3. clusterctl for Developers
- 3.4. clusterctl Extensions with Plugins
- 4. Developer Guide
❱
- 4.1. Developing "core" Cluster API
❱
- 4.1.1. Rapid iterative development with Tilt
- 4.1.2. Repository Layout
- 4.1.3. Controllers
❱
- 4.1.3.1. Cluster
- 4.1.3.2. ClusterTopology
- 4.1.3.3. ClusterResourceSet
- 4.1.3.4. MachineDeployment
- 4.1.3.5. MachineSet
- 4.1.3.6. Machine
- 4.1.3.7. MachinePool
- 4.1.3.8. MachineHealthCheck
- 4.1.4. Logging
- 4.1.5. Testing
- 4.1.6. Developing E2E tests
- 4.1.7. Tuning controllers
- 4.1.8. Support multiple instances
- 4.2. Developing providers
❱
- 4.2.1. Getting started
❱
- 4.2.1.1. Naming
- 4.2.1.2. Initialize Repo and API types
- 4.2.1.3. Implement API types
- 4.2.1.4. Webhooks
- 4.2.1.5. Controllers and Reconciliation
- 4.2.1.6. Configure the provider manifest
- 4.2.1.7. Building, Running, Testing
- 4.2.2. Provider contracts
❱
- 4.2.2.1. InfraCluster
- 4.2.2.2. InfraMachine
- 4.2.2.3. InfraMachinePool
- 4.2.2.4. BootstrapConfig
- 4.2.2.5. ControlPlane
- 4.2.2.6. clusterctl
- 4.2.2.7. IPAM
- 4.2.3. Best practices
- 4.2.4. Security guidelines
- 4.2.5. Version migration
❱
- 4.2.5.1. v1.11 to v1.12
- 4.2.5.2. v1.12 to v1.13
- 4.2.5.3. v1.13 to v1.14
- 5. Troubleshooting
- 6. Reference
❱
- 6.1. API Reference
❱
- 6.1.1. Labels and Annotations
- 6.1.2. CRD relationships
- 6.1.3. Metadata propagation
- 6.1.4. Owner References
- 6.1.5. CRD API Reference (v1beta2)
- 6.1.6. CRD API Reference (deprecated versions)
- 6.2. Glossary
- 6.3. Provider List
- 6.4. Ports
- 6.5. Code of Conduct
- 6.6. Contributing
- 6.7. Code Review in Cluster API
- 6.8. Version Support