IN SCOPE
What SOW does
- Generating and maintaining RPM and DEB repository indexes
- Package pools, architecture views, and membership policy
- Metadata signing and RPM package signing
- Transactions, crash recovery, and an operation audit trail
OPEN-SOURCE APT / YUM REPOSITORY MANAGER
One binary that builds and manages APT & YUM repositories createrepo_c and reprepro, replaced — by the Pigsty Community
POOL // IMMUTABLE PACKAGE STORE
PRODUCT FACTS
VALUE PROPOSITION
For operators who host their own package feeds—no toolchain to install, no daemon to run, no guessing about state.
01 · TWO ENGINES
One command to start. One model to grow into
sow create indexes a directory of rpm / deb files in placeFrom a scratch directory to a long-lived feed, without changing tools
02 · POOL AND VIEWS
The pool owns the bytes. Views are projections
pool/ holds immutable payloads, grouped by initialnoarch / all packages land in every applicable viewA multi-architecture repository costs about as much disk as one
03 · SIGNING AND TRUST
Metadata signatures and package signatures, kept apart
repomd.xml.asc, InRelease, Release.gpgnever / fill / always modefile://, env://, or agent://Changing a signing identity marks the repository dirty until it is rebuilt
04 · TRANSACTIONS AND AUDIT
Record the intent, then touch the files
sow log, sow log exportWhen the evidence is insufficient, it refuses—rather than guessing
COMMAND SURFACE
Create, add, build, check, audit—every verb has a defined exit code and an optional JSON envelope.
SCOPE
SOW builds and maintains local repositories. The column on the right is not a backlog—those are explicit non-goals.
IN SCOPE
EXPLICIT NON-GOALS
DOWNLOAD
Take a prebuilt binary for your platform, or build one with the Go toolchain. Neither path needs an extra runtime.
PREBUILT BINARY
Take a static binary from GitHub Releases, drop it on your PATH, and run it. No CGO, no runtime dependencies.
BUILD FROM SOURCE
Build the same static binary with CGO_ENABLED=0 go build -trimpath—convenient for auditing and cross-compilation.