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 libraryhome: URL of the project homepagesources: List of URLs to source codemaintainers: List with name and emailvalues.yamlvalues.schema.jsonmetadata:
name:
labels:
_helpers.tpl for common functionstemplates/tests/test-connection.yaml:
apiVersion: v1
kind: Pod
metadata:
name: "-test"
annotations:
"helm.sh/hook": test
helm linthelm test