@@ -154,6 +154,7 @@ var _ = Describe("Create a proper set of manifests when using helm charts", func
154154 "controlPlane" : "kubeadm-control-plane-custom-ns:kubeadm:v1.7.7" ,
155155 "bootstrap" : "kubeadm-bootstrap-custom-ns:kubeadm:v1.7.7" ,
156156 "infrastructure" : "capd-custom-ns:docker:v1.7.7" ,
157+ "ipam" : "in-cluster-custom-ns:in-cluster:v1.0.0" ,
157158 "addon" : "helm-custom-ns:helm:v0.2.6" ,
158159 })
159160 Expect (err ).ToNot (HaveOccurred ())
@@ -171,6 +172,7 @@ var _ = Describe("Create a proper set of manifests when using helm charts", func
171172 "controlPlane" : "kubeadm:v1.7.7" ,
172173 "bootstrap" : "kubeadm:v1.7.7" ,
173174 "infrastructure" : "docker:v1.7.7" ,
175+ "ipam" : "in-cluster:v1.0.0" ,
174176 "addon" : "helm:v0.2.6" ,
175177 })
176178 Expect (err ).ToNot (HaveOccurred ())
@@ -188,6 +190,7 @@ var _ = Describe("Create a proper set of manifests when using helm charts", func
188190 "controlPlane" : "kubeadm" ,
189191 "bootstrap" : "kubeadm" ,
190192 "infrastructure" : "docker" ,
193+ "ipam" : "in-cluster" ,
191194 "addon" : "helm" ,
192195 })
193196 Expect (err ).ToNot (HaveOccurred ())
@@ -236,6 +239,33 @@ var _ = Describe("Create a proper set of manifests when using helm charts", func
236239 Expect (manifests ).To (Equal (string (expectedManifests )))
237240 })
238241
242+ It ("should deploy core when only ipam is specified" , func () {
243+ manifests , err := helmChart .Run (map [string ]string {
244+ "configSecret.name" : "test-secret-name" ,
245+ "configSecret.namespace" : "test-secret-namespace" ,
246+ "ipam" : "in-cluster" ,
247+ })
248+ Expect (err ).ToNot (HaveOccurred ())
249+ Expect (manifests ).ToNot (BeEmpty ())
250+ expectedManifests , err := os .ReadFile (filepath .Join (customManifestsFolder , "only-ipam.yaml" ))
251+ Expect (err ).ToNot (HaveOccurred ())
252+ Expect (manifests ).To (Equal (string (expectedManifests )))
253+ })
254+
255+ It ("should deploy core, bootstrap, control plane when only infra and ipam is specified" , func () {
256+ manifests , err := helmChart .Run (map [string ]string {
257+ "configSecret.name" : "test-secret-name" ,
258+ "configSecret.namespace" : "test-secret-namespace" ,
259+ "infrastructure" : "docker" ,
260+ "ipam" : "in-cluster" ,
261+ })
262+ Expect (err ).ToNot (HaveOccurred ())
263+ Expect (manifests ).ToNot (BeEmpty ())
264+ expectedManifests , err := os .ReadFile (filepath .Join (customManifestsFolder , "only-infra-and-ipam.yaml" ))
265+ Expect (err ).ToNot (HaveOccurred ())
266+ Expect (manifests ).To (Equal (string (expectedManifests )))
267+ })
268+
239269 It ("should deploy multiple infra providers with custom namespace and versions" , func () {
240270 manifests , err := helmChart .Run (map [string ]string {
241271 "configSecret.name" : "test-secret-name" ,
@@ -306,6 +336,7 @@ var _ = Describe("Create a proper set of manifests when using helm charts", func
306336 "configSecret.name" : "aws-variables" ,
307337 "configSecret.namespace" : "default" ,
308338 "infrastructure" : "aws:v2.4.0" ,
339+ "ipam" : "in-cluster:" ,
309340 "addon" : "helm:" ,
310341 "image.manager.tag" : "v0.9.1" ,
311342 "cert-manager.enabled" : "false" ,
@@ -330,6 +361,7 @@ var _ = Describe("Create a proper set of manifests when using helm charts", func
330361 "configSecret.namespace" : "test-secret-namespace" ,
331362 "core" : "cluster-api" ,
332363 "infrastructure" : "azure" ,
364+ "ipam" : "in-cluster" ,
333365 "addon" : "helm" ,
334366 "manager.cert-manager.enabled" : "false" ,
335367 "manager.cert-manager.installCRDs" : "false" ,
@@ -346,6 +378,7 @@ var _ = Describe("Create a proper set of manifests when using helm charts", func
346378 "controlPlane" : "kubeadm" ,
347379 "bootstrap" : "kubeadm" ,
348380 "infrastructure" : "docker" ,
381+ "ipam" : "in-cluster" ,
349382 "addon" : "helm" ,
350383 "manager.featureGates.core.ClusterTopology" : "true" ,
351384 "manager.featureGates.core.MachinePool" : "true" ,
@@ -362,6 +395,7 @@ var _ = Describe("Create a proper set of manifests when using helm charts", func
362395 "controlPlane" : "kubeadm" ,
363396 "bootstrap" : "kubeadm" ,
364397 "infrastructure" : "docker" ,
398+ "ipam" : "in-cluster" ,
365399 "addon" : "helm" ,
366400 "manager.featureGates.kubeadm.ClusterTopology" : "true" ,
367401 "manager.featureGates.kubeadm.MachinePool" : "true" ,
0 commit comments