Is there an existing issue for this?
Version
equal or higher than v1.19.0 and lower than v1.20.0
What happened?
- helm install cilium cilium/cilium --version 1.19.0
- cilium operator crash
How can we reproduce the issue?
$ helm template cilium cilium/cilium --version 1.19.0 --set operator.unmanagedPodWatcher.intervalSeconds=15 | grep unmanaged-pod-watcher-interval
unmanaged-pod-watcher-interval: "15"
This will cause cilium operator crash because "15" is not a valid time.Duration, it should be "15s"
Cilium Version
1.19.0
Kernel Version
6.12
Kubernetes Version
1.35
Regression
No response
Sysdump
No response
Relevant log output
Anything else?
This bug occurs because you're assuming Helm will always parse integers in values.yaml as float64. In reality, they could also be interpreted as int64 or json.Number depending on the context and helm version.
In certain Helm versions, this is even easier to reproduce.
$ helm template cilium cilium/cilium --version 1.19.0 | grep unmanaged-pod-watcher-interval
unmanaged-pod-watcher-interval: "15"
In some other versions, it works as expected.
$ helm template cilium cilium/cilium --version 1.19.0 | grep unmanaged-pod-watcher-interval
unmanaged-pod-watcher-interval: "15s"
Cilium Users Document
Code of Conduct
Is there an existing issue for this?
Version
equal or higher than v1.19.0 and lower than v1.20.0
What happened?
How can we reproduce the issue?
This will cause cilium operator crash because "15" is not a valid time.Duration, it should be "15s"
Cilium Version
1.19.0
Kernel Version
6.12
Kubernetes Version
1.35
Regression
No response
Sysdump
No response
Relevant log output
Anything else?
This bug occurs because you're assuming Helm will always parse integers in values.yaml as float64. In reality, they could also be interpreted as int64 or json.Number depending on the context and helm version.
In certain Helm versions, this is even easier to reproduce.
In some other versions, it works as expected.
Cilium Users Document
Code of Conduct