mirror of https://github.com/helm/helm
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
main
dependabot/go_modules/dev-v3/github.com/lib/pq-1.11.1
dependabot/go_modules/main/github.com/lib/pq-1.11.1
release-4.1
release-3.19
release-4.0
dev-v3
release-3.20
copilot/backport-reflect-pointer-change
gjenkins8-patch-2
release-3.18
release-3.17
revert-toml-change
revert-13534-dev-v3-12987
add-lfx-insights
release-3.16
revert-11726-fixDepUpPerformance
release-3.15
dependabot/go_modules/k8s-io-4a36690ef2
release-3.14
release-3.13
release-3.12
release-3.11
release-3.10
Release
release-3.9
release-3.8
release-3.7
release-3.6
release-3.6.2
release-3.6.1
release-3.5
release-3.4
add-codeql
dev-v2
release-2.17
release-3.3
release-2.16
release-3.2
release-3.1
release-3.0
release-2.15
release-v3.0.0-beta.4
release-2.14
release-2.13
release-2.12
release-2.11
release-2.10
feat-v3/event-emitter-lua
release-2.9
release-2.8
release-2.7
release-2.6
release-2.5
release-2.4
release-2.3
release-2.2
release-2.1
release-2.0
kube-update-test
release-v1.2.1
v3.20.0
v4.1.0
v3.19.5
v4.0.5
v3.20.0-rc.1
v4.1.0-rc.1
v4.0.4
v3.19.4
v4.0.2
v3.19.3
v4.0.1
v3.19.2
v4.0.0
v3.19.1
v4.0.0-rc.1
v4.0.0-beta.2
v4.0.0-beta.1
v3.19.0
v3.19.0-rc.1
v4.0.0-alpha.1
v3.18.6
v3.18.5
v3.17.4
v3.18.4
v3.18.3
v3.18.2
v3.18.1
v3.18.0
v3.18.0-rc.2
v3.18.0-rc.1
v3.17.3
v3.17.2
v3.17.1
v3.17.0
v3.17.0-rc.1
v3.16.4
v3.16.3
v3.16.2
v3.16.1
v3.16.0
v3.16.0-rc.1
v3.15.4
v3.15.3
v3.15.2
v3.15.1
v3.15.0
v3.15.0-rc.2
v3.15.0-rc.1
v3.14.4
v3.14.3
v3.14.2
v3.14.1
v3.14.0
v3.14.0-rc.1
v3.13.3
v3.13.2
v3.13.1
v3.13.0
v3.13.0-rc.1
v3.12.3
v3.12.2
v3.12.1
v3.12.0
v3.12.0-rc.1
v3.11.3
v3.11.2
v3.12.0-dev.1
v3.11.1
v3.11.0
v3.11.0-rc.2
v3.11.0-rc.1
v3.10.3
v3.10.2
v3.10.1
v3.10.0
v3.10.0-rc.1
v3.9.4
v3.9.3
v3.9.2
v3.9.1
v3.9.0
v3.9.0-rc.1
v3.8.2
v3.8.1
v3.8.0
v3.8.0-rc.2
v3.8.0-rc.1
v3.7.2
v3.7.1
v3.7.0
v3.7.0-rc.3
v3.7.0-rc.2
v3.7.0-rc.1
v3.6.3
v3.6.2
v3.6.1
v3.6.0
v3.6.0-rc.1
v3.5.4
v3.5.3
v3.5.2
v3.5.1
v3.5.0
v3.5.0-rc.2
v3.5.0-rc.1
v3.4.2
v3.4.1
v3.4.0
v2.17.0
v3.4.0-rc.1
v2.17.0-rc.1
v3.3.4
v2.16.12
v3.3.3
v2.16.11
v3.3.2
v3.3.1
v2.16.10
v3.3.0
v3.3.0-rc.2
v3.3.0-rc.1
v2.16.9
v3.2.4
v2.16.8
v3.2.3
v3.2.2
v3.2.1
v2.16.7
v3.1.3
v3.2.0
v3.2.0-rc.1
v2.16.6
v2.16.5
v2.16.4
v3.1.2
v3.1.1
v2.16.3
v2.16.2
v3.1.0
v3.1.0-rc.3
v3.1.0-rc.2
v3.1.0-rc.1
v3.0.3
v3.0.2
v3.0.1
v3.0.0
v2.16.1
v3.0.0-rc.4
v3.0.0-rc.3
v2.16.0
v3.0.0-rc.2
v2.16.0-rc.2
v2.16.0-rc.1
v3.0.0-rc.1
v2.15.2
v2.15.1
v3.0.0-beta.5
v2.15.0
v2.15.0-rc.2
v2.15.0-rc.1
v3.0.0-beta.4
v3.0.0-beta.3
v3.0.0-beta.2
v3.0.0-beta.1
v2.14.3
v3.0.0-alpha.2
v2.14.2
v2.14.1
v3.0.0-alpha.1
v2.14.0
v2.14.0-rc.2
v2.14.0-rc.1
v2.13.1
v2.13.1-rc.1
v2.13.0
v2.13.0-rc.2
v2.13.0-rc.1
v2.12.3
v2.12.2
v2.12.1
v2.12.0
v2.12.0-rc.2
v2.12.0-rc.1
v2.11.0
v2.11.0-rc.4
v2.11.0-rc.3
v2.11.0-rc.2
v2.11.0-rc.1
v2.10.0
v2.10.0-rc.3
v2.10.0-rc.2
v2.10.0-rc.1
v2.9.1
v2.9.0
v2.9.0-rc5
v2.9.0-rc4
v2.9.0-rc3
v2.9.0-rc2
v2.9.0-rc1
v2.8.2
v2.8.2-rc1
v2.8.1
v2.8.0
v2.8.0-rc.1
v2.7.2
v2.7.1
v2.7.0
v2.7.0-rc1
v2.6.2
v2.6.1
v2.6.0
v2.5.1
v2.5.0
v2.4.2
v2.4.1
v2.4.0
v2.3.1
v2.3.0
1.999.0
v1.0
v1.1
v1.2
v1.2.1
v2.0.0
v2.0.0-alpha.1
v2.0.0-alpha.2
v2.0.0-alpha.3
v2.0.0-alpha.4
v2.0.0-alpha.5
v2.0.0-beta.1
v2.0.0-beta.2
v2.0.0-rc.1
v2.0.0-rc.2
v2.0.1
v2.0.2
v2.1.0
v2.1.1
v2.1.2
v2.1.3
v2.2.0
v2.2.1
v2.2.2
v2.2.3
${ noResults }
Use --values-tpl to dynamically generate values based on previously
merged configuration. Templates have access to .Values with basic
template functions.
This is especially useful when you don't have control over upstream
chart templates and want to avoid forking just to add tpl support.
Templates are rendered after all other value sources (--values, --set)
and have access to the merged .Values context:
```bash
helm install myapp ./chart --values-tpl dynamic.yaml.tpl
helm install myapp ./chart \
--values base.yaml \
--set environment=production \
--values-tpl computed.yaml.tpl
```
```yaml
region: us-east-1
environment: dev
replicas: {{ if eq .Values.environment "production" }}5{{ else }}1{{ end }}
resourceTier: {{ .Values.environment | upper }}
endpoint: "https://{{ .Values.region }}.example.com"
```
1. Chart defaults (`values.yaml`)
2. All `--values` files
3. All `--set*` flags
4. All `--values-tpl` files (rendered with access to steps 1-3)
**Problem:** Each cluster is in a different AWS region/account, and you need
different ECR registries. You want to:
- Avoid committing per-cluster files (values-prod-us.yaml, values-prod-eu.yaml, etc.)
- Not edit upstream chart templates to add tpl support
- Keep ArgoCD unaware of chart-specific paths (image.registry, etc.)
**Solution:** Single template file in git, cluster-specific values via ArgoCD:
```yaml
image:
registry: "{{ .Values.accountId }}.dkr.ecr.{{ .Values.region }}.amazonaws.com"
repository: myapp
tag: "1.0.0"
service:
extraEnvironment: # Arbitrary path in values
CLUSTER_NAME: "{{ .Values.clusterName }}"
```
```yaml
spec:
helm:
parameters:
- name: clusterName
value: prod-us-east
- name: region
value: us-east-1
- name: accountId
value: "123456789"
valueTplFiles:
- values-custom.yaml.tpl
```
```yaml
spec:
helm:
parameters:
- name: clusterName
value: prod-eu-west
- name: region
value: eu-west-1
- name: accountId
value: "987654321"
valueTplFiles:
- values-custom.yaml.tpl
```
- Access to `.Values` from previous merge steps
- Sprig functions: `default`, `upper`, `lower`, `trim`, etc.
- Format functions: `toYaml`, `toJson`, `toToml`, `fromYaml`, `fromJson`, `fromToml`
- Conditionals: `if`/`else`, `range`
- Remote templates: `http://`, `https://`, etc.
- `include` (requires chart template context)
- `tpl` (requires chart template context)
- `lookup` (requires Kubernetes client)
Signed-off-by: Álvaro Torres Cogollo <atorrescogollo@gmail.com>
|
2 weeks ago | |
|---|---|---|
| .. | ||
| output | refactor: move color package to internal/cli/output | 7 months ago |
| values | feat: New --values-tpl flag with limited template support | 2 weeks ago |
| environment.go | Merge pull request #31613 from aslafy-z/feat/getter-env | 4 weeks ago |
| environment_test.go | chore: enable usetesting linter | 8 months ago |