Skip to content

Commit b8124cb

Browse files
peppi-lottak8s-infra-cherrypick-robot
authored andcommitted
Add Metal3 as an IPAMProvider
Signed-off-by: peppi-lotta <peppi-lotta.saari@est.tech>
1 parent e67ddef commit b8124cb

File tree

6 files changed

+18
-0
lines changed

6 files changed

+18
-0
lines changed

cmd/clusterctl/client/config/providers_client.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ const (
103103
const (
104104
InClusterIPAMProviderName = "in-cluster"
105105
NutanixIPAMProviderName = "nutanix"
106+
Metal3IPAMProviderName = "metal3"
106107
)
107108

108109
// Add-on providers.
@@ -431,6 +432,11 @@ func (p *providersClient) defaults() []Provider {
431432
url: "https://github.com/kubernetes-sigs/cluster-api-ipam-provider-in-cluster/releases/latest/ipam-components.yaml",
432433
providerType: clusterctlv1.IPAMProviderType,
433434
},
435+
&provider{
436+
name: Metal3IPAMProviderName,
437+
url: "https://github.com/metal3-io/ip-address-manager/releases/latest/ipam-components.yaml",
438+
providerType: clusterctlv1.IPAMProviderType,
439+
},
434440
&provider{
435441
name: NutanixIPAMProviderName,
436442
url: "https://github.com/nutanix-cloud-native/cluster-api-ipam-provider-nutanix/releases/latest/ipam-components.yaml",

cmd/clusterctl/client/config_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@ func Test_clusterctlClient_GetProvidersConfig(t *testing.T) {
108108
config.VSphereProviderName,
109109
config.VultrProviderName,
110110
config.InClusterIPAMProviderName,
111+
config.Metal3ProviderName,
111112
config.NutanixIPAMProviderName,
112113
config.NutanixRuntimeExtensionsProviderName,
113114
config.Cdk8sAddonProviderName,
@@ -177,6 +178,7 @@ func Test_clusterctlClient_GetProvidersConfig(t *testing.T) {
177178
config.VSphereProviderName,
178179
config.VultrProviderName,
179180
config.InClusterIPAMProviderName,
181+
config.Metal3ProviderName,
180182
config.NutanixIPAMProviderName,
181183
config.NutanixRuntimeExtensionsProviderName,
182184
config.Cdk8sAddonProviderName,

cmd/clusterctl/cmd/config_repositories_test.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,7 @@ virtink InfrastructureProvider https://github.com/smartxwork
154154
vsphere InfrastructureProvider https://github.com/kubernetes-sigs/cluster-api-provider-vsphere/releases/latest/ infrastructure-components.yaml
155155
vultr-vultr InfrastructureProvider https://github.com/vultr/cluster-api-provider-vultr/releases/latest/ infrastructure-components.yaml
156156
in-cluster IPAMProvider https://github.com/kubernetes-sigs/cluster-api-ipam-provider-in-cluster/releases/latest/ ipam-components.yaml
157+
metal3 IPAMProvider https://github.com/metal3-io/ip-address-manager/releases/latest/ ipam-components.yaml
157158
nutanix IPAMProvider https://github.com/nutanix-cloud-native/cluster-api-ipam-provider-nutanix/releases/latest/ ipam-components.yaml
158159
nutanix RuntimeExtensionProvider https://github.com/nutanix-cloud-native/cluster-api-runtime-extensions-nutanix/releases/latest/ runtime-extensions-components.yaml
159160
eitco-cdk8s AddonProvider https://github.com/eitco/cluster-api-addon-provider-cdk8s/releases/latest/ addon-components.yaml
@@ -381,6 +382,10 @@ var expectedOutputYaml = `- File: core_components.yaml
381382
Name: in-cluster
382383
ProviderType: IPAMProvider
383384
URL: https://github.com/kubernetes-sigs/cluster-api-ipam-provider-in-cluster/releases/latest/
385+
- File: ipam-components.yaml
386+
Name: metal3
387+
ProviderType: IPAMProvider
388+
URL: https://github.com/metal3-io/ip-address-manager/releases/latest/
384389
- File: ipam-components.yaml
385390
Name: nutanix
386391
ProviderType: IPAMProvider

docs/book/src/developer/providers/contracts/clusterctl.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -365,6 +365,7 @@ providers.
365365
| CAPK0S | cluster.x-k8s.io/provider=infrastructure-k0smotron |
366366
| CAIPAMIC | cluster.x-k8s.io/provider=ipam-in-cluster |
367367
| CAIPAMX | cluster.x-k8s.io/provider=ipam-nutanix |
368+
| CAIPAM3 | cluster.x-k8s.io/provider=ipam-metal3 |
368369
| CAREX | cluster.x-k8s.io/provider=runtime-extensions-nutanix |
369370

370371
### Workload cluster templates

docs/book/src/reference/glossary.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,9 @@ Cluster API IPAM Provider In Cluster
123123
### CAIPAMX
124124
Cluster API IPAM Provider Nutanix
125125

126+
### CAIPAM3
127+
Cluster API IPAM Provider Metal3
128+
126129
### CAREX
127130
Cluster API Runtime Extensions Provider Nutanix
128131

docs/book/src/reference/providers.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ source of inspiration and ideas for others.
7878
## IP Address Management (IPAM)
7979
- [In Cluster](https://github.com/kubernetes-sigs/cluster-api-ipam-provider-in-cluster)
8080
- [Nutanix](https://github.com/nutanix-cloud-native/cluster-api-ipam-provider-nutanix)
81+
- [Metal3](https://github.com/metal3-io/ip-address-manager)
8182

8283
## Addon
8384
- [Fleet](https://github.com/rancher/cluster-api-addon-provider-fleet/)

0 commit comments

Comments
 (0)