A chart MUST have the following structure:
chart-name/
├── .helmignore # Patterns to ignore when packaging
├── Chart.yaml # Chart metadata
├── values.yaml # Default configuration values
├── values.schema.json # JSON Schema for validating values.yaml
├── templates/ # Template files
│ ├── NOTES.txt # Post-installation notes
│ ├── _helpers.tpl # Common template helpers
│ └── tests/ # Test files
└── README.md # Chart documentation
name
: Must be lowercase and hyphen-separatedversion
: Must follow SemVer 2description
: Must be clear and concisetype
: Must be either application
or library
home
: URL of the project homepagesources
: List of URLs to source codemaintainers
: List with name and emailvalues.yaml
values.schema.json
metadata:
name:
labels:
_helpers.tpl
for common functionstemplates/tests/test-connection.yaml:
apiVersion: v1
kind: Pod
metadata:
name: "-test"
annotations:
"helm.sh/hook": test
helm lint
helm test