Skip to content

plugin-example-step

Version 2026.175.1200
Repo superproject
Plugin yes — see the plugin reference

Reference OUT-OF-TREE charly plugin proving BOTH legs of plugin execution for a VERB-as-step — a standalone Go module (go.mod + main.go) serving the examplestep verb over go-plugin gRPC via the charly plugin SDK (github.com/opencharly/sdk). BUILD leg (OpEmit): at image build charly’s build-path connect seam host-builds + connects this plugin out-of-process and Invokes its OpEmit; the returned Containerfile FRAGMENT (a RUN baking /opt/examplestep-baked) is spliced verbatim into the generated Containerfile (consumed by candy/examplestep-consumer). DEPLOY leg (OpExecute): a run: plugin: examplestep step composed in a LOCAL/VM deploy is lowered to charly’s ExternalPluginStep, which Invokes this plugin’s OpExecute WITH the host’s live executor on the go-plugin broker (the E3b reverse channel); the plugin writes a marker on the target VENUE and returns a plugin-script reverse op the host records + replays at teardown (consumed by candy/examplestep-deploy-consumer). The verb-as-step analogue of the deploy-TARGET candy/plugin-example-deploy.

This candy’s plan: — the runnable spec charly check executes against a live deployment. check: steps are idempotent probes; run: steps change state.

Intent Step
check the out-of-tree build-emit plugin ships a buildable Go module (go.mod + the provider main) the host can build + serve out-of-process at image build