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.
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 viagit config core.hooksPath ~/dev/git-hooks+ Gitea branch protection onmaster(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 viascripts/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/.
Description
Reusable homelab repo cookie-cutter: hard commit guard + Gitea Actions CI + persistent buildkit cache + RUNBOOK. Generate from this to bootstrap any new homelab repo.
Languages
Shell
100%