Sign in

Search issue titles and bodies, change requests and comments. Private repositories you cannot read are not included.

vole
Clone

Read only, no credentials:

https://rodent.software/vole.git

Write over SSH with a registered key:

git clone ssh://git@rodent.software:2222/vole.git

A free and open-source forge that lives in your Git repo.

Releases: a tag and a pointer; the tarball is generated, not stored

f76c635b898957a8ce1b5267a21fe887f8234a13 · Keenan Nemetz · 18d ago · parent ada367f1

Releases: a tag and a pointer; the tarball is generated, not stored

Writes the release/artifact design into Phase 7 as three slices, with the
spike's numbers behind each decision:

- a release is an annotated tag plus releases/<tag>.json on refs/heads/vole
- an artifact is a literal LFS pointer blob, so the existing sweep marks it
  (gc parses pointers and walks every ref) and pre-receive already checks its
  oid and size; a JSON list of sha256 strings would be swept as garbage
- source archives are streamed per request: plain tar by default, compression
  a request option, semaphore only for compressed formats
- slice 4 makes published releases immutable at the gate, because a download
  link that can change bytes is worse than no link

Adds one Phase 7 exit criterion, marked unmet because nothing is built, and
moves releases out of the README's implicit promises into "Not yet".

README.md +2−1

@@ -60,7 +60,8 @@ Working today:
60 60 - An instance ed25519 key generated at first boot (used for metadata signing in
61 61 Phase 7)
62 62
63 Not yet: workflow artifact uploads, LFS locking. Signature verification is deferred,
63 Not yet: releases and release artifacts, workflow artifact uploads, LFS locking.
64 Signature verification is deferred,
64 65 not planned: the SSH handshake already establishes who pushed, so signing approvals
65 66 would restate it for a verifier this deployment does not have (see the roadmap).
66 67