Documentation
¶
Overview ¶
Package catalog assembles the machine-readable plugin catalog behind `sarde plugins --format json`: every plugin name the engine accepts in plugins.enabled, with metadata and configurable fields.
It lives apart from internal/build so that the CLI can describe plugins without pulling in the builder, and apart from internal/plugin because the subpackage plugins cannot be imported from there (see plugin/registry.go).
Index ¶
Constants ¶
View Source
const ( KindServer = "server" KindClient = "client" KindExternal = "external" )
Kind classifies where a plugin is implemented.
View Source
const Version = 1
Version is bumped when the JSON shape changes incompatibly.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Catalog ¶
Catalog is the full listing.
type Entry ¶
type Entry struct {
ID string `json:"id"`
Label string `json:"label"`
Kind string `json:"kind"`
Group string `json:"group"`
Description string `json:"description"`
DefaultEnabled bool `json:"defaultEnabled"`
ConfigKey string `json:"configKey,omitempty"`
Fields []cfgutil.Field `json:"fields"`
}
Entry describes one plugin. Keep field names stable: Sarde Studio decodes them.
Click to show internal directories.
Click to hide internal directories.