Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RegisterTargetResolver ¶
func RegisterTargetResolver(r TargetResolver) error
RegisterTargetResolver registers a custom target resolver, else the default will be used
Types ¶
type TargetResolver ¶
type TargetResolver interface {
// Name the display name that will be shown in places like `choria buildinfo`
Name() string
// Targets will be called to determine the provisioning destination
Targets(context.Context, *logrus.Entry) []string
// Configure will be called during server configuration and can be used to configure the target or adjust build settings or configuration
// this will always be called even when not in provisioning mode, one can use this to programmatically set a provisioner token for example
//
// The intention of this function is that all the settings needed by provisioning (all the things in build) should be set during configure
// stage. Later when Targets() are called the intention is that either the configured targets are returned verbatim or if for example the
// plugin queries something like SRV records those queries are done there.
//
// Today Configure() is expected to set the JWT file using bi.SetProvisionJWTFile() and that the file should exist before probisioning will
// happen, this will be revisited in future. See the shouldProvision() function in server_run.go for current logic that would trigger a
// server into provisioning.
Configure(context.Context, *config.Config, *logrus.Entry)
}
TargetResolver is capable of resolving the target brokers for provisioning into list of strings in the format host:port
Click to show internal directories.
Click to hide internal directories.