helmfile template built-in objects¶
Environment
: The information about the environment. This is set by the
--environment
flag. It has several objects inside of it:Environment.Name
: The name of the environmentEnvironment.KubeContext
: The kube context to be used by default for releases in the environment.Values
: Values passed into the environment.StateValues
: alias forValues
.Namespace
: The namespace to be released into
release template built-in objects¶
it be used for the below two cases:
- release definition
templates:
default:
chart: stable/{{`{{ .Release.Name }}`}}
namespace: kube-system
values:
- config/{{`{{ .Release.Name }}`}}/values.yaml
- config/{{`{{ .Release.Name }}`}}/{{`{{ .Environment.Name }}`}}.yaml
secrets:
- config/{{`{{ .Release.Name }}`}}/secrets.yaml
- config/{{`{{ .Release.Name }}`}}/{{`{{ .Environment.Name }}`}}-secrets.yaml
releases:
- name: heapster
version: 0.3.2
inherit:
- template: default
- name: kubernetes-dashboard
version: 0.10.0
inherit:
- template: default
- release values template
releases:
- name: some-release
chart: my-chart
values:
# This is a template file can use the built-in objects
- path/to/values.gotmpl
Release
: This object describes the release itself. It has several objects
inside of it:Release.Name
: The release nameRelease.Namespace
: The namespace to be released intoRelease.Labels
: The labels to be applied to the releaseRelease.Chart
: The chart name of the releaseRelease.KubeContext
: The kube context to be used for the releaseValues
: Values passed into the environment.StateValues
: alias forValues
.Environment
: The information about the environment. This is set by the
--environment
flag. It has several objects inside of it:Environment.Name
: The name of the environmentEnvironment.KubeContext
: The kube context to be used by default for releases in the environment.Chart
: The chart name for the release.KubeContext
: The kube context to be used for the releaseNamespace
: The namespace to be released into
The built-in values always begin with a capital letter. This is in keeping with
Go’s naming convention. When you define your own values and template variables, you are free to use a
convention that suits your team.