pub async fn install_server_plugin_from_source(
installer: &ServerPluginInstaller,
input: PluginSourceInput,
plugins_root: &Path,
trust: &PluginTrustConfig,
disposition: InstallDisposition,
expected_plugin_id: Option<&str>,
) -> PluginResult<InstalledPlugin>Expand description
Server-owned source transaction. This is the only public source-install
seam for ServerPluginInstaller: the same process-wide guard spans
provenance preflight, prior-service shutdown, live-bundle activation,
installer mutation, and commit/rollback. Once an upgrade stops services,
a subsequent failure leaves them stopped for explicit operator recovery.
expected_plugin_id binds an HTTP path (or another caller-owned identity)
before any shared mutation. Pass None when the source manifest owns the
identity, as in the manual server example.