]> git.feebdaed.xyz Git - 0xmirror/cilium.git/commitdiff
helm: add IPAM nodeSpec configuration
authorLiyi Huang <pdshly@gmail.com>
Wed, 3 Dec 2025 16:14:40 +0000 (11:14 -0500)
committerJulian Wiedmann <julianwiedmann@users.noreply.github.com>
Fri, 19 Dec 2025 19:15:08 +0000 (19:15 +0000)
This commit adds new ipam field to the IPAM nodeSpec configuration in
the Helm chart, allowing users to configure new ipam options through
Helm values.

Signed-off-by: Liyi Huang <liyi.huang@isovalent.com>
Documentation/helm-values.rst
install/kubernetes/cilium/README.md
install/kubernetes/cilium/templates/cilium-configmap.yaml
install/kubernetes/cilium/values.schema.json
install/kubernetes/cilium/values.yaml
install/kubernetes/cilium/values.yaml.tmpl

index 335d27c44a6a6b3e7db0566813ff5fb63293a7c0..df0725744c86b073e417433e67b083cdbc3fb277 100644 (file)
    * - :spelling:ignore:`ipam.nodeSpec`
      - NodeSpec configuration for the IPAM
      - object
-     - ``{"ipamMinAllocate":null,"ipamPreAllocate":null}``
+     - ``{"ipamMaxAllocate":null,"ipamMinAllocate":null,"ipamPreAllocate":null,"ipamStaticIPTags":[]}``
+   * - :spelling:ignore:`ipam.nodeSpec.ipamMaxAllocate`
+     - IPAM max allocate @schema type: [null, integer] @schema
+     - string
+     - ``nil``
    * - :spelling:ignore:`ipam.nodeSpec.ipamMinAllocate`
      - IPAM min allocate @schema type: [null, integer] @schema
      - string
      - IPAM pre allocate @schema type: [null, integer] @schema
      - string
      - ``nil``
+   * - :spelling:ignore:`ipam.nodeSpec.ipamStaticIPTags`
+     - IPAM static IP tags (currently only works with AWS and Azure)
+     - list
+     - ``[]``
    * - :spelling:ignore:`ipam.operator.autoCreateCiliumPodIPPools`
      - IP pools to auto-create in multi-pool IPAM mode.
      - object
index 379233d9380bceb736539b2efc86e0074abb9409..8c56a869e4adbc8b8f3d64db14bd124b270eea6d 100644 (file)
@@ -730,9 +730,11 @@ contributors across the globe, there is almost always someone available to help.
 | ipam.installUplinkRoutesForDelegatedIPAM | bool | `false` | Install ingress/egress routes through uplink on host for Pods when working with delegated IPAM plugin. |
 | ipam.mode | string | `"cluster-pool"` | Configure IP Address Management mode. ref: https://docs.cilium.io/en/stable/network/concepts/ipam/ |
 | ipam.multiPoolPreAllocation | string | `""` | Pre-allocation settings for IPAM in Multi-Pool mode |
-| ipam.nodeSpec | object | `{"ipamMinAllocate":null,"ipamPreAllocate":null}` | NodeSpec configuration for the IPAM |
+| ipam.nodeSpec | object | `{"ipamMaxAllocate":null,"ipamMinAllocate":null,"ipamPreAllocate":null,"ipamStaticIPTags":[]}` | NodeSpec configuration for the IPAM |
+| ipam.nodeSpec.ipamMaxAllocate | string | `nil` | IPAM max allocate @schema type: [null, integer] @schema |
 | ipam.nodeSpec.ipamMinAllocate | string | `nil` | IPAM min allocate @schema type: [null, integer] @schema |
 | ipam.nodeSpec.ipamPreAllocate | string | `nil` | IPAM pre allocate @schema type: [null, integer] @schema |
+| ipam.nodeSpec.ipamStaticIPTags | list | `[]` | IPAM static IP tags (currently only works with AWS and Azure) |
 | ipam.operator.autoCreateCiliumPodIPPools | object | `{}` | IP pools to auto-create in multi-pool IPAM mode. |
 | ipam.operator.clusterPoolIPv4MaskSize | int | `24` | IPv4 CIDR mask size to delegate to individual nodes for IPAM. |
 | ipam.operator.clusterPoolIPv4PodCIDRList | list | `["10.0.0.0/8"]` | IPv4 CIDR list range to delegate to individual nodes for IPAM. |
index bf4ee860f6616ecb6f3671d8c2ebdd853a855189..34005befe6a4b5e388006891f53cc865d8b50d68 100644 (file)
@@ -1141,6 +1141,12 @@ data:
   {{- if ne .Values.ipam.nodeSpec.ipamPreAllocate nil }}
   ipam-pre-allocate: {{ .Values.ipam.nodeSpec.ipamPreAllocate | quote }}
   {{- end }}
+  {{- if ne .Values.ipam.nodeSpec.ipamMaxAllocate nil }}
+  ipam-max-allocate: {{ .Values.ipam.nodeSpec.ipamMaxAllocate | quote }}
+  {{- end }}
+  {{- if .Values.ipam.nodeSpec.ipamStaticIPTags }}
+  ipam-static-ip-tags: {{ .Values.ipam.nodeSpec.ipamStaticIPTags | join "," | quote }}
+  {{- end }}
 {{- end }}
 {{- if .Values.ipam.multiPoolPreAllocation }}
   ipam-multi-pool-pre-allocation: {{ .Values.ipam.multiPoolPreAllocation | quote }}
index b92ede2bb27040f4fdb501e965a4ca5e44b9d05c..a88dfc0219608dcb8ea98f4fc5d067653aa5d5b2 100644 (file)
         },
         "nodeSpec": {
           "properties": {
+            "ipamMaxAllocate": {
+              "type": [
+                "null",
+                "integer"
+              ]
+            },
             "ipamMinAllocate": {
               "type": [
                 "null",
                 "null",
                 "integer"
               ]
+            },
+            "ipamStaticIPTags": {
+              "items": {},
+              "type": "array"
             }
           },
           "type": "object"
index b35b4c44b6a7b1d36d93875771346af0b0be7be9..449511961ceb3a953ad8609829c8a222c24e322d 100644 (file)
@@ -2137,6 +2137,13 @@ ipam:
     # type: [null, integer]
     # @schema
     ipamPreAllocate: ~
+    # -- IPAM max allocate
+    # @schema
+    # type: [null, integer]
+    # @schema
+    ipamMaxAllocate: ~
+    # -- IPAM static IP tags (currently only works with AWS and Azure)
+    ipamStaticIPTags: []
 # -- defaultLBServiceIPAM indicates the default LoadBalancer Service IPAM when
 # no LoadBalancer class is set. Applicable values: lbipam, nodeipam, none
 # @schema
index 5a140ff2b38b5fdf14391ed20658c4dd6e45422b..218964dd716075205c2197e3c7dca4b8771cafb9 100644 (file)
@@ -2153,6 +2153,13 @@ ipam:
     # type: [null, integer]
     # @schema
     ipamPreAllocate: ~
+    # -- IPAM max allocate
+    # @schema
+    # type: [null, integer]
+    # @schema
+    ipamMaxAllocate: ~
+    # -- IPAM static IP tags (currently only works with AWS and Azure)
+    ipamStaticIPTags: []
 # -- defaultLBServiceIPAM indicates the default LoadBalancer Service IPAM when
 # no LoadBalancer class is set. Applicable values: lbipam, nodeipam, none
 # @schema