Skip to content

Commit a52bb72

Browse files
authored
Merge pull request #6062 from batistein/hetzner-provider
🌱 Adding hetzner provider to the clusterctl and to the docs
2 parents 19cedc5 + 3b6dd6f commit a52bb72

File tree

7 files changed

+26
-2
lines changed

7 files changed

+26
-2
lines changed

cmd/clusterctl/client/config/providers_client.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ const (
4141
DockerProviderName = "docker"
4242
DOProviderName = "digitalocean"
4343
GCPProviderName = "gcp"
44+
HetznerProviderName = "hetzner"
4445
IBMCloudProviderName = "ibmcloud"
4546
Metal3ProviderName = "metal3"
4647
NestedProviderName = "nested"
@@ -179,6 +180,11 @@ func (p *providersClient) defaults() []Provider {
179180
url: "https://github.com/vmware-tanzu/cluster-api-provider-bringyourownhost/releases/latest/infrastructure-components.yaml",
180181
providerType: clusterctlv1.InfrastructureProviderType,
181182
},
183+
&provider{
184+
name: HetznerProviderName,
185+
url: "https://github.com/syself/cluster-api-provider-hetzner/releases/latest/infrastructure-components.yaml",
186+
providerType: clusterctlv1.InfrastructureProviderType,
187+
},
182188
&provider{
183189
name: IBMCloudProviderName,
184190
url: "https://github.com/kubernetes-sigs/cluster-api-provider-ibmcloud/releases/latest/infrastructure-components.yaml",

cmd/clusterctl/client/config_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ func Test_clusterctlClient_GetProvidersConfig(t *testing.T) {
6969
config.DOProviderName,
7070
config.DockerProviderName,
7171
config.GCPProviderName,
72+
config.HetznerProviderName,
7273
config.IBMCloudProviderName,
7374
config.MAASProviderName,
7475
config.Metal3ProviderName,
@@ -102,6 +103,7 @@ func Test_clusterctlClient_GetProvidersConfig(t *testing.T) {
102103
config.DOProviderName,
103104
config.DockerProviderName,
104105
config.GCPProviderName,
106+
config.HetznerProviderName,
105107
config.IBMCloudProviderName,
106108
config.MAASProviderName,
107109
config.Metal3ProviderName,

cmd/clusterctl/cmd/config_repositories_test.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@ byoh InfrastructureProvider https://github.com/vmware-tanzu/clu
115115
digitalocean InfrastructureProvider https://github.com/kubernetes-sigs/cluster-api-provider-digitalocean/releases/latest/ infrastructure-components.yaml
116116
docker InfrastructureProvider https://github.com/kubernetes-sigs/cluster-api/releases/latest/ infrastructure-components-development.yaml
117117
gcp InfrastructureProvider https://github.com/kubernetes-sigs/cluster-api-provider-gcp/releases/latest/ infrastructure-components.yaml
118+
hetzner InfrastructureProvider https://github.com/syself/cluster-api-provider-hetzner/releases/latest/ infrastructure-components.yaml
118119
ibmcloud InfrastructureProvider https://github.com/kubernetes-sigs/cluster-api-provider-ibmcloud/releases/latest/ infrastructure-components.yaml
119120
maas InfrastructureProvider https://github.com/spectrocloud/cluster-api-provider-maas/releases/latest/ infrastructure-components.yaml
120121
metal3 InfrastructureProvider https://github.com/metal3-io/cluster-api-provider-metal3/releases/latest/ infrastructure-components.yaml
@@ -186,6 +187,10 @@ var expectedOutputYaml = `- File: core_components.yaml
186187
Name: gcp
187188
ProviderType: InfrastructureProvider
188189
URL: https://github.com/kubernetes-sigs/cluster-api-provider-gcp/releases/latest/
190+
- File: infrastructure-components.yaml
191+
Name: hetzner
192+
ProviderType: InfrastructureProvider
193+
URL: https://github.com/syself/cluster-api-provider-hetzner/releases/latest/
189194
- File: infrastructure-components.yaml
190195
Name: ibmcloud
191196
ProviderType: InfrastructureProvider

docs/book/src/clusterctl/provider-contract.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,9 +187,10 @@ providers.
187187
|CAPI | cluster.x-k8s.io/provider=cluster-api |
188188
|CABPK | cluster.x-k8s.io/provider=bootstrap-kubeadm |
189189
|CACPK | cluster.x-k8s.io/provider=control-plane-kubeadm |
190-
|CACPN | cluster.x-k8s.io/provider=control-plane-nested |
190+
|CACPN | cluster.x-k8s.io/provider=control-plane-nested |
191191
|CAPA | cluster.x-k8s.io/provider=infrastructure-aws |
192192
|CAPB | cluster.x-k8s.io/provider=infrastructure-byoh |
193+
|CAPH | cluster.x-k8s.io/provider=infrastructure-hetzner |
193194
|CAPIBM | cluster.x-k8s.io/provider=infrastructure-ibmcloud |
194195
|CAPV | cluster.x-k8s.io/provider=infrastructure-vsphere |
195196
|CAPD | cluster.x-k8s.io/provider=infrastructure-docker |

docs/book/src/reference/glossary.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,9 @@ Cluster API Provider DigitalOcean
4747
### CAPG
4848
Cluster API Google Cloud Provider
4949

50+
### CAPH
51+
Cluster API Provider Hetzner
52+
5053
### CAPIBM
5154
Cluster API Provider IBM Cloud
5255

docs/book/src/reference/providers.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ updated info about which API version they are supporting.
2121
- [DigitalOcean](https://github.com/kubernetes-sigs/cluster-api-provider-digitalocean)
2222
- [Exoscale](https://github.com/exoscale/cluster-api-provider-exoscale)
2323
- [GCP](https://github.com/kubernetes-sigs/cluster-api-provider-gcp)
24+
- [Hetzner](https://github.com/syself/cluster-api-provider-hetzner)
2425
- [IBM Cloud](https://github.com/kubernetes-sigs/cluster-api-provider-ibmcloud)
2526
- [KubeVirt](https://github.com/kubernetes-sigs/cluster-api-provider-kubevirt)
2627
- [MAAS](https://github.com/spectrocloud/cluster-api-provider-maas)

docs/book/src/user/quick-start.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ Additional documentation about experimental features can be found in [Experiment
185185
Depending on the infrastructure provider you are planning to use, some additional prerequisites should be satisfied
186186
before getting started with Cluster API. See below for the expected settings for common providers.
187187
188-
{{#tabs name:"tab-installation-infrastructure" tabs:"AWS,Azure,DigitalOcean,Docker,Equinix Metal,GCP,Metal3,OpenStack,vSphere"}}
188+
{{#tabs name:"tab-installation-infrastructure" tabs:"AWS,Azure,DigitalOcean,Docker,Equinix Metal,GCP,Hetzner,Metal3,OpenStack,vSphere"}}
189189
{{#tab AWS}}
190190
191191
Download the latest binary of `clusterawsadm` from the [AWS provider releases] and make sure to place it in your path.
@@ -302,6 +302,11 @@ export GCP_B64ENCODED_CREDENTIALS=$( cat /path/to/gcp-credentials.json | base64
302302
clusterctl init --infrastructure gcp
303303
```
304304
305+
{{#/tab }}
306+
{{#tab Hetzner}}
307+
308+
Please visit the [Hetzner project][Hetzner provider].
309+
305310
{{#/tab }}
306311
{{#tab Metal3}}
307312
@@ -822,6 +827,7 @@ See the [clusterctl] documentation for more detail about clusterctl supported ac
822827
[clusterctl]: ../clusterctl/overview.md
823828
[Docker]: https://www.docker.com/
824829
[GCP provider]: https://github.com/kubernetes-sigs/cluster-api-provider-gcp
830+
[Hetzner provider]: https://github.com/syself/cluster-api-provider-hetzner
825831
[infrastructure provider]: ../reference/glossary.md#infrastructure-provider
826832
[kind]: https://kind.sigs.k8s.io/
827833
[KubeadmControlPlane]: ../developer/architecture/controllers/control-plane.md

0 commit comments

Comments
 (0)