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 aGlobalConfigand an injected variable resolver. - definitions
- Port of
internal/config/definitions.go: resolution of the top-levelvariables: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 terminalUpgradeno-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 thecaproni-project.yamlper-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, andloadAndUpgrade. - 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.