Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewGardenClientFactory ¶
func NewGardenClientFactory( db transport.TransportDB, logger lager.Logger, workerName string, workerHost *string, retryBackOffFactory retryhttp.BackOffFactory, streamClientRequestTimeout time.Duration, ) *gardenClientFactory
func NewRetryableConnection ¶
func NewRetryableConnection(connection connection.Connection) connection.Connection
Types ¶
type Client ¶
type Client interface { // Pings the garden server. Checks connectivity to the server. The server may, optionally, respond with specific // errors indicating health issues. // // Errors: // * garden.UnrecoverableError indicates that the garden server has entered an error state from which it cannot recover Ping() error // Capacity returns the physical capacity of the server's machine. // // Errors: // * None. Capacity() (garden.Capacity, error) // Create creates a new container. // // Errors: // * When the handle, if specified, is already taken. // * When one of the bind_mount paths does not exist. // * When resource allocations fail (subnet, user ID, etc). Create(garden.ContainerSpec) (Container, error) // Destroy destroys a container. // // When a container is destroyed, its resource allocations are released, // its filesystem is removed, and all references to its handle are removed. // // All resources that have been acquired during the lifetime of the container are released. // Examples of these resources are its subnet, its UID, and ports that were redirected to the container. // // TODO: list the resources that can be acquired during the lifetime of a container. // // Errors: // * TODO. Destroy(handle string) error // Containers lists all containers filtered by Properties (which are ANDed together). // // Errors: // * None. Containers(garden.Properties) ([]Container, error) // BulkInfo returns info or error for a list of containers. BulkInfo(handles []string) (map[string]garden.ContainerInfoEntry, error) // BulkMetrics returns metrics or error for a list of containers. BulkMetrics(handles []string) (map[string]garden.ContainerMetricsEntry, error) // Lookup returns the container with the specified handle. // // Errors: // * Container not found. Lookup(handle string) (Container, error) }
func BasicGardenClientWithRequestTimeout ¶
func BasicGardenClientWithRequestTimeout(logger lager.Logger, requestTimeout time.Duration, address string) Client
Do not try any client method that requires hijack functionality (streaming logs)!
func NewClient ¶
func NewClient(connection connection.Connection) Client
type Container ¶
type Container interface { Handle() string // Stop stops a container. // // If kill is false, garden stops a container by sending the processes running inside it the SIGTERM signal. // It then waits for the processes to terminate before returning a response. // If one or more processes do not terminate within 10 seconds, // garden sends these processes the SIGKILL signal, killing them ungracefully. // // If kill is true, garden stops a container by sending the processing running inside it a SIGKILL signal. // // It is possible to copy files in to and out of a stopped container. // It is only when a container is destroyed that its filesystem is cleaned up. // // Errors: // * None. Stop(kill bool) error // Returns information about a container. Info() (garden.ContainerInfo, error) // StreamIn streams data into a file in a container. // // Errors: // * TODO. StreamIn(spec garden.StreamInSpec) error // StreamOut streams a file out of a container. // // Errors: // * TODO. StreamOut(spec garden.StreamOutSpec) (io.ReadCloser, error) // Returns the current bandwidth limits set for the container. CurrentBandwidthLimits() (garden.BandwidthLimits, error) // Returns the current CPU limts set for the container. CurrentCPULimits() (garden.CPULimits, error) // Returns the current disk limts set for the container. CurrentDiskLimits() (garden.DiskLimits, error) // Returns the current memory limts set for the container. CurrentMemoryLimits() (garden.MemoryLimits, error) // Map a port on the host to a port in the container so that traffic to the // host port is forwarded to the container port. This is deprecated in // favour of passing NetIn configuration in the ContainerSpec at creation // time. // // If a host port is not given, a port will be acquired from the server's port // pool. // // If a container port is not given, the port will be the same as the // host port. // // The resulting host and container ports are returned in that order. // // Errors: // * When no port can be acquired from the server's port pool. NetIn(hostPort, containerPort uint32) (uint32, uint32, error) // Whitelist outbound network traffic. This is deprecated in favour of passing // NetOut configuration in the ContainerSpec at creation time. // // If the configuration directive deny_networks is not used, // all networks are already whitelisted and this command is effectively a no-op. // // Later NetOut calls take precedence over earlier calls, which is // significant only in relation to logging. // // Errors: // * An error is returned if the NetOut call fails. NetOut(netOutRule garden.NetOutRule) error // A Bulk call for NetOut. This is deprecated in favour of passing // NetOut configuration in the ContainerSpec at creation time. // // Errors: // * An error is returned if any of the NetOut calls fail. BulkNetOut(netOutRules []garden.NetOutRule) error // Run a script inside a container. // // The root user will be mapped to a non-root UID in the host unless the container (not this process) was created with 'privileged' true. // // Errors: // * TODO. Run(context.Context, garden.ProcessSpec, garden.ProcessIO) (garden.Process, error) // Attach starts streaming the output back to the client from a specified process. // // Errors: // * processID does not refer to a running process. Attach(ctx context.Context, processID string, io garden.ProcessIO) (garden.Process, error) // Metrics returns the current set of metrics for a container Metrics() (garden.Metrics, error) // Sets the grace time. SetGraceTime(graceTime time.Duration) error // Properties returns the current set of properties Properties() (garden.Properties, error) // Property returns the value of the property with the specified name. // // Errors: // * When the property does not exist on the container. Property(name string) (string, error) // Set a named property on a container to a specified value. // // Errors: // * None. SetProperty(name string, value string) error // Remove a property with the specified name from a container. // // Errors: // * None. RemoveProperty(name string) error }
type RetryableConnection ¶
type RetryableConnection struct {
connection.Connection
}
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
connectionfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
Click to show internal directories.
Click to hide internal directories.