Skip to content

scope_definition: optional package registration (spec+actions+artifacts BOM)#446

Open
sebasnallar wants to merge 1 commit into
mainfrom
feat/scope-definition-package
Open

scope_definition: optional package registration (spec+actions+artifacts BOM)#446
sebasnallar wants to merge 1 commit into
mainfrom
feat/scope-definition-package

Conversation

@sebasnallar

Copy link
Copy Markdown

Adds an opt-in package variable to nullplatform/scope_definition: when set, the module publishes the definition as a versioned package whose bill of materials pins the service specification + every action specification (snapshotted automatically via the provider's last_snapshot_id) + caller-supplied artifacts.

Artifacts support three modes per entry:

  • createmeta given: registers a new artifact revision inline
  • lookuplookup = true + identity meta (registry+repository…): resolves an artifact registered elsewhere (CI / np package publish) — no ids in configuration; latest revision unless digest/reference pins one
  • pinned — explicit resource_id + resource_revision_id

Verified end-to-end against the real API with a locally-built provider (branch feat/packages-artifacts-resources): from-zero apply (20 resources), identity lookup, version bump 0.0.1→0.0.2 publishing a second revision + default promotion, full destroy. examples/package/ is the applied configuration.

Reviewer notes:

  • Requires the provider release carrying package/artifact resources (dev_overrides until then); tags additionally needs the API's release-tag routes.
  • Two API behaviors surfaced during testing (reported separately): DELETE /packages/:id leaks component claims; re-publishing an existing version replaces its revision (no BOM-mismatch guard within the same package).

…tions + artifacts)

var.package publishes the definition as a versioned package: components pin
the service specification and every action specification at their latest
snapshots (automatic), plus caller artifacts — created inline (meta), resolved
by identity lookup (no ids in config), or pinned by explicit ids. Verified
end-to-end against the real API: create from zero, identity lookup, version
bump publishing a second revision with default promotion, destroy.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant