mirror of
https://github.com/helmfile/helmfile.git
synced 2026-09-30 18:35:15 +02:00
* feat: add --write-output flag to helmfile fetch for air-gapped environments Add --write-output flag to helmfile fetch that outputs a modified helmfile.yaml with chart references updated to point to downloaded local chart paths. Combined with --output-dir, this enables preparing all charts for deployment in air-gapped environments. Usage: helmfile fetch --output-dir ./charts --write-output > helmfile-airgapped.yaml Fixes #2571 Signed-off-by: yxxhero <yxxhero@users.noreply.github.com> Signed-off-by: yxxhero <aiopsclub@163.com> * docs: restructure documentation and improve newcomer experience Split the monolithic index.md (1990 lines) into focused topic pages, update mkdocs.yml navigation, and add missing documentation for undocumented code features. Structure changes: - Extract configuration.md (helmfile.yaml reference) - Extract cli.md (CLI commands and flags) - Extract templating.md (template syntax and env vars) - Extract environments.md (environment configuration) - Extract releases.md (DAG, needs, selectors) - Extract hooks.md (lifecycle hooks) - Extract integrations.md (ArgoCD, Azure ACR, OCI) - Slim index.md to ~270 line landing page with step-by-step tutorial Newcomer improvements: - Add 5-step Getting Started tutorial with explanations - Reorganize nav: Getting Started now shows core learning path (Writing Helmfile → Values → Environments → Releases) - Add Quick Reference table to configuration.md - Simplify writing-helmfile.md title Code-vs-docs gap fixes: - Document 23 undocumented release fields (valuesTemplate, setTemplate, forceNamespace, adopt, trackMode, etc.) - Document 6 undocumented helmDefaults fields (enableDNS, forceConflicts, skipRefresh, takeOwnership, etc.) - Document print-env command and missing CLI flags - Document kubectlApply hook field - Document environment defaults field and merge order - Document kubedogQPS/kubedogBurst advanced settings - Document template partials (_*.tpl) auto-loading Cleanup: - Fix Docker image version from v0.156.0 to v1.1.0 - Fix heading nesting in advanced-features.md - Update experimental-features.md with current features - Fix broken cross-references and anchor links Signed-off-by: yxxhero <aiopsclub@163.com> * Revert changes to pkg/app from docs/restructure-and-improve branch Signed-off-by: yxxhero <aiopsclub@163.com> * docs: add create subcommand to README and CLI reference Signed-off-by: yxxhero <aiopsclub@163.com> --------- Signed-off-by: yxxhero <yxxhero@users.noreply.github.com> Signed-off-by: yxxhero <aiopsclub@163.com>
2.4 KiB
2.4 KiB
Built-in Objects
helmfile template built-in objects
Environment: The information about the environment. This is set by the--environmentflag. 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 releaseRelease.ChartVersion: The version of the current chart
Values: Values passed into the environment.StateValues: alias forValues.Environment: The information about the environment. This is set by the--environmentflag. 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.