Files
weatherreporter/docs/integrations/distributor/pkg-bundle.md

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.