group

package
v0.0.0-...-995403b Latest Latest
Warning

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

Go to latest
Published: Oct 3, 2016 License: Apache-2.0 Imports: 13 Imported by: 0

README

Scaler controller (container).

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewGroupPlugin

func NewGroupPlugin(
	instancePlugins InstancePluginLookup,
	flavorPlugins FlavorPluginLookup,
	pollInterval time.Duration) group.Plugin

NewGroupPlugin creates a new group plugin.

Types

type FlavorPluginLookup

type FlavorPluginLookup func(string) (flavor.Plugin, error)

FlavorPluginLookup helps with looking up a flavor plugin by name

type InstancePluginLookup

type InstancePluginLookup func(string) (instance.Plugin, error)

InstancePluginLookup helps with looking up an instance plugin by name

type Scaled

type Scaled interface {
	// CreateOne creates a single instance in the scaled group.  Parameters may be provided to customize behavior
	// of the instance.
	CreateOne(id *instance.LogicalID)

	// Destroy destroys a single instance.
	Destroy(id instance.ID)

	// List returns all instances in the group.
	List() ([]instance.Description, error)
}

Scaled is a collection of instances that can be scaled up and down.

type Scaler

type Scaler interface {
	util.RunStop
	Size() uint
	SetSize(size uint)
}

Scaler is the spi of the scaler controller which mimics the behavior of an autoscaling group / scale set on AWS or Azure.

type Supervisor

type Supervisor interface {
	util.RunStop

	PlanUpdate(scaled Scaled, settings groupSettings, newSettings groupSettings) (updatePlan, error)
}

Supervisor watches over a group of instances.

func NewQuorum

func NewQuorum(scaled Scaled, logicalIDs []instance.LogicalID, pollInterval time.Duration) Supervisor

NewQuorum creates a supervisor for a group of instances operating in a quorum.

func NewScalingGroup

func NewScalingGroup(scaled Scaled, size uint, pollInterval time.Duration) Supervisor

NewScalingGroup creates a supervisor that monitors a group of instances on a provisioner, attempting to maintain a desired size.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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