manager

package
v0.0.0-...-3500608 Latest Latest
Warning

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

Go to latest
Published: May 14, 2018 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Backend

type Backend interface {
	stack.Interface

	Controllers() (map[string]controller.Controller, error)
	Groups() (map[group.ID]group.Plugin, error)
	Metadata() (map[string]metadata.Plugin, error)

	Start() (<-chan struct{}, error)
	Stop()
}

Backend is the admin / server interface

func NewManager

func NewManager(scope scope.Scope, options Options) Backend

NewManager returns the manager which depends on other services to coordinate and manage the plugins in order to ensure the infrastructure state matches the user's spec.

type Options

type Options struct {

	// Name the manager runs as
	Name plugin.Name

	// Name of the Group plugin
	Group plugin.Name

	// Name of the Metadata plugin. Must be pointing to Updatable
	Metadata plugin.Name

	// Controllers are the names of the controllers this manager manages
	Controllers []plugin.Name

	// Leader is the leader detector
	Leader leader.Detector `json:"-" yaml:"-"`

	// LeaderStore persists leadership information
	LeaderStore leader.Store `json:"-" yaml:"-"`

	// SpecStore persists user specs
	SpecStore store.Snapshot `json:"-" yaml:"-"`

	// MetadataStore persists var information
	MetadataStore store.Snapshot `json:"-" yaml:"-"`

	// LeaderCommitSpecsRetries is how many times to retry commit specs when becomes leader
	LeaderCommitSpecsRetries int

	// LeaderCommitSpecsRetryInterval is how long to wait before next retry
	LeaderCommitSpecsRetryInterval types.Duration
}

Options capture the options for starting up the plugin.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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