Resource Naming
Base name
All resource names are derived from a fullname computed as follows:
| Condition | fullname |
|---|---|
fullnameOverride set | exactly fullnameOverride |
nameOverride set, release contains it | just <release> |
nameOverride set | <release>-<nameOverride> |
No overrides, chart is standard | just <release> |
No overrides, chart is e.g. archivebox | <release>-archivebox |
Examples:
helm install myapp hosst/standard → myapp
helm install myapp hosst/standard --set nameOverride=api → myapp-api
helm install myapp hosst/archivebox → myapp-archivebox
helm install feat-xyz hosst/standard --set nameOverride=backend → feat-xyz-backend
helm install backend hosst/standard --set nameOverride=backend → backend (deduplication)Per-resource names
| Resource | Pattern | Example (release myapp, key worker) |
|---|---|---|
| Deployment | <fullname>-<key> | myapp-worker |
| Service | <fullname>-<key> | myapp-worker |
| Ingress | <fullname>-<key> | myapp-worker |
| CronJob | <fullname>-cronjob-<key> | myapp-cronjob-worker |
| Job | <fullname>-job-<key> | myapp-job-worker |
When the key is already contained in the fullname the suffix is dropped to avoid duplication — myapp-myapp becomes myapp.
Single-resource shorthands
The ingress:, service:, and deployment: shorthands inject into their respective maps using standard.name as the key — which resolves to nameOverride if set, the chart name otherwise (e.g. bookstack), and the release name only when using the generic standard chart directly. Because that name is always part of the fullname, the resource gets the clean fullname with no extra suffix:
chart: bookstack → name: bookstack → fullname: myapp-bookstack → resource name: myapp-bookstack
nameOverride: api → name: api → fullname: myapp-api → resource name: myapp-api
chart: standard → name: myapp → fullname: myapp → resource name: myappPer-resource overrides
Every named resource supports two override fields:
| Field | Scope | Effect |
|---|---|---|
nameOverride | key part only | <fullname>-<nameOverride> (or <fullname>-<prefix>-<nameOverride> for CronJobs/Jobs) |
fullnameOverride | entire name | used verbatim |
yaml
deployments:
worker:
nameOverride: background # → myapp-background
api:
fullnameOverride: my-api # → my-api