# Packages
Package index provides indexes for the api.
# Functions
PopulateDefaultsMachineDeployment fills in default field values.
SetMinNodeStartupTimeout allows users to optionally set a custom timeout for the validation webhook.
# Constants
BootstrapReadyCondition reports a summary of current status of the bootstrap object defined for this machine.
BootstrapTemplateCloningFailedReason (Severity=Error) documents a MachineSet failing to clone the bootstrap template.
ClusterFinalizer is the finalizer used by the cluster controller to cleanup the cluster resources when a Cluster is being deleted.
ClusterLabelName is the label set on machines linked to a cluster and external objects(bootstrap and infrastructure providers).
ClusterNameAnnotation is the annotation set on nodes identifying the name of the cluster the node belongs to.
ClusterNamespaceAnnotation is the annotation set on nodes identifying the namespace of the cluster the node belongs to.
ClusterPhaseDeleting is the Cluster state when a delete request has been sent to the API Server, but its infrastructure has not yet been fully deleted.
ClusterPhaseFailed is the Cluster state when the system might require user intervention.
ClusterPhasePending is the first state a Cluster is assigned by Cluster API Cluster controller after being created.
ClusterPhaseProvisioned is the state when its infrastructure has been created and configured.
ClusterPhaseProvisioning is the state when the Cluster has a provider infrastructure object associated and can start provisioning.
ClusterPhaseUnknown is returned if the Cluster state cannot be determined.
nolint:gosec.
ClusterTopologyLabelName is the label set on all the object which are managed as part of a ClusterTopology.
ClusterTopologyMachineDeploymentLabelName is the label set on the generated MachineDeployment objects to track the name of the MachineDeployment topology it represents.
ClusterTopologyOwnedLabel is the label set on all the object which are managed as part of a ClusterTopology.
ConditionSeverityError specifies that a condition with `Status=False` is an error.
ConditionSeverityInfo specifies that a condition with `Status=False` is informative.
ConditionSeverityNone should apply only to conditions with `Status=True`.
ConditionSeverityWarning specifies that a condition with `Status=False` is a warning.
ControlPlaneInitializedCondition reports if the cluster's control plane has been initialized such that the cluster's apiserver is reachable and at least one control plane Machine has a node reference.
ControlPlaneReadyCondition reports the ready condition from the control plane object defined for this cluster.
DeletedReason (Severity=Info) documents an condition not in Status=True because the underlying object was deleted.
DeleteMachineAnnotation marks control plane and worker nodes that will be given priority for deletion when KCP or a machineset scales down.
DeletingReason (Severity=Info) documents an condition not in Status=True because the underlying object it is currently being deleted.
DeletionFailedReason (Severity=Warning) documents an condition not in Status=True because the underlying object encountered problems during deletion.
DesiredReplicasAnnotation is the desired replicas for a machine deployment recorded as an annotation in its machine sets.
DisableMachineCreate is an annotation that can be used to signal a MachineSet to stop creating new machines.
DrainingFailedReason (Severity=Warning) documents a machine node drain operation failed.
DrainingReason (Severity=Info) documents a machine node being drained.
DrainingSucceededCondition provide evidence of the status of the node drain operation which happens during the machine deletion process.
Define the ClusterIPFamily constants.
ExcludeNodeDrainingAnnotation annotation explicitly skips node draining if set.
ExternalRemediationRequestAvailable is set on machinehealthchecks when MachineHealthCheck controller uses external remediation.
ExternalRemediationRequestCreationFailed is the reason used when a machine health check fails to create external remediation request.
ExternalRemediationTemplateAvailable is set on machinehealthchecks when MachineHealthCheck controller uses external remediation.
ExternalRemediationTemplateNotFound is the reason used when a machine health check fails to find external remediation template.
IncorrectExternalRefReason (Severity=Error) documents a CAPI object with an incorrect external object reference.
InfrastructureReadyCondition reports a summary of current status of the infrastructure object defined for this cluster/machine/machinepool.
InfrastructureTemplateCloningFailedReason (Severity=Error) documents a MachineSet failing to clone the infrastructure template.
InterruptibleLabel is the label used to mark the nodes that run on interruptible instances.
Define the ClusterIPFamily constants.
Define the ClusterIPFamily constants.
Define the ClusterIPFamily constants.
MachineAnnotation is the annotation set on nodes identifying the machine the node belongs to.
MachineControlPlaneLabelName is the label set on machines or related objects that are part of a control plane.
MachineCreationFailedReason (Severity=Error) documents a MachineSet failing to generate a machine object.
MachineDeploymentAvailableCondition means the MachineDeployment is available, that is, at least the minimum available machines required (i.e.
MachineDeploymentLabelName is the label set on machines if they're controlled by MachineDeployment.
MachineDeploymentPhaseFailed indicates there was a problem scaling and user intervention might be required.
MachineDeploymentPhaseRunning indicates scaling has completed and all Machines are running.
MachineDeploymentPhaseScalingDown indicates the MachineDeployment is scaling down.
MachineDeploymentPhaseScalingUp indicates the MachineDeployment is scaling up.
MachineDeploymentPhaseUnknown indicates the state of the MachineDeployment cannot be determined.
MachineDeploymentTopologyFinalizer is the finalizer used by the topology MachineDeployment controller to clean up referenced template resources if necessary when a MachineDeployment is being deleted.
MachineDeploymentUniqueLabel is the label applied to Machines in a MachineDeployment containing the hash of the template.
Define the MachineAddressType constants.
Define the MachineAddressType constants.
MachineFinalizer is set on PrepareForCreate callback.
MachineHasFailureReason is the reason used when a machine has either a FailureReason or a FailureMessage set on its status.
MachineHealthCheckSuccededCondition is set on machines that have passed a healthcheck by the MachineHealthCheck controller.
Define the MachineAddressType constants.
Define the MachineAddressType constants.
Define the MachineAddressType constants.
MachineNodeHealthyCondition provides info about the operational state of the Kubernetes node hosted on the machine by summarizing node conditions.
MachineNodeNameIndex is used by the Machine Controller to index Machines by Node name, and add a watch on Nodes.
MachineOwnerRemediatedCondition is set on machines that have failed a healthcheck by the MachineHealthCheck controller.
MachinePhaseDeleted is the Machine state when the object and the related infrastructure is deleted and ready to be garbage collected by the API Server.
MachinePhaseDeleting is the Machine state when a delete request has been sent to the API Server, but its infrastructure has not yet been fully deleted.
MachinePhaseFailed is the Machine state when the system might require user intervention.
MachinePhasePending is the first state a Machine is assigned by Cluster API Machine controller after being created.
MachinePhaseProvisioned is the state when its infrastructure has been created and configured.
MachinePhaseProvisioning is the state when the Machine infrastructure is being created.
MachinePhaseRunning is the Machine state when it has become a Kubernetes Node in a Ready state.
MachinePhaseUnknown is returned if the Machine state cannot be determined.
MachineProviderIDIndex is used to index Machines by ProviderID.
MachinesCreatedCondition documents that the machines controlled by the MachineSet are created.
MachineSetLabelName is the label set on machines if they're controlled by MachineSet.
MachineSetTopologyFinalizer is the finalizer used by the topology MachineDeployment controller to clean up referenced template resources if necessary when a MachineSet is being deleted.
MachineSkipRemediationAnnotation is the annotation used to mark the machines that should not be considered for remediation by MachineHealthCheck reconciler.
MachinesReadyCondition reports an aggregate of current status of the machines controlled by the MachineSet.
ManagedByAnnotation is an annotation that can be applied to InfraCluster resources to signify that some external system is managing the cluster infrastructure.
MaxReplicasAnnotation is the maximum replicas a deployment can have at a given point, which is machinedeployment.spec.replicas + maxSurge.
MissingNodeRefReason (Severity=Info) documents a cluster waiting for at least one control plane Machine to have its node reference populated.
NewestMachineSetDeletePolicy prioritizes both Machines that have the annotation "cluster.x-k8s.io/delete-machine=yes" and Machines that are unhealthy (Status.FailureReason or Status.FailureMessage are set to a non-empty value).
NodeConditionsFailedReason (Severity=Warning) documents a node is not in a healthy state due to the failed state of at least 1 Kubelet condition.
NodeNotFoundReason (Severity=Error) documents a machine's node has previously been observed but is now gone.
NodeProvisioningReason (Severity=Info) documents machine in the process of provisioning a node.
NodeStartupTimeoutReason is the reason used when a machine's node does not appear within the specified timeout.
OldestMachineSetDeletePolicy prioritizes both Machines that have the annotation "cluster.x-k8s.io/delete-machine=yes" and Machines that are unhealthy (Status.FailureReason or Status.FailureMessage are set to a non-empty value).
OnDeleteMachineDeploymentStrategyType replaces old MachineSets when the deletion of the associated machines are completed.
OwnerKindAnnotation is the annotation set on nodes identifying the owner kind.
OwnerNameAnnotation is the annotation set on nodes identifying the owner name.
PausedAnnotation is an annotation that can be applied to any Cluster API object to prevent a controller from processing a resource.
PreDrainDeleteHookAnnotationPrefix annotation specifies the prefix we search each annotation for during the pre-drain.delete lifecycle hook to pause reconciliation of deletion.
PreDrainDeleteHookSucceededCondition reports a machine waiting for a PreDrainDeleteHook before being delete.
PreTerminateDeleteHookAnnotationPrefix annotation specifies the prefix we search each annotation for during the pre-terminate.delete lifecycle hook to pause reconciliation of deletion.
PreTerminateDeleteHookSucceededCondition reports a machine waiting for a PreDrainDeleteHook before being delete.
ProviderLabelName is the label set on components in the provider manifest.
RandomMachineSetDeletePolicy prioritizes both Machines that have the annotation "cluster.x-k8s.io/delete-machine=yes" and Machines that are unhealthy (Status.FailureReason or Status.FailureMessage are set to a non-empty value).
ReadyCondition defines the Ready condition type that summarizes the operational state of a Cluster API object.
RemediationAllowedCondition is set on MachineHealthChecks to show the status of whether the MachineHealthCheck is allowed to remediate any Machines or whether it is blocked from remediating any further.
RemediationFailedReason is the reason used when a remediation owner fails to remediate an unhealthy machine.
RemediationInProgressReason is the reason used when an unhealthy machine is being remediated by the remediation owner.
ResizedCondition documents a MachineSet is resizing the set of controlled machines.
RevisionAnnotation is the revision annotation of a machine deployment's machine sets which records its rollout sequence.
RevisionHistoryAnnotation maintains the history of all old revisions that a machine set has served for a machine deployment.
RollingUpdateMachineDeploymentStrategyType replaces the old MachineSet by new one using rolling update i.e.
ScalingDownReason (Severity=Info) documents a MachineSet is decreasing the number of replicas.
ScalingUpReason (Severity=Info) documents a MachineSet is increasing the number of replicas.
TemplateClonedFromGroupKindAnnotation is the infrastructure machine annotation that stores the group-kind of the infrastructure template resource that was cloned for the machine.
TemplateClonedFromNameAnnotation is the infrastructure machine annotation that stores the name of the infrastructure template resource that was cloned for the machine.
TemplateSuffix is the object kind suffix used by template types.
TooManyUnhealthyReason is the reason used when too many Machines are unhealthy and the MachineHealthCheck is blocked from making any further remediations.
UnhealthyNodeConditionReason is the reason used when a machine's node has one of the MachineHealthCheck's unhealthy conditions.
VolumeDetachSucceededCondition reports a machine waiting for volumes to be detached.
WaitingExternalHookReason (Severity=Info) provide evidence that we are waiting for an external hook to complete.
WaitingForAvailableMachinesReason (Severity=Warning) reflects the fact that the required minimum number of machines for a machinedeployment are not available.
WaitingForControlPlaneAvailableReason (Severity=Info) documents a Cluster API object waiting for the control plane machine to be available.
WaitingForControlPlaneFallbackReason (Severity=Info) documents a cluster waiting for the control plane to be available.
WaitingForControlPlaneProviderInitializedReason (Severity=Info) documents a cluster waiting for the control plane provider to report successful control plane initialization.
WaitingForDataSecretFallbackReason (Severity=Info) documents a machine waiting for the bootstrap data secret to be available.
WaitingForInfrastructureFallbackReason (Severity=Info) documents a cluster/machine/machinepool waiting for the underlying infrastructure to be available.
WaitingForNodeRefReason (Severity=Info) documents a machine.spec.providerId is not assigned yet.
WaitingForRemediationReason is the reason used when a machine fails a health check and remediation is needed.
WaitingForVolumeDetachReason (Severity=Info) provide evidence that a machine node waiting for volumes to be attached.
WatchLabel is a label othat can be applied to any Cluster API object.
# Variables
AddToScheme adds the types in this group-version to the given scheme.
DefaultNodeStartupTimeout is the time allowed for a node to start up.
GroupVersion is group version used to register these objects.
SchemeBuilder is used to add go types to the GroupVersionKind scheme.
ZeroDuration is a zero value of the metav1.Duration type.
# Structs
APIEndpoint represents a reachable Kubernetes API endpoint.
Bootstrap encapsulates fields to configure the Machine’s bootstrapping mechanism.
Cluster is the Schema for the clusters API.
ClusterClass is a template which can be used to create managed topologies.
ClusterClassList contains a list of Cluster.
ClusterClassSpec describes the desired state of the ClusterClass.
ClusterList contains a list of Cluster.
ClusterNetwork specifies the different networking parameters for a cluster.
ClusterSpec defines the desired state of Cluster.
ClusterStatus defines the observed state of Cluster.
Condition defines an observation of a Cluster API resource operational state.
ControlPlaneClass defines the class for the control plane.
ControlPlaneTopology specifies the parameters for the control plane nodes in the cluster.
FailureDomainSpec is the Schema for Cluster API failure domains.
LocalObjectTemplate defines a template for a topology Class.
Machine is the Schema for the machines API.
MachineAddress contains information for the node's address.
MachineDeployment is the Schema for the machinedeployments API.
MachineDeploymentClass serves as a template to define a set of worker nodes of the cluster provisioned using the `ClusterClass`.
MachineDeploymentClassTemplate defines how a MachineDeployment generated from a MachineDeploymentClass should look like.
MachineDeploymentList contains a list of MachineDeployment.
MachineDeploymentSpec defines the desired state of MachineDeployment.
MachineDeploymentStatus defines the observed state of MachineDeployment.
MachineDeploymentStrategy describes how to replace existing machines with new ones.
MachineDeploymentTopology specifies the different parameters for a set of worker nodes in the topology.
MachineHealthCheck is the Schema for the machinehealthchecks API.
MachineHealthCheckList contains a list of MachineHealthCheck.
MachineHealthCheckSpec defines the desired state of MachineHealthCheck.
MachineHealthCheckStatus defines the observed state of MachineHealthCheck.
MachineList contains a list of Machine.
MachineRollingUpdateDeployment is used to control the desired behavior of rolling update.
MachineSet is the Schema for the machinesets API.
MachineSetList contains a list of MachineSet.
MachineSetSpec defines the desired state of MachineSet.
MachineSetStatus defines the observed state of MachineSet.
MachineSpec defines the desired state of Machine.
MachineStatus defines the observed state of Machine.
MachineTemplateSpec describes the data needed to create a Machine from a template.
NetworkRanges represents ranges of network addresses.
ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.
Topology encapsulates the information of the managed resources.
UnhealthyCondition represents a Node condition type and value with a timeout specified as a duration.
WorkersClass is a collection of deployment classes.
WorkersTopology represents the different sets of worker nodes in the cluster.
# Type aliases
ClusterIPFamily defines the types of supported IP families.
ClusterPhase is a string representation of a Cluster Phase.
Conditions provide observations of the operational state of a Cluster API resource.
ConditionSeverity expresses the severity of a Condition Type failing.
ConditionType is a valid value for Condition.Type.
FailureDomains is a slice of FailureDomains.
MachineAddresses is a slice of MachineAddress items to be used by infrastructure providers.
MachineAddressType describes a valid MachineAddress type.
MachineDeploymentPhase indicates the progress of the machine deployment.
MachineDeploymentStrategyType defines the type of MachineDeployment rollout strategies.
MachinePhase is a string representation of a Machine Phase.
MachineSetDeletePolicy defines how priority is assigned to nodes to delete when downscaling a MachineSet.