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 an operator-owned Markdown output with one bundle-relative path. A single-report notification maps its published output to each rendered path configured for that report. A batch notification combines mappings for every included published output and rejects duplicate bundle paths.
The report source is the output selected for that command; the application does not scan local directories. It renders notification paths after publication; see the operations guide and the Distributor adapter for the 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.