Skip to main content

Module config

Module config 

Source
Expand description

Port of internal/config and its latest, types, and versions sub-packages.

Modulesยง

caproni
Port of internal/config/caproni.go: the top-level config loader (LoadCaproniConfig), schema compilation, and the variable-expansion / literal-field guards it orchestrates.
container
Port of internal/config/container.go: a wrapper bundling a Caproni config with a GlobalConfig and an injected variable resolver.
definitions
Port of internal/config/definitions.go: resolution of the top-level variables: section (literal and file-backed definitions).
errors
Port of internal/config/errors.go: sentinel errors shared across the config package.
global
Port of internal/config/config.go: global configuration management.
latest
Port of internal/config/latest: configuration structures for the latest (v2, separated-concerns) Caproni config format, plus its terminal Upgrade no-op.
merge
Port of internal/config/merge.go: extends:/local-override composition, RFC 7386-style deep merge with append-list semantics for a handful of keys, and the caproni-project.yaml per-repository fragment machinery.
migration
Port of internal/config/migration.go: structural upgrade of a config file to the latest schema, in memory (PlanMigration) or committed to disk (MigrationPlan::write).
registry
Port of internal/config/versions.go: the version registry, the upgrade walker, and loadAndUpgrade.
types
Port of internal/config/types: shared configuration types used across config versions.
validate
Port of internal/config/validate.go: semantic validation on a v2 configuration (referential integrity, file paths, and other constraints beyond what the JSON schema enforces).
version
Port of internal/config/version.go: configuration version detection.
versions
Port of internal/config/versions: the contract for versioned Caproni configurations that can upgrade themselves toward the latest schema version.