Skip to content

cli

26 pages
  • sow log

    In Commands

    Commandcliaudit

    sow log lists Repository operations and shows the details of one operation. Use log export to archive completed records as JSONL. Use log prune to remove eligible old records from the database. Synopsis sow log [OPERATION] [-C|--workdir DIR] …

    sow log lists Repository operations and shows the details of one operation. Use log export to archive completed records as JSONL. Use log prune to remove eligible old records from the database. Synopsis sow log [OPERATION] [-C|--workdir DIR] …

  • sow export

    In Commands

    Commandclirpmdist

    sow export rpm-leaf creates a standalone RPM repository for one Dist and architecture. It copies the packages into an external directory and rewrites metadata to use local pool/... paths. Synopsis sow export rpm-leaf DIST ARCH DIR [--hardlink] …

    sow export rpm-leaf creates a standalone RPM repository for one Dist and architecture. It copies the packages into an external directory and rewrites metadata to use local pool/... paths. Synopsis sow export rpm-leaf DIST ARCH DIR [--hardlink] …

  • sow gc

    In Commands

    Commandcligcretentionpublish

    Run sow gc to reclaim local package files that are no longer needed. Run sow gc TARGET to maintain a configured publication target. Filesystem targets can delete eligible objects; R2 targets only report candidates. Synopsis sow gc [-C|--workdir DIR] …

    Run sow gc to reclaim local package files that are no longer needed. Run sow gc TARGET to maintain a configured publication target. Filesystem targets can delete eligible objects; R2 targets only report candidates. Synopsis sow gc [-C|--workdir DIR] …

  • sow retain

    In Commands

    Commandcliretentiongeneration

    sow retain protects the package files needed by a selected Generation from local GC. Add the current Built Generation before a later build replaces it. Retention preserves package files and a frozen manifest; it does not restore or publish an older …

    sow retain protects the package files needed by a selected Generation from local GC. Add the current Built Generation before a later build replaces it. Retention preserves package files and a frozen manifest; it does not restore or publish an older …

  • sow publish

    In Commands

    Commandclipublishobject-storagefilesystem

    sow publish copies the current Built Generation to a target in the targets: section of sow.yml. The target selects the Repository and storage provider. Build first when the target must include the latest Desired changes. Synopsis sow publish TARGET …

    sow publish copies the current Built Generation to a target in the targets: section of sow.yml. The target selects the Repository and storage provider. Build first when the target must include the latest Desired changes. Synopsis sow publish TARGET …

  • sow changes

    In Commands

    Commandclipublishgeneration

    sow changes lists file differences between a base Generation and the current Built Generation. Paths are relative to the Repository root. Build first to include pending Desired changes. Synopsis sow changes [BASE_GENERATION] [-C|--workdir DIR] …

    sow changes lists file differences between a base Generation and the current Built Generation. Paths are relative to the Repository root. Build first to include pending Desired changes. Synopsis sow changes [BASE_GENERATION] [-C|--workdir DIR] …

  • sow check

    In Commands

    Commandcliauditsigning

    sow check verifies a managed Repository before delivery. It checks package hashes, stored state, indexes, signatures, and the Generation manifest. The command is read-only; run sow build first if Desired state differs from the Built Generation. …

    sow check verifies a managed Repository before delivery. It checks package hashes, stored state, indexes, signatures, and the Generation manifest. The command is read-only; run sow build first if Desired state differs from the Built Generation. …

  • sow build

    In Commands

    Commandclimanagedgeneration

    sow build updates local indexes to match Desired membership and current configuration. Run it after add --skip, rm --skip, or a policy change. It recovers unfinished local Repository operations before starting the next build. Synopsis sow build …

    sow build updates local indexes to match Desired membership and current configuration. Run it after add --skip, rm --skip, or a policy change. It recovers unfinished local Repository operations before starting the next build. Synopsis sow build …

  • sow status

    In Commands

    Commandclimanagedaudit

    sow status reports whether a Repository needs a build, how much pending data it holds, and whether a writer is active. It reads stored state without hashing package files. Use sow check to verify file contents. Synopsis sow status [-C|--workdir DIR] …

    sow status reports whether a Repository needs a build, how much pending data it holds, and whether a writer is active. It reads stored state without hashing package files. Use sow check to verify file contents. Synopsis sow status [-C|--workdir DIR] …

  • sow where

    In Commands

    Commandclimanaged

    sow where finds the Desired membership locations of one package across a Workspace. It searches all Repositories by default. Use -r or -d to limit the search. Synopsis sow where PACKAGE [-C|--workdir DIR] [-r|--repo NAME] [-d|--dist NAME]... [--json] …

    sow where finds the Desired membership locations of one package across a Workspace. It searches all Repositories by default. Use -r or -d to limit the search. Synopsis sow where PACKAGE [-C|--workdir DIR] [-r|--repo NAME] [-d|--dist NAME]... [--json] …

  • sow show

    In Commands

    Commandclimanagedsigning

    sow show displays one package in the selected Repository. The text output summarizes its identity, storage, and membership. Add --json for the complete stored package record. Synopsis sow show PACKAGE [-C|--workdir DIR] [-r|--repo NAME] [-d|--dist …

    sow show displays one package in the selected Repository. The text output summarizes its identity, storage, and membership. Add --json for the complete stored package record. Synopsis sow show PACKAGE [-C|--workdir DIR] [-r|--repo NAME] [-d|--dist …

  • sow ls

    In Commands

    Commandclimanaged

    sow ls lists packages in the selected Dists’ Desired membership. Each row also shows the package’s Desired and Built locations across the Repository. Use it to obtain package references for show or rm. Synopsis sow ls [-C|--workdir DIR] [-r|--repo …

    sow ls lists packages in the selected Dists’ Desired membership. Each row also shows the package’s Desired and Built locations across the Repository. Use it to obtain package references for show or rm. Synopsis sow ls [-C|--workdir DIR] [-r|--repo …

  • sow rm

    In Commands

    Commandclimanagedpolicy

    sow rm removes packages from the selected Dists and rebuilds their local indexes. Use --check to preview the removal, or --skip to postpone the build. Package files remain in pool/ until sow gc can reclaim them. Synopsis sow rm PACKAGE... …

    sow rm removes packages from the selected Dists and rebuilds their local indexes. Use --check to preview the removal, or --skip to postpone the build. Package files remain in pool/ until sow gc can reclaim them. Synopsis sow rm PACKAGE... …

  • JSON Output

    In Reference

    Referenceclioutputjson

    Use --json on data commands to read one newline-terminated JSON document from stdout. Diagnostics go to stderr. log export is the exception: it writes JSON Lines and does not accept --json. sow status -r demo --json | jq '.result.status' Envelope …

    Use --json on data commands to read one newline-terminated JSON document from stdout. Diagnostics go to stderr. log export is the exception: it writes JSON Lines and does not accept --json. sow status -r demo --json | jq '.result.status' Envelope …

  • sow add

    In Commands

    Commandclimanagedpolicy

    sow add imports packages into the selected Dists and builds their local indexes. It reads package format and architecture from the package headers, then applies each Dist’s policy. Use --skip to import several batches before one build. To update a …

    sow add imports packages into the selected Dists and builds their local indexes. It reads package format and architecture from the package headers, then applies each Dist’s policy. Use --skip to import several batches before one build. To update a …

  • Exit Codes

    In Reference

    Referenceclioutput

    Use exit codes in scripts and read the diagnostic for the specific cause. SOW uses the same code meanings across commands. Code Meaning Next step 0 Success or no-op Read the result; no-op commands may report noop: true 1 Runtime I/O, package …

    Use exit codes in scripts and read the diagnostic for the specific cause. SOW uses the same code meanings across commands. Code Meaning Next step 0 Success or no-op Read the result; no-op commands may report noop: true 1 Runtime I/O, package …

  • sow dist

    In Commands

    Commandclidistmanaged

    sow dist manages the distributions that clients use. Each Dist contains either RPM or DEB packages. Dists in one Repository share pool/ and have separate indexes under dists/. Synopsis sow dist ls [-C DIR] [-r NAME] [--json] sow dist new NAME …

    sow dist manages the distributions that clients use. Each Dist contains either RPM or DEB packages. Dists in one Repository share pool/ and have separate indexes under dists/. Synopsis sow dist ls [-C DIR] [-r NAME] [--json] sow dist new NAME …

  • Commands

    In Commands

    Commandcli

    Use these pages for command syntax, selection rules, results, and examples. Run sow help COMMAND or sow help COMMAND SUBCOMMAND to check the options in your installed version. Command index sow create builds a flat repository directly in a directory. …

    Use these pages for command syntax, selection rules, results, and examples. Run sow help COMMAND or sow help COMMAND SUBCOMMAND to check the options in your installed version. Command index sow create builds a flat repository directly in a directory. …

  • sow repo

    In Commands

    Commandclirepositorymanaged

    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 …

  • Reference

    In Reference

    Referenceconfigcli

    Use these pages to look up configuration fields, package references, file paths, and script interfaces. For command syntax, see Commands or run sow help COMMAND. Configuration Fields, defaults, validation rules, signing references, and publication …

    Use these pages to look up configuration fields, package references, file paths, and script interfaces. For command syntax, see Commands or run sow help COMMAND. Configuration Fields, defaults, validation rules, signing references, and publication …

  • Package References

    In Reference

    Referenceclirpmdeb

    rm, show, and where accept package references. add accepts file or directory paths. Use sow ls to find a package coordinate or SHA-256, then pass it to another command. sow ls -r demo -d el9 sow show 'rpm:example-0:1.0-1.x86_64' -r demo Accepted …

    rm, show, and where accept package references. add accepts file or directory paths. Use sow ls to find a package coordinate or SHA-256, then pass it to another command. sow ls -r demo -d el9 sow show 'rpm:example-0:1.0-1.x86_64' -r demo Accepted …

  • sow config

    In Commands

    Commandcliconfig

    Use sow config check after editing sow.yml. It validates the configuration, signing references, and compatibility with existing Repository state. Use sow config show to inspect resolved defaults and inherited settings. Both commands are read-only. …

    Use sow config check after editing sow.yml. It validates the configuration, signing references, and compatibility with existing Repository state. Use sow config show to inspect resolved defaults and inherited settings. Both commands are read-only. …

  • Quick Start

    In Get Started

    Startplainrpmdebcli

    Use Plain mode to build a repository from a directory of packages. It works without a workspace or configuration file. You need SOW, Python 3 for the preview, and at least one RPM or DEB file. Prepare a directory Create a writable directory. Replace …

    Use Plain mode to build a repository from a directory of packages. It works without a workspace or configuration file. You need SOW, Python 3 for the preview, and at least one RPM or DEB file. Prepare a directory Create a writable directory. Replace …

  • sow init

    In Commands

    Commandclimanagedconfig

    sow init creates a Workspace with sow.yml and private .sow/ state. If the configuration already declares Repositories and Dists, it creates the missing ones. Run it again to complete initialization after adding declarations. Synopsis sow init [DIR] …

    sow init creates a Workspace with sow.yml and private .sow/ state. If the configuration already declares Repositories and Dists, it creates the missing ones. Run it again to complete initialization after adding declarations. Synopsis sow init [DIR] …

  • sow create

    In Commands

    Commandcliplainrpmdeb

    sow create writes RPM and DEB indexes beside the package files in a directory. Use it for a flat repository that does not need a managed Workspace. DIR defaults to the current directory. Synopsis sow create [DIR] [-j N] [--metadata-timestamp SECONDS] …

    sow create writes RPM and DEB indexes beside the package files in a directory. Use it for a flat repository that does not need a managed Workspace. DIR defaults to the current directory. Synopsis sow create [DIR] [-j N] [--metadata-timestamp SECONDS] …

  • Troubleshooting

    In Reference

    Referenceclirecoverytroubleshooting

    Start with the error message and the exit code. For Managed commands, specify the workspace and Repository so you inspect the intended state: sow version sow status -C /srv/sow -r pgsql sow log -C /srv/sow -r pgsql Replace /srv/sow, pgsql, and the …

    Start with the error message and the exit code. For Managed commands, specify the workspace and Repository so you inspect the intended state: sow version sow status -C /srv/sow -r pgsql sow log -C /srv/sow -r pgsql Replace /srv/sow, pgsql, and the …