Skip to content

plugin-example-deploy

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

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:

  • exampledeploy — deploy class

Reference OUT-OF-TREE charly DEPLOY plugin — a standalone Go module (go.mod + main.go) serving the exampledeploy deploy TARGET over go-plugin gRPC via the charly plugin SDK (github.com/opencharly/sdk). It proves the E3b ExecutorService reverse channel end-to-end for the deploy class, including the F2 executable deploy channel: charly’s loader host-builds this candy’s provider binary and serves it OUT-OF-PROCESS via LocalTransport, then the host’s plugin-side deploy target’s Add Invokes it (OpExecute) with the deployment’s InstallPlan views — now carrying the serializable per-step IR — plus a venue descriptor; the plugin dials BACK through the SDK Executor to (a) write apply/probe markers, (b) WALK + EXECUTE the plan’s steps on the venue (the file-write step below + an env shell-hook), (c) PUSH a file via the reverse-channel PutFile leg, and (d) — when the plan carries a BuilderStep or LocalPkgInstallStep, the two kinds the F2 RunSystem/PutFile legs cannot execute because they need the HOST build ENGINE — drive the RunHostStep host-engine reverse leg so the host builds the artifact and installs it onto the venue (proven by composing examplebuild-localpkg, whose charly-f3-witness package is built with makepkg + installed with pacman -U over the channel). It returns plugin-script reverse ops the host records in the install ledger and replays at charly bundle del. The deploy-class companion of the verb-class candy/plugin-example-external.

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.

// Self-contained input schema for the deploy:exampledeploy capability — references no
// base def, so it compiles standalone (gengotypes + the SDK's serve-side compile).
#ExampledeployInput: {
marker?: string
}

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