cluster

package
v1.4.2-0...-9aa0c9a Latest Latest
Warning

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

Go to latest
Published: Dec 8, 2016 License: Apache-2.0 Imports: 42 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Cluster

type Cluster struct {
	// contains filtered or unexported fields
}

Cluster provides capabilities to participate in a cluster as a worker or a manager.

func New

func New(config Config) (*Cluster, error)

New creates a new Cluster instance using provided config.

func (*Cluster) AttachNetwork

func (c *Cluster) AttachNetwork(target string, containerID string, addresses []string) (*network.NetworkingConfig, error)

AttachNetwork generates an attachment request towards the manager.

func (*Cluster) Cleanup

func (c *Cluster) Cleanup()

Cleanup stops active swarm node. This is run before daemon shutdown.

func (*Cluster) CreateNetwork

func (c *Cluster) CreateNetwork(s apitypes.NetworkCreateRequest) (string, error)

CreateNetwork creates a new cluster managed network.

func (*Cluster) CreateSecret

func (c *Cluster) CreateSecret(s types.SecretSpec) (string, error)

CreateSecret creates a new secret in a managed swarm cluster.

func (*Cluster) CreateService

func (c *Cluster) CreateService(s types.ServiceSpec, encodedAuth string) (*apitypes.ServiceCreateResponse, error)

CreateService creates a new service in a managed swarm cluster.

func (*Cluster) DetachNetwork

func (c *Cluster) DetachNetwork(target string, containerID string) error

DetachNetwork unblocks the waiters waiting on WaitForDetachment so that a request to detach can be generated towards the manager.

func (*Cluster) GetAdvertiseAddress

func (c *Cluster) GetAdvertiseAddress() string

GetAdvertiseAddress returns the remotely reachable address of this node.

func (*Cluster) GetListenAddress

func (c *Cluster) GetListenAddress() string

GetListenAddress returns the listen address.

func (*Cluster) GetLocalAddress

func (c *Cluster) GetLocalAddress() string

GetLocalAddress returns the local address.

func (*Cluster) GetNetwork

func (c *Cluster) GetNetwork(input string) (apitypes.NetworkResource, error)

GetNetwork returns a cluster network by an ID.

func (*Cluster) GetNetworks

func (c *Cluster) GetNetworks() ([]apitypes.NetworkResource, error)

GetNetworks returns all current cluster managed networks.

func (*Cluster) GetNode

func (c *Cluster) GetNode(input string) (types.Node, error)

GetNode returns a node based on an ID or name.

func (*Cluster) GetNodes

func (c *Cluster) GetNodes(options apitypes.NodeListOptions) ([]types.Node, error)

GetNodes returns a list of all nodes known to a cluster.

func (*Cluster) GetRemoteAddress

func (c *Cluster) GetRemoteAddress() string

GetRemoteAddress returns a known advertise address of a remote manager if available. todo: change to array/connect with info

func (*Cluster) GetSecret

func (c *Cluster) GetSecret(id string) (types.Secret, error)

GetSecret returns a secret from a managed swarm cluster

func (*Cluster) GetSecrets

func (c *Cluster) GetSecrets(options apitypes.SecretListOptions) ([]types.Secret, error)

GetSecrets returns all secrets of a managed swarm cluster.

func (*Cluster) GetService

func (c *Cluster) GetService(input string) (types.Service, error)

GetService returns a service based on an ID or name.

func (*Cluster) GetServices

func (c *Cluster) GetServices(options apitypes.ServiceListOptions) ([]types.Service, error)

GetServices returns all services of a managed swarm cluster.

func (*Cluster) GetTask

func (c *Cluster) GetTask(input string) (types.Task, error)

GetTask returns a task by an ID.

func (*Cluster) GetTasks

func (c *Cluster) GetTasks(options apitypes.TaskListOptions) ([]types.Task, error)

GetTasks returns a list of tasks matching the filter options.

func (*Cluster) GetUnlockKey

func (c *Cluster) GetUnlockKey() (string, error)

GetUnlockKey returns the unlock key for the swarm.

func (*Cluster) Info

func (c *Cluster) Info() types.Info

Info returns information about the current cluster state.

