provtarget

package
v0.29.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 29, 2024 License: Apache-2.0 Imports: 7 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Configure

func Configure(ctx context.Context, cfg *config.Config, log *logrus.Entry)

Configure allows the resolver to adjust configuration

func Name

func Name() string

Name is the name of the plugin used

func RegisterTargetResolver

func RegisterTargetResolver(r TargetResolver) error

RegisterTargetResolver registers a custom target resolver, else the default will be used

func Targets

func Targets(ctx context.Context, log *logrus.Entry) (srvcache.Servers, error)

Targets is a list of brokers to connect to

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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL