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 ¶
FlavorPluginLookup helps with looking up a flavor plugin by name
type InstancePluginLookup ¶
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 ¶
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.
Source Files ¶
Click to show internal directories.
Click to hide internal directories.