Files
multica/server/internal/pluginbundled
5ed57170bc [MUL-6099] Ship official Plugin V1 product vertical slice (#6869)
* Add official software delivery plugin vertical slice (MUL-6099)

Co-authored-by: multica-agent <[email protected]>

* fix(plugin): encode empty catalog diagnostics as array

Co-authored-by: multica-agent <[email protected]>

* feat(plugin): gate management behind feature flag

Co-authored-by: multica-agent <[email protected]>

* fix(plugin): honor semver precedence and fail closed

Co-authored-by: multica-agent <[email protected]>

---------

Co-authored-by: Lambda <[email protected]>
Co-authored-by: multica-agent <[email protected]>
2026-08-13 15:08:11 +08:00
..

Bundled Plugin release catalog

This package is the production acquisition boundary for official Plugins that ship with the Multica server. It discovers release directories generically, rebuilds their ZIP archives deterministically, validates the manifest and artifact, and verifies the detached Ed25519 signature against trust_roots.json before exposing a release to the catalog.

Each release directory contains:

  • release.json: source and publisher metadata plus the signing-key ID.
  • release.sig: a detached base64 Ed25519 signature.
  • multica.plugin.json and the static contribution payloads that form the ZIP.

The signing private key is intentionally not stored in this repository or the server binary. Release automation must build the same deterministic ZIP, sign the Plugin release envelope offline, and commit only the detached signature. Run the reproducibility and trust-boundary checks from server/:

go test ./internal/pluginbundled -count=1

A malformed, tampered, or unknown-key release is isolated as a safe catalog diagnostic. It does not prevent other releases or the server from starting. The public API admits only this bundled source in V1; no private_dev upload or server-file-path acquisition route is exposed.