Support environment variable injection via Pinot helm chart.
- Dominant language
- Java
- Stars
- 6.1k
- Forks
- 1.5k
- Avg merge
- 1d 21h
- Merged PRs (30d)
- 189
Description
The current Pinot helm chart does not provide a way to inject custom environment variables. Environment variables can be used as a substitute for config properties as well as templated table definitions and is already supported as part of the Pinot runtime.
Specifically we need to inject secrets for Pinot Basic Auth https://github.com/apache/incubator-pinot/pull/6613 as well custom Kafka credentials via table config [overrides](https://docs.pinot.apache.org/configuration-reference/table#environment-variables-override).
## Proposal
Add support for both `envFrom` and `extraEnv` for each statefulset. `envFrom` is useful for batch inject env from existing secrets or configMaps, while `extraEnv` can be used to add individual key values.
Example override:
```yaml
server:
envFrom:
- secretRef:
name: my-secrets
extraEnv:
- name: PINOT_CUSTOM_ENV_1
value: my-value-1
- name: PINOT_CUSTOM_ENV_2
value: my-value-2
```
Contributor guide
Research direction
No files or tests are named. Start by locating the Pinot Helm chart values and StatefulSet templates, then trace how existing settings are rendered. Done means each StatefulSet accepts the proposed envFrom and extraEnv values and the rendered manifests contain them correctly.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- helm, kubernetes
- Domain
- devops, infrastructure
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100