func (*Cluster) Init

func (c *Cluster) Init(req types.InitRequest) (string, error)

Init initializes new cluster from user provided request.

func (*Cluster) Inspect

func (c *Cluster) Inspect() (types.Swarm, error)

Inspect retrieves the configuration properties of a managed swarm cluster.

func (*Cluster) IsAgent

func (c *Cluster) IsAgent() bool

IsAgent returns true if Cluster is participating as a worker/agent.

func (*Cluster) IsManager

func (c *Cluster) IsManager() bool

IsManager returns true if Cluster is participating as a manager.

func (*Cluster) Join

func (c *Cluster) Join(req types.JoinRequest) error

Join makes current Cluster part of an existing swarm cluster.

func (*Cluster) Leave

func (c *Cluster) Leave(force bool) error

Leave shuts down Cluster and removes current state.

func (*Cluster) ListenClusterEvents

func (c *Cluster) ListenClusterEvents() <-chan struct{}

ListenClusterEvents returns a channel that receives messages on cluster participation changes. todo: make cancelable and accessible to multiple callers

func (*Cluster) RemoveNetwork

func (c *Cluster) RemoveNetwork(input string) error

RemoveNetwork removes a cluster network.

func (*Cluster) RemoveNode

func (c *Cluster) RemoveNode(input string, force bool) error

RemoveNode removes a node from a cluster

func (*Cluster) RemoveSecret

func (c *Cluster) RemoveSecret(id string) error

RemoveSecret removes a secret from a managed swarm cluster.

func (*Cluster) RemoveService

func (c *Cluster) RemoveService(input string) error

RemoveService removes a service from a managed swarm cluster.

func (*Cluster) ServiceLogs

func (c *Cluster) ServiceLogs(ctx context.Context, input string, config *backend.ContainerLogsConfig, started chan struct{}) error

ServiceLogs collects service logs and writes them back to `config.OutStream`

func (*Cluster) UnlockSwarm

func (c *Cluster) UnlockSwarm(req types.UnlockRequest) error

UnlockSwarm provides a key to decrypt data that is encrypted at rest.

func (*Cluster) Update

func (c *Cluster) Update(version uint64, spec types.Spec, flags types.UpdateFlags) error

Update updates configuration of a managed swarm cluster.

func (*Cluster) UpdateAttachment

func (c *Cluster) UpdateAttachment(target, containerID string, config *network.NetworkingConfig) error

UpdateAttachment signals the attachment config to the attachment waiter who is trying to start or attach the container to the network.

func (*Cluster) UpdateNode

func (c *Cluster) UpdateNode(input string, version uint64, spec types.NodeSpec) error

UpdateNode updates existing nodes properties.

func (*Cluster) UpdateSecret

func (c *Cluster) UpdateSecret(id string, version uint64, spec types.SecretSpec) error

UpdateSecret updates a secret in a managed swarm cluster. Note: this is not exposed to the CLI but is available from the API only

func (*Cluster) UpdateService

func (c *Cluster) UpdateService(serviceIDOrName string, version uint64, spec types.ServiceSpec, encodedAuth string, registryAuthFrom string) (*apitypes.ServiceUpdateResponse, error)

UpdateService updates existing service to match new properties.

func (*Cluster) WaitForDetachment

func (c *Cluster) WaitForDetachment(ctx context.Context, networkName, networkID, taskID, containerID string) error

WaitForDetachment waits for the container to stop or detach from the network.

type Config

type Config struct {
	Root                   string
	Name                   string
	Backend                executorpkg.Backend
	NetworkSubnetsProvider NetworkSubnetsProvider

	// DefaultAdvertiseAddr is the default host/IP or network interface to use
	// if no AdvertiseAddr value is specified.
	DefaultAdvertiseAddr string

	// path to store runtime state, such as the swarm control socket
	RuntimeRoot string
}

Config provides values for Cluster.

type NetworkSubnetsProvider

type NetworkSubnetsProvider interface {
	V4Subnets() []net.IPNet
	V6Subnets() []net.IPNet
}

NetworkSubnetsProvider exposes functions for retrieving the subnets of networks managed by Docker, so they can be filtered.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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