Skip to content

Commit d9f77f9

Browse files
committed
add canonical kubernetes providers
1 parent ccc430f commit d9f77f9

File tree

4 files changed

+44
-16
lines changed

4 files changed

+44
-16
lines changed

cmd/clusterctl/client/config/providers_client.go

+28-16
Original file line numberDiff line numberDiff line change
@@ -74,26 +74,28 @@ const (
7474

7575
// Bootstrap providers.
7676
const (
77-
KubeadmBootstrapProviderName = "kubeadm"
78-
TalosBootstrapProviderName = "talos"
79-
MicroK8sBootstrapProviderName = "microk8s"
80-
OracleCloudNativeBootstrapProviderName = "ocne"
81-
KubeKeyK3sBootstrapProviderName = "kubekey-k3s"
82-
RKE2BootstrapProviderName = "rke2"
83-
K0smotronBootstrapProviderName = "k0sproject-k0smotron"
77+
KubeadmBootstrapProviderName = "kubeadm"
78+
TalosBootstrapProviderName = "talos"
79+
MicroK8sBootstrapProviderName = "microk8s"
80+
OracleCloudNativeBootstrapProviderName = "ocne"
81+
KubeKeyK3sBootstrapProviderName = "kubekey-k3s"
82+
RKE2BootstrapProviderName = "rke2"
83+
K0smotronBootstrapProviderName = "k0sproject-k0smotron"
84+
CanonicalKubernetesBootstrapProviderName = "canonical-kubernetes"
8485
)
8586

8687
// ControlPlane providers.
8788
const (
88-
KubeadmControlPlaneProviderName = "kubeadm"
89-
TalosControlPlaneProviderName = "talos"
90-
MicroK8sControlPlaneProviderName = "microk8s"
91-
NestedControlPlaneProviderName = "nested"
92-
OracleCloudNativeControlPlaneProviderName = "ocne"
93-
KubeKeyK3sControlPlaneProviderName = "kubekey-k3s"
94-
KamajiControlPlaneProviderName = "kamaji"
95-
RKE2ControlPlaneProviderName = "rke2"
96-
K0smotronControlPlaneProviderName = "k0sproject-k0smotron"
89+
KubeadmControlPlaneProviderName = "kubeadm"
90+
TalosControlPlaneProviderName = "talos"
91+
MicroK8sControlPlaneProviderName = "microk8s"
92+
NestedControlPlaneProviderName = "nested"
93+
OracleCloudNativeControlPlaneProviderName = "ocne"
94+
KubeKeyK3sControlPlaneProviderName = "kubekey-k3s"
95+
KamajiControlPlaneProviderName = "kamaji"
96+
RKE2ControlPlaneProviderName = "rke2"
97+
K0smotronControlPlaneProviderName = "k0sproject-k0smotron"
98+
CanonicalKubernetesControlPlaneProviderName = "canonical-kubernetes"
9799
)
98100

99101
// IPAM providers.
@@ -356,6 +358,11 @@ func (p *providersClient) defaults() []Provider {
356358
url: "https://github.com/k0sproject/k0smotron/releases/latest/bootstrap-components.yaml",
357359
providerType: clusterctlv1.BootstrapProviderType,
358360
},
361+
&provider{
362+
name: CanonicalKubernetesBootstrapProviderName,
363+
url: "https://github.com/canonical/cluster-api-k8s/releases/latest/bootstrap-components.yaml",
364+
providerType: clusterctlv1.BootstrapProviderType,
365+
},
359366

360367
// ControlPlane providers
361368
&provider{
@@ -403,6 +410,11 @@ func (p *providersClient) defaults() []Provider {
403410
url: "https://github.com/k0sproject/k0smotron/releases/latest/control-plane-components.yaml",
404411
providerType: clusterctlv1.ControlPlaneProviderType,
405412
},
413+
&provider{
414+
name: CanonicalKubernetesControlPlaneProviderName,
415+
url: "https://github.com/canonical/cluster-api-k8s/releases/latest/control-plane-components.yaml",
416+
providerType: clusterctlv1.ControlPlaneProviderType,
417+
},
406418

407419
// IPAM providers
408420
&provider{

cmd/clusterctl/client/config_test.go

+4
Original file line numberDiff line numberDiff line change
@@ -57,13 +57,15 @@ 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.CanonicalKubernetesBootstrapProviderName,
6061
config.K0smotronBootstrapProviderName,
6162
config.KubeadmBootstrapProviderName,
6263
config.KubeKeyK3sBootstrapProviderName,
6364
config.MicroK8sBootstrapProviderName,
6465
config.OracleCloudNativeBootstrapProviderName,
6566
config.RKE2BootstrapProviderName,
6667
config.TalosBootstrapProviderName,
68+
config.CanonicalKubernetesControlPlaneProviderName,
6769
config.K0smotronControlPlaneProviderName,
6870
config.KamajiControlPlaneProviderName,
6971
config.KubeadmControlPlaneProviderName,
@@ -119,6 +121,7 @@ func Test_clusterctlClient_GetProvidersConfig(t *testing.T) {
119121
// note: these will be sorted by name by the Providers() call, so be sure they are in alphabetical order here too
120122
wantProviders: []string{
121123
config.ClusterAPIProviderName,
124+
config.CanonicalKubernetesBootstrapProviderName,
122125
customProviderConfig.Name(),
123126
config.K0smotronBootstrapProviderName,
124127
config.KubeadmBootstrapProviderName,
@@ -127,6 +130,7 @@ func Test_clusterctlClient_GetProvidersConfig(t *testing.T) {
127130
config.OracleCloudNativeBootstrapProviderName,
128131
config.RKE2BootstrapProviderName,
129132
config.TalosBootstrapProviderName,
133+
config.CanonicalKubernetesControlPlaneProviderName,
130134
config.K0smotronControlPlaneProviderName,
131135
config.KamajiControlPlaneProviderName,
132136
config.KubeadmControlPlaneProviderName,

cmd/clusterctl/cmd/config_repositories_test.go

+10
Original file line numberDiff line numberDiff line change
@@ -105,13 +105,15 @@ providers:
105105
var expectedOutputText = `NAME TYPE URL FILE
106106
cluster-api CoreProvider https://github.com/myorg/myforkofclusterapi/releases/latest/ core_components.yaml
107107
another-provider BootstrapProvider ./ bootstrap-components.yaml
108+
canonical-kubernetes BootstrapProvider https://github.com/canonical/cluster-api-k8s/releases/latest/ bootstrap-components.yaml
108109
k0sproject-k0smotron BootstrapProvider https://github.com/k0sproject/k0smotron/releases/latest/ bootstrap-components.yaml
109110
kubeadm BootstrapProvider https://github.com/kubernetes-sigs/cluster-api/releases/latest/ bootstrap-components.yaml
110111
kubekey-k3s BootstrapProvider https://github.com/kubesphere/kubekey/releases/latest/ bootstrap-components.yaml
111112
microk8s BootstrapProvider https://github.com/canonical/cluster-api-bootstrap-provider-microk8s/releases/latest/ bootstrap-components.yaml
112113
ocne BootstrapProvider https://github.com/verrazzano/cluster-api-provider-ocne/releases/latest/ bootstrap-components.yaml
113114
rke2 BootstrapProvider https://github.com/rancher/cluster-api-provider-rke2/releases/latest/ bootstrap-components.yaml
114115
talos BootstrapProvider https://github.com/siderolabs/cluster-api-bootstrap-provider-talos/releases/latest/ bootstrap-components.yaml
116+
canonical-kubernetes ControlPlaneProvider https://github.com/canonical/cluster-api-k8s/releases/latest/ control-plane-components.yaml
115117
k0sproject-k0smotron ControlPlaneProvider https://github.com/k0sproject/k0smotron/releases/latest/ control-plane-components.yaml
116118
kamaji ControlPlaneProvider https://github.com/clastix/cluster-api-control-plane-provider-kamaji/releases/latest/ control-plane-components.yaml
117119
kubeadm ControlPlaneProvider https://github.com/kubernetes-sigs/cluster-api/releases/latest/ control-plane-components.yaml
@@ -167,6 +169,10 @@ var expectedOutputYaml = `- File: core_components.yaml
167169
Name: another-provider
168170
ProviderType: BootstrapProvider
169171
URL: ./
172+
- File: bootstrap-components.yaml
173+
Name: canonical-kubernetes
174+
ProviderType: BootstrapProvider
175+
URL: https://github.com/canonical/cluster-api-k8s/releases/latest/
170176
- File: bootstrap-components.yaml
171177
Name: k0sproject-k0smotron
172178
ProviderType: BootstrapProvider
@@ -195,6 +201,10 @@ var expectedOutputYaml = `- File: core_components.yaml
195201
Name: talos
196202
ProviderType: BootstrapProvider
197203
URL: https://github.com/siderolabs/cluster-api-bootstrap-provider-talos/releases/latest/
204+
- File: control-plane-components.yaml
205+
Name: canonical-kubernetes
206+
ProviderType: ControlPlaneProvider
207+
URL: https://github.com/canonical/cluster-api-k8s/releases/latest/
198208
- File: control-plane-components.yaml
199209
Name: k0sproject-k0smotron
200210
ProviderType: ControlPlaneProvider

docs/book/src/reference/providers.md

+2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ updated info about which API version they are supporting.
77

88
## Bootstrap
99
- [Amazon Elastic Kubernetes Service (EKS)](https://github.com/kubernetes-sigs/cluster-api-provider-aws/tree/main/bootstrap/eks)
10+
- [Canonical Kubernetes](https://github.com/canonical/cluster-api-k8s)
1011
- [Kubeadm](https://github.com/kubernetes-sigs/cluster-api/tree/main/bootstrap/kubeadm)
1112
- [MicroK8s](https://github.com/canonical/cluster-api-bootstrap-provider-microk8s)
1213
- [Oracle Cloud Native Environment (OCNE)](https://github.com/verrazzano/cluster-api-provider-ocne)
@@ -15,6 +16,7 @@ updated info about which API version they are supporting.
1516
- [k0smotron/k0s](https://github.com/k0sproject/k0smotron)
1617

1718
## Control Plane
19+
- [Canonical Kubernetes](https://github.com/canonical/cluster-api-k8s)
1820
- [Kubeadm](https://github.com/kubernetes-sigs/cluster-api/tree/main/controlplane/kubeadm)
1921
- [MicroK8s](https://github.com/canonical/cluster-api-control-plane-provider-microk8s)
2022
- [Nested](https://github.com/kubernetes-sigs/cluster-api-provider-nested)

0 commit comments

Comments
 (0)