diff --git a/deploy/chart/templates/daemonset.yaml b/deploy/chart/templates/daemonset.yaml index 6f1c304d..615329cd 100644 --- a/deploy/chart/templates/daemonset.yaml +++ b/deploy/chart/templates/daemonset.yaml @@ -44,19 +44,21 @@ spec: {{- with .Values.linodegoDebug }} - --linodego-debug={{ . }} {{- end }} - {{- if .Values.routeController }} - - --enable-route-controller=true - {{- if and .Values.routeController.vpcName .Values.routeController.vpcNames }} - {{- fail "Both vpcName and vpcNames are set. Please use only vpcNames." }} + {{- $vpcNames := .Values.vpcNames }} + {{- if and .Values.routeController .Values.routeController.vpcNames }} + {{- $vpcNames = .Values.routeController.vpcNames }} {{- end }} - {{- if not (or .Values.routeController.vpcName .Values.routeController.vpcNames) }} - {{- fail "Neither vpcName nor vpcNames is set. Please set one of them." }} + {{- $vpcName := .Values.vpcName }} + {{- if and .Values.routeController .Values.routeController.vpcName }} + {{- $vpcName = .Values.routeController.vpcName }} {{- end }} - {{- with .Values.routeController.vpcName }} - - --vpc-name={{ . }} + {{- if and $vpcName $vpcNames }} + {{- fail "Both vpcName and vpcNames are set. Please use only vpcNames." }} {{- end }} - {{- with .Values.routeController.vpcNames }} - - --vpc-names={{ . }} + {{- if .Values.routeController }} + - --enable-route-controller=true + {{- if not (or $vpcName $vpcNames) }} + {{- fail "Neither vpcName nor vpcNames is set. Please set one of them." }} {{- end }} - --configure-cloud-routes={{ default true .Values.routeController.configureCloudRoutes }} - --cluster-cidr={{ required "A valid .Values.routeController.clusterCIDR is required" .Values.routeController.clusterCIDR }} @@ -64,6 +66,12 @@ spec: - --route-reconciliation-period={{ . }} {{- end }} {{- end }} + {{- with $vpcNames }} + - --vpc-names={{ . }} + {{- end }} + {{- with $vpcName }} + - --vpc-name={{ . }} + {{- end }} {{- if .Values.sharedIPLoadBalancing }} {{- with .Values.sharedIPLoadBalancing.bgpNodeSelector }} - --bgp-node-selector={{ . }} diff --git a/deploy/chart/values.yaml b/deploy/chart/values.yaml index cea0ae26..3873a465 100644 --- a/deploy/chart/values.yaml +++ b/deploy/chart/values.yaml @@ -74,6 +74,10 @@ tolerations: # clusterCIDR: 10.0.0.0/8 # configureCloudRoutes: true +# vpcs that node internal IPs will be assigned from (not required if already specified in routeController) +# vpcName: [Deprecated: use vpcNames instead] +# vpcNames: + # Enable Linode token health checker # tokenHealthChecker: true diff --git a/docs/getting-started/helm-installation.md b/docs/getting-started/helm-installation.md index 449166e6..2395398c 100644 --- a/docs/getting-started/helm-installation.md +++ b/docs/getting-started/helm-installation.md @@ -25,6 +25,10 @@ routeController: clusterCIDR: "10.0.0.0/8" configureCloudRoutes: true +# Optional: Assign node internal IPs from VPCs without enabling route controller +# Not required if specified in routeController +vpcNames: "" # Comma separated VPC names + # Optional: Configure shared IP load balancing instead of NodeBalancers (requires Cilium CNI and BGP Control Plane enabled) sharedIPLoadBalancing: loadBalancerType: cilium-bgp