Skip to content

Commit 26fba0d

Browse files
authored
Merge pull request kubernetes-sigs#9991 from makhov/k0smotron-provider
✨ Add k0smotron provider
2 parents 28f0335 + ca316ab commit 26fba0d

File tree

5 files changed

+102
-46
lines changed

5 files changed

+102
-46
lines changed

cmd/clusterctl/client/config/providers_client.go

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ const (
6464
VirtinkProviderName = "virtink"
6565
CoxEdgeProviderName = "coxedge"
6666
ProxmoxProviderName = "proxmox"
67+
K0smotronProviderName = "k0sproject-k0smotron"
6768
)
6869

6970
// Bootstrap providers.
@@ -74,6 +75,7 @@ const (
7475
OracleCloudNativeBootstrapProviderName = "ocne"
7576
KubeKeyK3sBootstrapProviderName = "kubekey-k3s"
7677
RKE2BootstrapProviderName = "rke2"
78+
K0smotronBootstrapProviderName = "k0sproject-k0smotron"
7779
)
7880

7981
// ControlPlane providers.
@@ -86,6 +88,7 @@ const (
8688
KubeKeyK3sControlPlaneProviderName = "kubekey-k3s"
8789
KamajiControlPlaneProviderName = "kamaji"
8890
RKE2ControlPlaneProviderName = "rke2"
91+
K0smotronControlPlaneProviderName = "k0sproject-k0smotron"
8992
)
9093

9194
// Add-on providers.
@@ -276,6 +279,11 @@ func (p *providersClient) defaults() []Provider {
276279
url: "https://github.com/ionos-cloud/cluster-api-provider-proxmox/releases/latest/infrastructure-components.yaml",
277280
providerType: clusterctlv1.InfrastructureProviderType,
278281
},
282+
&provider{
283+
name: K0smotronProviderName,
284+
url: "https://github.com/k0sproject/k0smotron/releases/latest/infrastructure-components.yaml",
285+
providerType: clusterctlv1.InfrastructureProviderType,
286+
},
279287

280288
// Bootstrap providers
281289
&provider{
@@ -308,6 +316,11 @@ func (p *providersClient) defaults() []Provider {
308316
url: "https://github.com/rancher-sandbox/cluster-api-provider-rke2/releases/latest/bootstrap-components.yaml",
309317
providerType: clusterctlv1.BootstrapProviderType,
310318
},
319+
&provider{
320+
name: K0smotronBootstrapProviderName,
321+
url: "https://github.com/k0sproject/k0smotron/releases/latest/bootstrap-components.yaml",
322+
providerType: clusterctlv1.BootstrapProviderType,
323+
},
311324

312325
// ControlPlane providers
313326
&provider{
@@ -350,6 +363,11 @@ func (p *providersClient) defaults() []Provider {
350363
url: "https://github.com/rancher-sandbox/cluster-api-provider-rke2/releases/latest/control-plane-components.yaml",
351364
providerType: clusterctlv1.ControlPlaneProviderType,
352365
},
366+
&provider{
367+
name: K0smotronControlPlaneProviderName,
368+
url: "https://github.com/k0sproject/k0smotron/releases/latest/control-plane-components.yaml",
369+
providerType: clusterctlv1.ControlPlaneProviderType,
370+
},
353371

354372
// Add-on providers
355373
&provider{

cmd/clusterctl/client/config_test.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,12 +57,14 @@ func Test_clusterctlClient_GetProvidersConfig(t *testing.T) {
5757
// note: these will be sorted by name by the Providers() call, so be sure they are in alphabetical order here too
5858
wantProviders: []string{
5959
config.ClusterAPIProviderName,
60+
config.K0smotronBootstrapProviderName,
6061
config.KubeadmBootstrapProviderName,
6162
config.KubeKeyK3sBootstrapProviderName,
6263
config.MicroK8sBootstrapProviderName,
6364
config.OracleCloudNativeBootstrapProviderName,
6465
config.RKE2BootstrapProviderName,
6566
config.TalosBootstrapProviderName,
67+
config.K0smotronControlPlaneProviderName,
6668
config.KamajiControlPlaneProviderName,
6769
config.KubeadmControlPlaneProviderName,
6870
config.KubeKeyK3sControlPlaneProviderName,
@@ -82,6 +84,7 @@ func Test_clusterctlClient_GetProvidersConfig(t *testing.T) {
8284
config.HetznerProviderName,
8385
config.IBMCloudProviderName,
8486
config.InMemoryProviderName,
87+
config.K0smotronProviderName,
8588
config.KubeKeyProviderName,
8689
config.KubevirtProviderName,
8790
config.MAASProviderName,
@@ -111,12 +114,14 @@ func Test_clusterctlClient_GetProvidersConfig(t *testing.T) {
111114
wantProviders: []string{
112115
config.ClusterAPIProviderName,
113116
customProviderConfig.Name(),
117+
config.K0smotronBootstrapProviderName,
114118
config.KubeadmBootstrapProviderName,
115119
config.KubeKeyK3sBootstrapProviderName,
116120
config.MicroK8sBootstrapProviderName,
117121
config.OracleCloudNativeBootstrapProviderName,
118122
config.RKE2BootstrapProviderName,
119123
config.TalosBootstrapProviderName,
124+
config.K0smotronControlPlaneProviderName,
120125
config.KamajiControlPlaneProviderName,
121126
config.KubeadmControlPlaneProviderName,
122127
config.KubeKeyK3sControlPlaneProviderName,
@@ -136,6 +141,7 @@ func Test_clusterctlClient_GetProvidersConfig(t *testing.T) {
136141
config.HetznerProviderName,
137142
config.IBMCloudProviderName,
138143
config.InMemoryProviderName,
144+
config.K0smotronProviderName,
139145
config.KubeKeyProviderName,
140146
config.KubevirtProviderName,
141147
config.MAASProviderName,

0 commit comments

Comments
 (0)