Managing Chart Metadata
1. Setting Chart Annotations
Example: Artifact Hub annotations
annotations:
category: Database
licenses: Apache-2.0
artifacthub.io/license: Apache-2.0
artifacthub.io/prerelease: "false"
artifacthub.io/containsSecurityUpdates: "true"
artifacthub.io/links: |
- name: source
url: https://github.com/acme/api
- name: support
url: https://github.com/acme/api/issues
2. Adding Custom Metadata
| Annotation | Purpose |
|---|---|
artifacthub.io/changes | Per-release changelog |
artifacthub.io/images | List of bundled container images |
artifacthub.io/operator | "true" for operator charts |
artifacthub.io/signKey | Public key fingerprint for verification |
artifacthub.io/recommendations | Related charts |
3. Documenting Chart Purpose
| Section | Audience |
|---|---|
| README intro | Quick-start install command |
| Configuration table | All values + defaults + descriptions |
| Architecture diagram | How components interact |
| Examples | Common deployment patterns |
4. Listing Chart Dependencies
Example: View resolved deps
helm dependency list ./chart
helm show chart ./chart | yq '.dependencies'
5. Setting Minimum Kubernetes Version
| Field | Example |
|---|---|
kubeVersion | ">=1.27.0-0" |
| Enforcement | Helm refuses install on incompatible cluster |
6. Adding Chart Maturity
| Annotation value | Meaning |
|---|---|
"experimental" | Early development, API may change |
"alpha" | Limited testing |
"beta" | Stabilizing |
"stable" | Production-ready |
7. Linking to Source Code
Example: sources list
sources:
- https://github.com/acme/api
- https://github.com/acme/charts
home: https://docs.acme.io/api
8. Providing Support Contacts
Example: maintainers + links
maintainers:
- name: Platform Team
email: platform@acme.io
annotations:
artifacthub.io/links: |
- { name: support, url: https://acme.io/support }
- { name: slack, url: https://acme.slack.com/channels/charts }
9. Setting Chart License
| Field | Format |
|---|---|
annotations.licenses | SPDX identifier (e.g. Apache-2.0, MIT) |
LICENSE file | Full license text in chart root |
10. Adding Chart Category
| Category | Examples |
|---|---|
database | postgresql, mysql, redis |
monitoring-logging | prometheus, grafana, loki |
networking | ingress-nginx, cert-manager, cilium |
security | vault, falco, kyverno |
integration-and-delivery | argo-cd, jenkins, tekton |