https://github.com/kubernetes-sigs/cluster-api-provider-vsphere l Bare Metal, https://github.com/metal3-io/cluster-api-provider-baremetal l Azure, https://github.com/kubernetes-sigs/cluster-api-provider-azure l IBM Cloud, https://github.com/kubernetes-sigs/cluster-api-provider-ibmcloud l OpenStack, https://github.com/kubernetes-sigs/cluster-api-provider-openstack l GCP, https://github.com/kubernetes-sigs/cluster-api-provider-gcp l DigitalOcean, https://github.com/kubernetes-sigs/cluster-api-provider-digitalocean l Exoscale, https://github.com/exoscale/cluster-api-provider-exoscale l Talos, https://github.com/talos-systems/cluster-api-provider-talos l Baidu Cloud, https://github.com/baidu/cluster-api-provider-baiducloud l Tencent Cloud, https://github.com/TencentCloud/cluster-api-provider-tencent
/// [Actuator] // Actuator controls clusters on a specific infrastructure. All // methods should be idempotent unless otherwise specified. type Actuator interface { // Reconcile creates or applies updates to the cluster. Reconcile(*clusterv1.Cluster) error // Delete the cluster. Delete(*clusterv1.Cluster) error } /// [Actuator] vendor/sigs.k8s.io/cluster-api/pkg//controller/cluster/actuator.go
lExists /// [Actuator] // Actuator controls machines on a specific infrastructure. All // methods should be idempotent unless otherwise specified. type Actuator interface { // Create the machine. Create(context.Context, *clusterv1.Cluster, *clusterv1.Machine) error // Delete the machine. If no error is returned, it is assumed that all dependent resources have been cleaned up. Delete(context.Context, *clusterv1.Cluster, *clusterv1.Machine) error // Update the machine to the provided definition. Update(context.Context, *clusterv1.Cluster, *clusterv1.Machine) error // Checks if the machine currently exists. Exists(context.Context, *clusterv1.Cluster, *clusterv1.Machine) (bool, error) } /// [Actuator] vendor/sigs.k8s.io/cluster-api/pkg//controller/machine/actuator.go