Gradual updates with Pinot helm chart
- Dominant language
- Java
- Stars
- 6.1k
- Forks
- 1.5k
- Avg merge
- 2d 55m
- Merged PRs (30d)
- 182
Description
The [recommended order for updating Pinot’s components](https://docs.pinot.apache.org/operators/operating-pinot/upgrading-pinot-cluster) is hard to follow with the current helm chart, because there’s only one global version and no way to update a single thing at the time.
The simplest thing would be to have (empty by default) image overrides that one could set during upgrades:
```yaml
# values.yaml
...
controller:
image:
repository:
tag:
...
```
```yaml
# /templates/controller/statefulset.yaml
...
containers:
- name: controller
securityContext:
{{- toYaml .Values.controller.securityContext | nindent 10 }}
image: "{{ .Values.controller.image.repository | default .Values.image.repository }}:{{ .Values.controller.image.tag | default .Values.image.tag }}"
...
```
1. Is it worth doing? Does the gradual components upgrade worth this additional complexity?
2. This will require manually re-deploying the chart a few times. Maybe there’s a better way?
Contributor guide
Research direction
Start by reading the Pinot cluster upgrade guide and inspecting values.yaml plus /templates/controller/statefulset.yaml to understand the current global image settings. Determine whether per-component image overrides are the agreed approach and how gradual updates should be validated. Done means an accepted upgrade workflow with the required chart changes and verification steps.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- helm, kubernetes
- Domain
- devops, infrastructure
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100