repository
9 pages-
SOW Design Evolution: From Route Graphs to the Repository Core
SOW moved from a Git-based distribution control plane in v0.1 to a repository engine in v0.2. This article traces that change and the refinements through v0.5.0. Version numbers below refer to released Git tags. Some archived plans used “v0.2” and …
SOW moved from a Git-based distribution control plane in v0.1 to a repository engine in v0.2. This article traces that change and the refinements through v0.5.0. Version numbers below refer to released Git tags. Some archived plans used “v0.2” and …
-
Design Principles
SOW separates package storage, repository builds, and publication. These principles explain where each kind of state belongs and how operations use it. One owner for each record Record Owner Package bytes and identity Repository Desired membership …
SOW separates package storage, repository builds, and publication. These principles explain where each kind of state belongs and how operations use it. One owner for each record Record Owner Package bytes and identity Repository Desired membership …
-
System Model
SOW uses configuration for repository settings, SQLite for managed state, and a public directory for client access. The model separates the packages you select from the files that have been built and published. Objects Workspace ├── Repository │ ├── …
SOW uses configuration for repository settings, SQLite for managed state, and a public directory for client access. The model separates the packages you select from the files that have been built and published. Objects Workspace ├── Repository │ ├── …
-
Why SOW Uses One Payload Tree per Repository
This decision was drafted on 2026-08-05 and shipped in SOW v0.2.0 on 2026-08-08. SOW 0.5.0 still uses this layout. Each Repository stores one package tree and lets its distribution views reference that tree. Decision Each SOW Repository owns one …
This decision was drafted on 2026-08-05 and shipped in SOW v0.2.0 on 2026-08-08. SOW 0.5.0 still uses this layout. Each Repository stores one package tree and lets its distribution views reference that tree. Decision Each SOW Repository owns one …
-
sow repo
sow repo creates, lists, inspects, upgrades, and removes Repositories. Each Repository stores its packages in pool/ and its indexes in dists/. Packages are shared among Dists in the same Repository. Synopsis sow repo ls [-C DIR] [--json] sow repo new …
sow repo creates, lists, inspects, upgrades, and removes Repositories. Each Repository stores its packages in pool/ and its indexes in dists/. Packages are shared among Dists in the same Repository. Synopsis sow repo ls [-C DIR] [--json] sow repo new …
-
Repository Layout
Serve the complete Managed repository directory: pool/ plus dists/. Keep workspace configuration and .sow/ state outside the web server’s document root. Plain directory /srv/offline/ ├── example-1.0-1.x86_64.rpm ├── example_1.0-1_amd64.deb ├── …
Serve the complete Managed repository directory: pool/ plus dists/. Keep workspace configuration and .sow/ state outside the web server’s document root. Plain directory /srv/offline/ ├── example-1.0-1.x86_64.rpm ├── example_1.0-1_amd64.deb ├── …
-
Core Concepts
Choose a mode Need Plain Managed Build indexes from a package directory sow create DIR Import packages with sow add Keep configuration and package membership Directory contents are the state sow.yml and private SQLite databases Organize packages One …
Choose a mode Need Plain Managed Build indexes from a package directory sow create DIR Import packages with sow add Keep configuration and package membership Directory contents are the state sow.yml and private SQLite databases Organize packages One …
-
Managed Workspaces
Use Managed mode for repositories that receive regular updates. SOW records package membership, applies Dist policy, builds metadata, and keeps operation history. Workspace, repository, and Dist Workspace └── Repository └── Dist └── Architecture view …
Use Managed mode for repositories that receive regular updates. SOW records package membership, applies Dist policy, builds metadata, and keeps operation history. Workspace, repository, and Dist Workspace └── Repository └── Dist └── Architecture view …
-
Your First Workspace
This example creates a Managed repository with two named package sets, called Dists: el9 for RPMs and bookworm for DEBs. Use an empty, writable /srv/sow directory, or substitute another path. Initialize the workspace sow init /srv/sow cd /srv/sow …
This example creates a Managed repository with two named package sets, called Dists: el9 for RPMs and bookworm for DEBs. Use an empty, writable /srv/sow directory, or substitute another path. Initialize the workspace sow init /srv/sow cd /srv/sow …