feat(cli): remove the CLI plugin extension mechanism
Merged
MI
1d ago+7+7+0123456789-1257-1257-0123456789012345678901234567890123456789
Description
Removes the CLI plugin extension mechanism (the chainloop config plugin subcommands and everything behind them).
Why: this extension mechanism never went past the alpha/preview stage and is not used in practice, while it carried real costs — loading plugins spawns a subprocess and an RPC handshake per installed plugin on every CLI invocation, plus a maintenance burden. Since nothing depends on it, removing outright beats deprecating.
What changed
- Deleted
app/cli/pkg/plugins/(manager, client, interface, shared RPC plumbing onhashicorp/go-plugin) - Deleted
app/cli/cmd/plugins.go(theconfig plugin list/describe/installcommands and dynamic command registration) andapp/cli/pkg/action/plugin_actions.go - Unwired
root.go: plugin loading on startup, thepluginLessCommandsskip-list, andcleanupPlugins()on shutdown - Cleaned
app/cli/documentation/generate.go: dropped theisPluginCommandfilter, no longer needed - Regenerated
app/cli/documentation/cli-reference.md(theconfig pluginsection is gone) go.mod:hashicorp/go-hclogmoves to indirect;hashicorp/go-pluginstays a direct dependency (still used by the control-plane plugin system, which is a separate mechanism and is untouched by this PR)
Test plan
-
go build ./app/cli/... -
go test ./app/cli/...— all pass - CLI reference docs regenerated via
go run ./generate.go