vps cluster docs

0001. GitOps with ArgoCD (app-of-apps)

Context

One fixed single-node k3s cluster, maintained by one person, serving a mix of personal apps and a third-party tenant. Deployments must be reproducible from git after a node loss, reviewable as diffs, and impossible to drift silently. Two things make this harder than a demo: the cluster is on a public internet address, and some workloads hold student data, so “who can make the cluster do something” is a security question, not a convenience question.

Decision

git is the only source of truth, and ArgoCD is the only deployment mechanism.

Alternatives rejected

Consequences

Evidence

k8s/bootstrap/root-app.yaml, k8s/argocd/projects/{platform,apps,vcap}.yaml, k8s/argocd/applicationsets/apps.yaml, k8s/argocd/applications/{platform,apps,vcap}/, the ArgoCD sections of docs/architecture.md, and the AppProject-scoping notes in .claude/skills/cluster-state/SKILL.md.