Hermes Agent 883e264c42
Some checks failed
build-and-deploy / test (push) Failing after 2m36s
build-and-deploy / build-deploy (push) Has been skipped
chore: seed gitea-repo-template cookie-cutter
Reusable repo template for homelab services on git.aridgwayweb.com.

Bakes in (all verified live on armistace/wedding-photos):
- Hard commit guard: shared pre-commit hook (git config core.hooksPath
  ~/dev/git-hooks) + master branch protection (push whitelist [armistace],
  merge whitelist [hermes, armistace]).
- Gitea Actions CI (.gitea/workflows/build_push.yml): test + build-deploy,
  persistent remote buildkit cache, registry push, idempotent deploy that
  preserves hand-provisioned Secrets, cluster injection from repo secrets/vars
  via scripts/reconcile-cluster-inject.sh.
- Persistent buildkit cache (ci/buildkit/): single-replica Longhorn backing.
- scripts/reconcile-cluster-inject.sh: reconcile live Secret/ConfigMap from
  Gitea secrets/vars without clobbering hand-provisioned values.
- RUNBOOK.md: handoff-complete ops doc.

Placeholders (<APP> <OWNER> <NS> <KEY_*>) are filled per-service on repo creation.
2026-09-24 11:45:57 +10:00

30 lines
1.4 KiB
Markdown

# Gitea Repo Template
Reusable cookie-cutter for new homelab repos on `git.aridgwayweb.com`. Creating a
repo from this template pre-installs the guards + CI patterns that took several
iterations to converge on (see `armistace/wedding-photos`), so every future repo
gets them for free.
## What you get for free
- **Hard commit guard** — local pre-commit hook (blocks direct commits to
`master`/`main`, detach-HEAD) configured via `git config core.hooksPath
~/dev/git-hooks` + Gitea branch protection on `master` (push whitelist
`[armistace]`, merge whitelist `[hermes, armistace]`).
- **Gitea Actions CI** (`.gitea/workflows/build_push.yml`) — test + build-deploy:
persistent remote buildkit cache, Gitea registry push, idempotent deploy that
preserves hand-provisioned Secrets, and cluster injection from repo
secrets/vars via `scripts/reconcile-cluster-inject.sh`.
- **Persistent buildkit cache** (`ci/buildkit/`) — single-replica Longhorn
backing, disk-pressure watchdog referenced from the control host.
- **RUNBOOK.md** — handoff-complete ops doc.
## Create a repo from this template
Gitea UI: `+` → *New Repository* → **"Copy to new repository"** → source
`hermes/gitea-repo-template`.
Automated: `~/.hermes/scripts/gitea-bootstrap-new-repo.sh` (see that script).
Then fill the `<PLACEHOLDERS>` and follow RUNBOOK §1-2. **Ops/watchdog scripts do
NOT belong in repos — keep them in `~/.hermes/scripts/`.**