Files
homelab-gitops/docs/chart-ownership.md
T

30 lines
1.4 KiB
Markdown

# Helm chart ownership and promotion
This repository contains cluster policy and values, not application workload
implementations. Deployments, StatefulSets, Services, ports, probes, mount
paths, and configuration wiring belong to a published upstream or maintained
Helm chart outside this repository.
Each independently versioned application has one chart and one Argo CD
Application. This includes each Artcraft application: WordCraft, GridCraft,
DeckCraft, PhotoCraft, LightCraft, VectorCraft, FilmCraft, EffectCraft,
DesignCraft, FigCraft, PdfCraft, SoundCraft, and CADCraft are separate releases,
not one suite chart.
Maintained chart repositories set `Chart.yaml.appVersion` to the tested
application/image version. CI derives the chart package version from Git:
- tag `v1.0.0` produces chart `1.0.0`;
- the next commit produces a unique version such as
`1.0.0-1-g41627abcdef`.
The hash is retained to prevent package-version collisions. CI publishes to
`https://brunner.ninja/charts`, then uses `GITOPS_TOKEN` to update only the
matching Argo Application's exact Helm `targetRevision`. Argo CD performs the
deployment; chart CI never receives Kubernetes credentials.
GitOps values may select namespaces, hostnames, ingress integration, existing
claims or storage classes/sizes, resource sizing, replica counts, monitoring
labels, and names of existing Secrets. They must not duplicate chart-owned
image versions or resource topology.