Skip to content

plugin-deploy-local

Placement runtime (out-of-process over gRPC)
Source github.com/opencharly/charly/candy/plugin-deploy-local
Version 2026.181.0001
Candy plugin-deploy-local

This plugin is not listed in charly/charly.yml’s compiled_plugins:. It is not part of the shipped binary: charly builds and loads it out-of-process over gRPC when a plan references one of its words (the coexist path).

The reserved words this plugin serves:

  • local — deploy class

OUT-OF-TREE charly DEPLOY plugin serving the local deploy SUBSTRATE — target: local (host:local direct-shell) and host: user@machine (SSH) deploys. A standalone Go module (go.mod + main.go) served over go-plugin gRPC via the charly plugin SDK; charly’s loader host-builds the provider binary and connects it OUT-OF-PROCESS (LocalTransport). The host’s plugin-side deploy target’s Add Invokes it (OpExecute) with the deployment’s InstallPlan VIEWS (the serializable per-step IR, with secrets injected + {{.Home}} resolved + each step’s teardown ops captured host-side) + a venue descriptor, and the host’s executor served on the broker (ShellExecutor for host:local, SSHExecutor for host:user@machine). The plugin dials BACK through the SDK Executor and hands the plans to the shared kit.WalkPlans: the plugin-renderable step kinds (Op/File/ShellHook + env.d-managed-block/ShellSnippet/Service*/RepoChange) it EXECUTES itself via the F2 reverse legs (RunSystem/RunUser/PutFile), echoing the host-computed reverse ops; the HOST-ENGINE kinds (Builder/LocalPkgInstall/SystemPackages/act-Op/ ExternalPlugin) it drives over the RunHostStep reverse leg. It returns the combined plugin-script + host-step reverse ops the host records in the install ledger and replays at charly bundle del. The local-substrate production sibling of candy/plugin-example-deploy (the F2/F3 witness) and candy/plugin-kube (deploy:k8s); it replaces the former in-proc LocalDeployTarget.


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