SOW Documentation

Create and manage APT / YUM package repositories with a single self-contained binary.

SOW is a self-contained package repository manager built by Pigsty. It ships as one static Go binary that creates and maintains APT (DEB) and YUM (RPM) repositories on Linux and macOS — no createrepo_c, no dpkg-scanpackages, no reprepro, no daemon.

It operates in two isolated modes:

  • Plain modesow create turns any directory of .rpm / .deb files into a flat, servable repository, deterministically and in place.
  • Managed mode — a workspace with Debian-style package pools, per-architecture views, GPG signing, membership policies, transactional builds, and a full audit trail.

Where to begin

If you want to…Read
Get a repository online right nowQuick Start
Understand the mental model firstCore Concepts
Build a production YUM / APT repositoryTutorials
Understand architectural decisions and version boundariesDesign
Replace an existing createrepo_c / reprepro pipelineMigration guide
Look up a command or config fieldReference

Getting Started

Install SOW, publish a working repository in five minutes, and learn the model behind it.

Tutorials

End-to-end walkthroughs that take a pile of packages all the way to a signed repository your clients can install from.

Features

How SOW works and why it is built this way: execution paths, pool projection, policy, signing, transactions, and audit.

Design

The architectural decisions behind SOW: ownership, repository layout, publication, compatibility, and version evolution.

Reference

Command syntax, configuration schema, on-disk layout, exit codes, JSON output, and the tested compatibility matrix.

Last modified: 2026-08-08: init commit (fe725aa)