From 315c67a8a0ef327bc25b5b72bc2ea535af9c72e5 Mon Sep 17 00:00:00 2001 From: Alexandr Demicev Date: Tue, 14 Nov 2023 19:01:31 +0100 Subject: [PATCH] Add RKE2 bootstrap provider to clusterctl Signed-off-by: Alexandr Demicev --- cmd/clusterctl/client/config/providers_client.go | 12 ++++++++++++ cmd/clusterctl/client/config_test.go | 4 ++++ cmd/clusterctl/cmd/config_repositories_test.go | 10 ++++++++++ 3 files changed, 26 insertions(+) diff --git a/cmd/clusterctl/client/config/providers_client.go b/cmd/clusterctl/client/config/providers_client.go index 0c72e5b148cb..f74a58e4f7d4 100644 --- a/cmd/clusterctl/client/config/providers_client.go +++ b/cmd/clusterctl/client/config/providers_client.go @@ -72,6 +72,7 @@ const ( MicroK8sBootstrapProviderName = "microk8s" OracleCloudNativeBootstrapProviderName = "ocne" KubeKeyK3sBootstrapProviderName = "kubekey-k3s" + RKE2BootstrapProviderName = "rke2" ) // ControlPlane providers. @@ -83,6 +84,7 @@ const ( OracleCloudNativeControlPlaneProviderName = "ocne" KubeKeyK3sControlPlaneProviderName = "kubekey-k3s" KamajiControlPlaneProviderName = "kamaji" + RKE2ControlPlaneProviderName = "rke2" ) // Add-on providers. @@ -295,6 +297,11 @@ func (p *providersClient) defaults() []Provider { url: "https://github.com/verrazzano/cluster-api-provider-ocne/releases/latest/bootstrap-components.yaml", providerType: clusterctlv1.BootstrapProviderType, }, + &provider{ + name: RKE2BootstrapProviderName, + url: "https://github.com/rancher-sandbox/cluster-api-provider-rke2/releases/latest/bootstrap-components.yaml", + providerType: clusterctlv1.BootstrapProviderType, + }, // ControlPlane providers &provider{ @@ -332,6 +339,11 @@ func (p *providersClient) defaults() []Provider { url: "https://github.com/clastix/cluster-api-control-plane-provider-kamaji/releases/latest/control-plane-components.yaml", providerType: clusterctlv1.ControlPlaneProviderType, }, + &provider{ + name: RKE2ControlPlaneProviderName, + url: "https://github.com/rancher-sandbox/cluster-api-provider-rke2/releases/latest/control-plane-components.yaml", + providerType: clusterctlv1.ControlPlaneProviderType, + }, // Add-on providers &provider{ diff --git a/cmd/clusterctl/client/config_test.go b/cmd/clusterctl/client/config_test.go index 947bd18bbe1e..f8beeee2bf44 100644 --- a/cmd/clusterctl/client/config_test.go +++ b/cmd/clusterctl/client/config_test.go @@ -61,6 +61,7 @@ func Test_clusterctlClient_GetProvidersConfig(t *testing.T) { config.KubeKeyK3sBootstrapProviderName, config.MicroK8sBootstrapProviderName, config.OracleCloudNativeBootstrapProviderName, + config.RKE2BootstrapProviderName, config.TalosBootstrapProviderName, config.KamajiControlPlaneProviderName, config.KubeadmControlPlaneProviderName, @@ -68,6 +69,7 @@ func Test_clusterctlClient_GetProvidersConfig(t *testing.T) { config.MicroK8sControlPlaneProviderName, config.NestedControlPlaneProviderName, config.OracleCloudNativeControlPlaneProviderName, + config.RKE2ControlPlaneProviderName, config.TalosControlPlaneProviderName, config.AWSProviderName, config.AzureProviderName, @@ -112,6 +114,7 @@ func Test_clusterctlClient_GetProvidersConfig(t *testing.T) { config.KubeKeyK3sBootstrapProviderName, config.MicroK8sBootstrapProviderName, config.OracleCloudNativeBootstrapProviderName, + config.RKE2BootstrapProviderName, config.TalosBootstrapProviderName, config.KamajiControlPlaneProviderName, config.KubeadmControlPlaneProviderName, @@ -119,6 +122,7 @@ func Test_clusterctlClient_GetProvidersConfig(t *testing.T) { config.MicroK8sControlPlaneProviderName, config.NestedControlPlaneProviderName, config.OracleCloudNativeControlPlaneProviderName, + config.RKE2ControlPlaneProviderName, config.TalosControlPlaneProviderName, config.AWSProviderName, config.AzureProviderName, diff --git a/cmd/clusterctl/cmd/config_repositories_test.go b/cmd/clusterctl/cmd/config_repositories_test.go index 7ac413e191b6..2b419abc81e2 100644 --- a/cmd/clusterctl/cmd/config_repositories_test.go +++ b/cmd/clusterctl/cmd/config_repositories_test.go @@ -109,6 +109,7 @@ kubeadm BootstrapProvider https://github.com/kubernetes-sigs/ kubekey-k3s BootstrapProvider https://github.com/kubesphere/kubekey/releases/latest/ bootstrap-components.yaml microk8s BootstrapProvider https://github.com/canonical/cluster-api-bootstrap-provider-microk8s/releases/latest/ bootstrap-components.yaml ocne BootstrapProvider https://github.com/verrazzano/cluster-api-provider-ocne/releases/latest/ bootstrap-components.yaml +rke2 BootstrapProvider https://github.com/rancher-sandbox/cluster-api-provider-rke2/releases/latest/ bootstrap-components.yaml talos BootstrapProvider https://github.com/siderolabs/cluster-api-bootstrap-provider-talos/releases/latest/ bootstrap-components.yaml kamaji ControlPlaneProvider https://github.com/clastix/cluster-api-control-plane-provider-kamaji/releases/latest/ control-plane-components.yaml kubeadm ControlPlaneProvider https://github.com/kubernetes-sigs/cluster-api/releases/latest/ control-plane-components.yaml @@ -116,6 +117,7 @@ kubekey-k3s ControlPlaneProvider https://github.com/kubesphere/kubek microk8s ControlPlaneProvider https://github.com/canonical/cluster-api-control-plane-provider-microk8s/releases/latest/ control-plane-components.yaml nested ControlPlaneProvider https://github.com/kubernetes-sigs/cluster-api-provider-nested/releases/latest/ control-plane-components.yaml ocne ControlPlaneProvider https://github.com/verrazzano/cluster-api-provider-ocne/releases/latest/ control-plane-components.yaml +rke2 ControlPlaneProvider https://github.com/rancher-sandbox/cluster-api-provider-rke2/releases/latest/ control-plane-components.yaml talos ControlPlaneProvider https://github.com/siderolabs/cluster-api-control-plane-provider-talos/releases/latest/ control-plane-components.yaml aws InfrastructureProvider my-aws-infrastructure-components.yaml azure InfrastructureProvider https://github.com/kubernetes-sigs/cluster-api-provider-azure/releases/latest/ infrastructure-components.yaml @@ -171,6 +173,10 @@ var expectedOutputYaml = `- File: core_components.yaml Name: ocne ProviderType: BootstrapProvider URL: https://github.com/verrazzano/cluster-api-provider-ocne/releases/latest/ +- File: bootstrap-components.yaml + Name: rke2 + ProviderType: BootstrapProvider + URL: https://github.com/rancher-sandbox/cluster-api-provider-rke2/releases/latest/ - File: bootstrap-components.yaml Name: talos ProviderType: BootstrapProvider @@ -199,6 +205,10 @@ var expectedOutputYaml = `- File: core_components.yaml Name: ocne ProviderType: ControlPlaneProvider URL: https://github.com/verrazzano/cluster-api-provider-ocne/releases/latest/ +- File: control-plane-components.yaml + Name: rke2 + ProviderType: ControlPlaneProvider + URL: https://github.com/rancher-sandbox/cluster-api-provider-rke2/releases/latest/ - File: control-plane-components.yaml Name: talos ProviderType: ControlPlaneProvider