1.8 KiB
Distributor Source Bundle Mapping
Weatherreporter uses the source-bundle format through Distributor's
pkg/upload.UploadFiles helper. It does not create bundle directories or call
pkg/bundle directly. The helper creates a temporary bundle, writes and
validates manifest.json, archives it, and removes the temporary bundle when
the upload call returns.
File Mappings
Every mapping pairs a managed Markdown report source with one bundle-relative path. A single-report notification maps its one managed report to each rendered path configured for that report. A batch notification combines mappings for every included managed report and rejects duplicate bundle paths.
The report source is never an --out copy or an arbitrary workspace scan. The
application selects it and renders notification paths; see the operations guide
for the managed-upload rule and the Distributor adapter
for the adapter boundary.
Bundle paths must be clean, relative, slash-separated paths. They cannot be
empty or absolute, contain backslashes, empty segments, . or .., or use
manifest.json or .distributor.json as a basename. The mapped source must be
a regular file. File mapping order is preserved and affects the bundle digest.
The bundle manifest uses schema version 1, carries the rendered bundle ID and
creation time, and records each mapped file's path, SHA-256 digest, and size.
Destination routing, publication, and Distributor-managed destination state are
not source-bundle fields.
Compatibility Reference
The upstream canonical file-format contract is
docs/integrations/source-bundle.md in the Distributor repository. It defines
the complete manifest and archive format; this page records only the mapping and
path constraints Weatherreporter relies on.