Skip to content

plugin-fleet

Placement compiled-in (in-process)
Source github.com/opencharly/plugin-fleet/candy/plugin-fleet
Version 2026.193.1200
Candy plugin-fleet

This plugin is listed in charly/charly.yml’s compiled_plugins:, so its providers are compiled into the charly binary and register in-process.

The reserved words this plugin serves:

  • deploy — command class

The charly deploy … deployment CLI, externalized into a COMPILED-IN command:deploy plugin (F8) mirroring candy/plugin-vm. charly deploy add / del / show / export / import / reset / path / status / from-box dispatch IN-PROC via Invoke(OpRun) (runDeployCommand → kong-parse the DeployCmd tree), so the handlers run in charly’s OWN process and inherit charly’s real stdio/TTY natively. Each leaf FORWARDS its parsed flags to the host over four generic host-build seams — HostBuild deploy-add / deploy-del / deploy-from-box (the deploy dispatch) and deploy-config (the show/export/import/reset/status config-management ops) — where the host runs the existing deploy orchestration VERBATIM: the config loader + deploy ledger, the InstallPlan compiler, and the deploy-dispatch kernel (ResolveTarget → the plugin-side deploy dispatcher over the executor reverse channel) all STAY core. path resolves plugin-side via kit.DefaultDeployConfigPath (no seam). command:deploy is COMPILED-IN; its grammar is prescanned into the CLI.

The CUE schema below is the authoritative grammar for this plugin’s input. It is the same single source that generates the plugin’s Go parameter types and answers the runtime Describe RPC, so this page cannot disagree with either.

// plugin-fleet's OWN self-contained CUE schema — the plugin's declaration
// surface, served over Describe exactly like every other plugin's schema
// (there is no schema-less plugin):
//
// 1. SERVE over Describe — the host splices `base ++ plugin` at the load gate
// (registerPluginUnitSchema), so the plugin's declarations travel WITH it and
// a self-contained schema that will not splice is a LOUD load failure.
// 2. DOCUMENT — `charly docs generate` renders this plugin's page from its
// providers + this schema + the candy `description:`.
//
// command:deploy's authored input is its pass-through CLI grammar (`add` / `del` /
// `show` / `export` / `import` / `reset` / `path` / `status` / `from-box`), the
// `{args: [...]}` envelope the host dispatches to Invoke(OpRun) — not a structured
// plugin_input — so this schema DOCUMENTS the command contract (no #*Input def).
// SELF-CONTAINED: it references no base def, so it compiles STANDALONE (the property
// that lets the SDK compile it serve-side).
#DeployPlugin: {
// The capability word the plugin serves (candy/plugin-fleet houses the
// `charly deploy …` CLI).
command: "deploy"
// What the command does, in one line (the public-docs surface): manage the
// project's named deployments.
contract: string & !=""
}

See also the candy reference for this candy’s install surface.