Skip to content

shellcell/snailmail

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 

Repository files navigation

snailmail

relaxed package delivery

One tool to create, host, sign and operate package repositories of any format — apt, dnf, apk, PyPI, npm, Helm, OCI, Cargo, Go, Maven, Nix, or plain artifacts — on hosting you choose, and to publish into repositories you don't own — AUR, Homebrew, nixpkgs, npmjs, PyPI, ghcr.

Status: design. Nothing is implemented yet. See PLAN.md for the domain model, the architecture, the phasing, and the open questions.

The short version:

  • Static-first. Index generation is a pure function returning a file tree, so GitHub Pages, S3, or a USB stick are all valid hosting. The server is optional and never load-bearing.
  • Git is the state. A repository's contents are a committed lockfile; the served index is a build artifact. Rollback is git revert.
  • Declarative. One manifest says what should be published where; plan and apply reconcile against it.
  • Gated per repository. auto, pr, or approval is a field, not the shape of a workflow file.
  • Verified. Nothing is done until a container has installed from it.
  • Five minutes to a working repo. snailmail setup deb provisions the hosting, generates a format-appropriate key, writes the CI, and emits install instructions that cannot drift from what was built.
              apt      dnf      apk      aur      aur-bin  brew     nixpkgs
  ttysvg      0.1.2    0.1.2 ✗  0.1.2    0.1.2    0.1.2    0.1.2    0.0.7 ⚠
  exex        0.3.2    0.3.2 ✗  0.3.2    0.3.2    0.3.2    0.3.2    —
  cnvrt       0.0.3    0.0.3 ✗  0.0.3    0.0.3    0.0.3    0.0.3    —
  snailrace   0.0.5    0.0.5 ✗  0.0.5    0.0.5    PR #12   0.0.5    —

  ✗ verify failing   ⚠ lagging   PR # gate pending

About

Relaxed package delivery

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors