Skip to content

plugin-example-builder

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

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:

  • examplebuilder — builder class

Reference OUT-OF-TREE charly plugin proving the BUILD-TIME plugin-execution BUILDER leg — a standalone Go module (go.mod + main.go) serving the examplebuilder builder over go-plugin gRPC via the charly plugin SDK (github.com/opencharly/sdk). At image build, charly’s build-path connect seam host-builds + connects this plugin out-of-process and Invokes its OpResolve; the returned BuilderResolveReply (a multi-stage FROM…AS stage baking /built.txt + a COPY –from pulling it to /opt/examplebuilder-artifact) is spliced into the generated Containerfile — so the artifact proves the plugin EXECUTED at build. The BUILDER-leg counterpart of the verb/step candy/plugin-example-step; consumed by candy/examplebuilder-consumer’s external_builder: examplebuilder selection.

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 builder:examplebuilder capability — references
// no base def, so it compiles standalone (the SDK's serve-side compile). A builder
// authors no plugin_input, so this def is unused at authoring time; it ships so the
// schema travels with the plugin (non-empty, base ++ plugin splice) exactly like a
// verb/step plugin's input def.
#ExamplebuilderInput: {
marker?: string
}

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