Documentation
¶
Overview ¶
Package soapbox is the narrow public entry point of the Soapbox engine.
Template derived repositories depend on this package from a small nested tools module that pins an immutable tools/vX.Y.Z engine release. Everything else lives under internal/, so the engine can evolve without changing the contract a generated repository compiles against.
Index ¶
Constants ¶
View Source
const ( // ExitOK reports success. ExitOK = cli.ExitOK // ExitFailure reports an unexpected runtime failure. ExitFailure = cli.ExitFailure // ExitUsage reports a malformed command line. ExitUsage = cli.ExitUsage // ExitCheck reports that the command ran and found policy violations. ExitCheck = cli.ExitCheck // ExitCanceled reports that the context ended before the command did. ExitCanceled = cli.ExitCanceled )
Exit codes returned by Main and Run.
View Source
const Version = cli.Version
Version is the engine version.
Variables ¶
This section is empty.
Functions ¶
Types ¶
This section is empty.
Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
soapbox
command
Command soapbox runs the Soapbox engine.
|
Command soapbox runs the Soapbox engine. |
|
internal
|
|
|
actionsctx
Package actionsctx validates that the process is running inside a trusted GitHub Actions workflow before accepting a publishing credential.
|
Package actionsctx validates that the process is running inside a trusted GitHub Actions workflow before accepting a publishing credential. |
|
buildinfo
Package buildinfo holds the identity of the engine build.
|
Package buildinfo holds the identity of the engine build. |
|
cli
Package cli dispatches soapbox subcommands.
|
Package cli dispatches soapbox subcommands. |
|
closure
Package closure computes the package granular Go import closure of an already materialized upstream worktree, asserts a profile's exact pruning and denied imports against it, and plans the files a portable build needs.
|
Package closure computes the package granular Go import closure of an already materialized upstream worktree, asserts a profile's exact pruning and denied imports against it, and plans the files a portable build needs. |
|
config
Package config decodes, normalizes, and validates the versioned soapbox.yaml extraction profile.
|
Package config decodes, normalizes, and validates the versioned soapbox.yaml extraction profile. |
|
deppolicy
Package deppolicy decides whether a staging package may be copied into the generated module or must stay an external module dependency.
|
Package deppolicy decides whether a staging package may be copied into the generated module or must stay an external module dependency. |
|
doctor
Package doctor reports whether the local environment satisfies the Soapbox toolchain, identity, and commit signing policy.
|
Package doctor reports whether the local environment satisfies the Soapbox toolchain, identity, and commit signing policy. |
|
extract
Package extract composes the engine's source, closure, patch, relocation, and rewriting phases into one read-only extraction plan for a single upstream ref.
|
Package extract composes the engine's source, closure, patch, relocation, and rewriting phases into one read-only extraction plan for a single upstream ref. |
|
facade
Package facade generates the curated public API of an extracted module.
|
Package facade generates the curated public API of an extracted module. |
|
generate
Package generate composes the engine's extraction, staging, module, facade, type, dependency, and provenance phases into one complete generated module for an upstream release tag or a release-bounded exact commit.
|
Package generate composes the engine's extraction, staging, module, facade, type, dependency, and provenance phases into one complete generated module for an upstream release tag or a release-bounded exact commit. |
|
ghapi
Package ghapi is the typed GitHub REST boundary of the engine.
|
Package ghapi is the typed GitHub REST boundary of the engine. |
|
gitcli
Package gitcli is the only Git subprocess and credential boundary in the engine.
|
Package gitcli is the only Git subprocess and credential boundary in the engine. |
|
gitgraph
Package gitgraph provides the commit graph data structures and the pure graph algorithms that source discovery and deterministic replay share.
|
Package gitgraph provides the commit graph data structures and the pure graph algorithms that source discovery and deterministic replay share. |
|
gocli
Package gocli is the only Go toolchain subprocess boundary in the engine.
|
Package gocli is the only Go toolchain subprocess boundary in the engine. |
|
gomodmap
Package gomodmap aligns the staging modules of one Kubernetes source commit onto real module versions a generated module can require.
|
Package gomodmap aligns the staging modules of one Kubernetes source commit onto real module versions a generated module can require. |
|
gostate
Package gostate holds the primitives that decide what counts as package level state in a Go package.
|
Package gostate holds the primitives that decide what counts as package level state in a Go package. |
|
modgen
Package modgen generates the provisional root go.mod of the extracted module and proves the Go toolchain agrees with what it says.
|
Package modgen generates the provisional root go.mod of the extracted module and proves the Go toolchain agrees with what it says. |
|
modulegraph
Package modulegraph loads one already resolved Go module and hands the policy packages the typed graphs they judge.
|
Package modulegraph loads one already resolved Go module and hands the policy packages the typed graphs they judge. |
|
patchset
Package patchset selects and applies the ordered unified diffs a profile carries for one source commit.
|
Package patchset selects and applies the ordered unified diffs a profile carries for one source commit. |
|
provenance
Package provenance generates the root evidence files of an extracted module.
|
Package provenance generates the root evidence files of an extracted module. |
|
publish
Package publish is the engine's append only publication boundary.
|
Package publish is the engine's append only publication boundary. |
|
release
Package release projects one upstream release onto a deterministic destination tag.
|
Package release projects one upstream release onto a deterministic destination tag. |
|
relocate
Package relocate maps a materialized upstream file set onto the destination paths of the generated module.
|
Package relocate maps a materialized upstream file set onto the destination paths of the generated module. |
|
replay
Package replay maps a source commit graph onto deterministic destination commits.
|
Package replay maps a source commit graph onto deterministic destination commits. |
|
rewrite
Package rewrite performs the minimal syntax aware source changes that turn upstream Kubernetes files into files of the generated module.
|
Package rewrite performs the minimal syntax aware source changes that turn upstream Kubernetes files into files of the generated module. |
|
setup
Package setup turns a copied soapbox template checkout into one derived repository.
|
Package setup turns a copied soapbox template checkout into one derived repository. |
|
source
Package source maintains the reusable blobless clone of the upstream repository and materializes isolated sparse work trees from it.
|
Package source maintains the reusable blobless clone of the upstream repository and materializes isolated sparse work trees from it. |
|
state
Package state records what a resumable run already did, as a Git object that no ref points at.
|
Package state records what a resumable run already did, as a Git object that no ref points at. |
|
sync
Package sync orchestrates one complete synchronization.
|
Package sync orchestrates one complete synchronization. |
|
testsupport
Package testsupport builds real temporary Git repositories for engine tests.
|
Package testsupport builds real temporary Git repositories for engine tests. |
|
treebuild
Package treebuild turns a relocated file set into the Git objects a generated module is published from.
|
Package treebuild turns a relocated file set into the Git objects a generated module is published from. |
|
typeswap
Package typeswap proves that an internal Kubernetes API type can be replaced by its public counterpart, or that an unreachable internal package can be pruned without replacing any type at all.
|
Package typeswap proves that an internal Kubernetes API type can be replaced by its public counterpart, or that an unreachable internal package can be pruned without replacing any type at all. |
|
upgrade
Package upgrade implements approval-gated upgrades of derived repositories.
|
Package upgrade implements approval-gated upgrades of derived repositories. |
Click to show internal directories.
Click to hide internal directories.