vole
Clone
Read only, no credentials:
https://rodent.software/git/vole.git
Write over SSH with a registered key:
git clone ssh://git@0.0.0.0:2222/vole.git
A free and open-source forge that lives in your Git repo.
Check the deployment files before a user's first boot
dbae2e01bcec3167e007123a211c8cdd5f356487 · Keenan Nemetz · 3d ago · parent b8e7a567
Check the deployment files before a user's first boot The files a new instance is built from are the ones nobody runs before a user does. A stray placeholder, a boot script with a syntax error, or a compose file naming a path that is not there all fail minutes after someone paid for a machine. check-deploy.py parses every YAML under deploy/, renders the template with the placeholder list render.sh uses (so the two cannot drift), checks the rendered document has the files it promises, and runs `sh -n` on the boot script and the container entrypoint. Terraform is formatted with `terraform fmt -check`, from a version pinned by checksum for both architectures a runner can be, beside nfpm and govulncheck. The link checker also skips .terraform, which every operator will create in place, and the ignore file keeps Terraform's working directory out of Git while keeping its lock files in.
.gitignore +8−1
| @@ -5,8 +5,15 @@ | |||
| 5 | 5 | # Instance data: repos, databases, spool files, instance key | |
| 6 | 6 | /data/ | |
| 7 | 7 | vole.toml | |
| 8 | # ...but the config a package installs is source, not an instance. | ||
| 8 | # ...but the configs a package and a container ship are source, not an instance. | ||
| 9 | 9 | !packaging/vole.toml | |
| 10 | !deploy/docker/vole.toml | ||
| 11 | |||
| 12 | # Terraform's working directory. The lock file beside it is committed: it pins the | ||
| 13 | # provider and its checksums, which is what makes a plan reproducible. | ||
| 14 | .terraform/ | ||
| 15 | *.tfstate | ||
| 16 | *.tfstate.backup | ||
| 10 | 17 | ||
| 11 | 18 | # SQLite sidecars | |
| 12 | 19 | *.db | |