Documentation ¶
Index ¶
- type Agent
- func (a *Agent) ConnectContainerToNetwork(networkID, containerID, containerName string) error
- func (a *Agent) CreateBridgeNetwork(name string) (id string, err error)
- func (a *Agent) CreateBridgeNetworkIfNotExist(name string) (id string, err error)
- func (a *Agent) CreateLocalVolume(name string) (*types.Volume, error)
- func (a *Agent) CreateLocalVolumeIfNotExist(name string) (*types.Volume, error)
- func (a *Agent) PullImage(image string) error
- func (a *Agent) RemoveLocalVolume(name string) error
- func (a *Agent) StartPorterContainer(opts PorterServerStartOpts) (string, error)
- func (a *Agent) StartPostgresContainer(opts PostgresOpts) (string, error)
- func (a *Agent) StopPorterContainers(remove bool) error
- func (a *Agent) StopPorterContainersWithProcessID(processID string, remove bool) error
- func (a *Agent) WaitForContainerHealthy(id string, streak int) error
- func (a *Agent) WaitForContainerStop(id string) error
- type PorterDB
- type PorterServerStartOpts
- type PorterStartOpts
- type PostgresOpts
- type PullImageEvent
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Agent ¶
type Agent struct {
// contains filtered or unexported fields
}
Agent is a Docker client for performing operations that interact with the Docker engine over REST
func NewAgentFromEnv ¶
NewAgentFromEnv creates a new Docker agent using the environment variables set on the host
func StartPorter ¶
func StartPorter(opts *PorterStartOpts) (agent *Agent, id string, err error)
StartPorter creates a new Docker agent using the host environment, and creates a new Porter instance
func (*Agent) ConnectContainerToNetwork ¶
ConnectContainerToNetwork attaches a container to a specified network
func (*Agent) CreateBridgeNetwork ¶
CreateBridgeNetwork creates a volume using the default driver type (bridge) with the CLI label attached
func (*Agent) CreateBridgeNetworkIfNotExist ¶
CreateBridgeNetworkIfNotExist creates a volume using driver type "local" with the given name if it does not exist. If the volume does exist but does not contain the required label (a.label), an error is thrown.
func (*Agent) CreateLocalVolume ¶
CreateLocalVolume creates a volume using driver type "local" with no configured options. The equivalent of:
docker volume create --driver local [name]
func (*Agent) CreateLocalVolumeIfNotExist ¶
CreateLocalVolumeIfNotExist creates a volume using driver type "local" with the given name if it does not exist. If the volume does exist but does not contain the required label (a.label), an error is thrown.
func (*Agent) RemoveLocalVolume ¶
RemoveLocalVolume removes a volume by name
func (*Agent) StartPorterContainer ¶
func (a *Agent) StartPorterContainer(opts PorterServerStartOpts) (string, error)
StartPorterContainer pulls a specific Porter image and starts a container using the Docker engine. It returns the container ID
func (*Agent) StartPostgresContainer ¶
func (a *Agent) StartPostgresContainer(opts PostgresOpts) (string, error)
StartPostgresContainer pulls a specific Porter image and starts a container using the Docker engine
func (*Agent) StopPorterContainers ¶
StopPorterContainers finds all containers that were started via the CLI and stops them -- removes the container if remove is set to true
func (*Agent) StopPorterContainersWithProcessID ¶
StopPorterContainersWithProcessID finds all containers that were started via the CLI and have a given process id and stops them -- removes the container if remove is set to true
func (*Agent) WaitForContainerHealthy ¶
WaitForContainerHealthy waits until a container is returning a healthy status. Streak is the maximum number of failures in a row, while timeout is the length of time between checks.
func (*Agent) WaitForContainerStop ¶
WaitForContainerStop waits until a container has stopped to exit
type PorterServerStartOpts ¶
type PorterServerStartOpts struct { Name string Image string StartCmd []string HostPort uint ContainerPort uint Mounts []mount.Mount VolumeMap map[string]struct{} Env []string NetworkID string }
PorterServerStartOpts are the options for starting the Porter server
type PorterStartOpts ¶
type PorterStartOpts struct { ProcessID string ServerImageTag string ServerPort int DB PorterDB Env []string }
PorterStartOpts are the options for starting the Porter stack
type PostgresOpts ¶
type PostgresOpts struct { Name string Image string Env []string VolumeMap map[string]struct{} Mounts []mount.Mount NetworkID string }
PostgresOpts are the options for starting the Postgres DB
type PullImageEvent ¶
type PullImageEvent struct { Status string `json:"status"` Error string `json:"error"` Progress string `json:"progress"` ProgressDetail struct { Current int `json:"current"` Total int `json:"total"` } `json:"progressDetail"` }
PullImageEvent represents a response from the Docker API with an image pull event