Skip to content

Graph inventory: model image layers, packages, and files #228

Description

@toddysm

Part of the file-backed supply-chain graph requirements (#168). Identified by the #168 gap analysis (bucket 1: inventory).

Problem

The current graph models occurrences, artifacts, tags, deployments, annotations and their supply-chain edges, but has no layer, package, or file inventory. Requirements in #168 ("Layer, package, and file inventory") are unmet.

Scope

  • Add Layer, Package, File nodes and relationships to Occurrence/Artifact (associated with the platform-specific manifest that was scanned).
  • Record ordered layers of a manifest.
  • Track packages with stable identifiers (PURL when available): version, type, supplier, licenses, source evidence.
  • Track files: path, digest, size, mode, owner, originating layer.
  • Associate packages/files with the layer that introduced/changed/removed them when evidence exists.
  • Preserve whiteout/removal semantics (final-filesystem interpretation) so removed files are not reported as present.
  • Support inventory queries at both the per-layer and final-artifact views.

Notes

Acceptance criteria

  • Schema + indexer support Layer/Package/File nodes and their edges.
  • Queries expose per-layer and final-filesystem inventory views.
  • Whiteout/removal semantics covered by tests.
  • Docs updated in docs/architecture/observability/supply-chain-graph.md.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    catalogRelated to the Catalog stagefeatureNew feature or requestobservabilityRelated to Observability

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions