[opentelemetry-collector]: custom apiVersion support#2050
[opentelemetry-collector]: custom apiVersion support#2050medzin wants to merge 7 commits intoopen-telemetry:mainfrom
Conversation
Adds configurable apiVersion and extra updateStrategy fields for DaemonSet mode. This enables: - Using custom controllers like OpenKruise Advanced DaemonSet - Partition-based rollouts for safer canary deployments - In-place pod updates without recreation - Testing new API versions before they become stable Includes example and CI values for OpenKruise configuration.
| whenDeleted: Retain | ||
| whenScaled: Retain | ||
|
|
||
| daemonset: |
There was a problem hiding this comment.
Do we need this nested under a daemonset section? Would it be applicable to other modes?
There was a problem hiding this comment.
In case of OpenKruise the same trick would work for StatefulSet but not for Deployment so I can add support for StatefulSet under a separate key like statefulset or we can move apiVersion to a top level variable and just fail when using a Deployment.
There was a problem hiding this comment.
Is it ever valid to have mode="deployment" and to set an API? If so, a root-level field would be nice.
There was a problem hiding this comment.
Theoretically, if apps/v2 were to be released someday, it would allow for quick testing to see if the chart would work in its current state. However, at the moment, I don't know of a use case for it.
There was a problem hiding this comment.
@TylerHelmuth so should I just move it to the top level? The use case for mode="deployment" is a stretch but the code will be cleaner :)
There was a problem hiding this comment.
I think top level apiVersion is the most future-proof solution.
There was a problem hiding this comment.
@TylerHelmuth ok moved the variable to top level and added examples for other modes.
Move .Values.daemonset.apiVersion to .Values.apiVersion so it applies uniformly to daemonset, deployment, and statefulset modes.
…nd rollingUpdate support
… update daemonset-openkruise
Adds configurable apiVersion and extra updateStrategy fields for DaemonSet/StatefulSet/Deployment mode. This enables:
Includes example and CI values for OpenKruise configuration.