Skip to content

Features

Choose a repository mode, then add package policies, signing, publication, and audit.

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.