apache / apache/apisix-helm-chart

Support sourcing `apisix.vault.token` from a Kubernetes Secret

Open Beginner friendly
#988 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go Template
Stars
289
Forks
282
Avg merge
15h 55m
Merged PRs (30d)
3

Description

Currently `apisix.vault.token` is taken verbatim from `values.yaml` and written in plaintext into the `apisix--config` ConfigMap:

```yaml
# templates/configmap.yaml
{{- if .Values.apisix.vault.enabled }}
vault:
host: {{ .Values.apisix.vault.host }}
timeout: {{ .Values.apisix.vault.timeout }}
token: {{ .Values.apisix.vault.token }} # plaintext token into ConfigMap
prefix: {{ .Values.apisix.vault.prefix }}
{{- end }}
```

There's no way to provide the Vault token via an existing Kubernetes Secret — it must live in `values.yaml` (and therefore in the Helm release / Rancher app config / git).

The chart already offers a `secretName` option for the admin API credentials (`apisix.admin.credentials.secretName`). It would be helpful to have an equivalent for the Vault token, e.g.:

```yaml
# values.yaml
vault:
enabled: false
host: ""
timeout: 10
token: ""
prefix: ""
secretName: "" # existing Secret containing the token
secretKey: "token" # key inside that Secret
```

When `secretName` is set, the chart would source the token from that Secret rather than from the plaintext `token` field.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with values.yaml and templates/configmap.yaml, then compare how apisix.admin.credentials.secretName is handled. Verify the chart’s rendered resources when a Vault secretName is configured and when only token is provided. Done means an existing Kubernetes Secret can supply the configured key without writing the token into the ConfigMap.

Written by the indexing model from the issue text.

Assessment

Tech stack
helm, kubernetes
Domain
devops, infrastructure
Issue type
Feature
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
75/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.