Import Strategy
CAAPF follows a simple import strategy for CAPI clusters:
- Each CAPI cluster has a corresponding Fleet
Clusterobject. - Each CAPI Cluster Class has a corresponding Fleet
ClusterGroupobject. - When a CAPI
Clusterreferences aClusterClassin a different namespace, aClusterGroupis created in theClusternamespace. ThisClusterGrouptargets all clusters in this namespace that reference the sameClusterClass. See the configuration section for details. - If at least one CAPI
Clusterreferences aClusterClassin a different namespace, aBundleNamespaceMappingis created in theClusterClassnamespace. This allows FleetClusterresources to use application sources such asBundles,HelmOps, orGitReposfrom theClusterClassnamespace as if they were deployed in theClusternamespace. See the configuration section for details.
By default, CAAPF imports all CAPI clusters under Fleet management. See the configuration section for details.
Label Synchronization
Fleet relies on Cluster labels, Cluster names, and ClusterGroups for target matching when deploying applications or referenced repository content. To ensure consistency, CAAPF synchronizes resource labels:
- From the CAPI
ClusterClassto the imported FleetClusterresource. - From the CAPI
ClusterClassto the imported FleetClusterGroupresource.
When a CAPI Cluster references a ClusterClass, CAAPF applies two specific labels to both the Cluster and ClusterGroup resources:
clusterclass-name.fleet.addons.cluster.x-k8s.io: <class-name>clusterclass-namespace.fleet.addons.cluster.x-k8s.io: <class-ns>