Features
SOW creates repository indexes in two modes. Choose Plain for a directory you can rebuild. Choose Managed for ongoing package updates, policy, signing, and publication.
Capabilities
| Capability | Plain | Managed |
|---|---|---|
| RPM and DEB indexes | One directory, either or both formats | One repository, separate Dists |
| Stored membership and generations | — | Yes |
| Per-architecture views | — | Yes, including neutral packages |
| Package exclusions | Fixed cleanup with --pigsty |
Configurable per Dist |
| Version limits | — | Configurable per Dist |
| Metadata signing | — | RPM and DEB |
| RPM package signing | --sign-with |
never, fill, always |
| Recovery after interruption | Rerun create |
Recorded operations and publication attempts |
| Operation log and JSONL export | — | Yes |
| Publication targets | — | Filesystem and R2 |
SOW parses packages and generates indexes itself. It does not require createrepo_c,
dpkg-scanpackages, or reprepro. RPM package signing uses the host rpm and GPG
environment. Metadata signing uses gpg when a key reference resolves to a GPG key identifier.
Generated formats
| Format | Plain | Managed additions |
|---|---|---|
| RPM | primary, filelists, other XML and repomd.xml |
Architecture views; optional repomd.xml.asc |
| DEB | Packages, Packages.gz |
Release, by-hash indexes; optional InRelease and Release.gpg |
RPM XML is gzip-compressed. SOW does not generate SQLite rpm-md, zchunk, modulemd, or source-package indexes. Use your HTTP server or object-storage service to serve the output. See Platforms and integrations for client details.
Learn a feature
| Task | Read |
|---|---|
| Generate indexes beside existing packages | Plain repositories |
| Manage repeated package updates | Managed workspaces |
| Share package bytes across Dist views | Pool and views |
| Exclude packages or keep recent versions | Membership policy |
| Sign packages and indexes | Signing |
| Continue after an interruption | Transactions and recovery |
| Inspect state, validate output, and read history | Observability and audit |
Plain Flat Repositories
Build flat RPM and DEB indexes, repeat interrupted builds, and use signing or the Pigsty marker.
Managed Workspaces
Workspace structure, package membership, configuration, discovery, and initialization.
Pool & Metadata Views
Share package files across RPM and APT views, export RPM leaves, and deliver complete repositories.
Membership Policy
Configure exclusions and version limits, read policy results, and restore removed members.
Signing Model
Configure metadata and RPM package signing, reference keys, and rotate signing identities.
Transactions & Recovery
Recover interrupted Managed operations and understand local build order and lock behavior.
Observability & Audit
Inspect state, verify repository content, compare generations, and read operation history.