crane

package
v2.10.3+incompatible Latest Latest
Warning

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

Go to latest
Published: Oct 27, 2016 License: MIT Imports: 27 Imported by: 10

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RealMain

func RealMain()

Types

type BuildParameters

type BuildParameters struct {
	RawContext   string      `json:"context" yaml:"context"`
	RawFile      string      `json:"file" yaml:"file"`
	RawBuildArgs interface{} `json:"build-arg" yaml:"build-arg"`
}

func (BuildParameters) BuildArgs

func (b BuildParameters) BuildArgs() []string

func (BuildParameters) Context

func (b BuildParameters) Context() string

func (BuildParameters) File

func (b BuildParameters) File() string

type Config

type Config interface {
	DependencyMap() map[string]*Dependencies
	ContainersForReference(reference string) (result []string)
	Path() string
	UniqueID() string
	Prefix() string
	Tag() string
	NetworkNames() []string
	VolumeNames() []string
	MacSyncNames() []string
	Network(name string) Network
	Volume(name string) Volume
	MacSync(volume string) MacSync
	ContainerMap() ContainerMap
	Container(name string) Container
	ContainerInfo(name string) ContainerInfo
}

func NewConfig

func NewConfig(location string, prefix string, tag string) Config

NewConfig retus a new config based on given location. Containers will be ordered so that they can be brought up and down with Docker.

type Container

type Container interface {
	ContainerInfo
	Exists() bool
	Running() bool
	Paused() bool
	Status() [][]string
	Provision(nocache bool)
	PullImage()
	Create(cmds []string)
	Run(cmds []string)
	Start()
	Kill()
	Stop()
	Pause()
	Unpause()
	Exec(cmds []string)
	Rm(force bool)
	Logs(follow bool, since string, tail string) (sources []LogSource)
	Push()
	SetCommandsOutput(stdout, stderr io.Writer)
	CommandsOut() io.Writer
	CommandsErr() io.Writer
}

type ContainerInfo

type ContainerInfo interface {
	Name() string
	PrefixedName() string
	ActualName(bool) string
	Image() string
	ID() string
	Dependencies() *Dependencies
	BuildParams() BuildParameters
	RunParams() RunParameters
	RmParams() RmParameters
	StartParams() StartParameters
	ExecParams() ExecParameters
	Hooks() Hooks
}

type ContainerMap

type ContainerMap map[string]Container

ContainerMap maps the container name to its configuration

type Containers

type Containers []Container

func (Containers) Logs

func (containers Containers) Logs(follow bool, timestamps bool, tail string, colorize bool, since string)

Dump container logs.

func (Containers) Provision

func (containers Containers) Provision(nocache bool, parallel int)

Provision containers.

func (Containers) Reversed

func (containers Containers) Reversed() Containers

func (Containers) Status

func (containers Containers) Status(notrunc bool)

Status of containers.

type Dependencies

type Dependencies struct {
	All         []string
	Requires    []string
	Link        []string
	VolumesFrom []string
	Net         string
	IPC         string
}

Dependencies contains 4 fields: all: contains all dependencies requires: containers that need to be running link: containers linked to volumesFrom: containers that provide volumes net: container the net stack is shared with

type ExecParameters

type ExecParameters struct {
	Detach        bool   `json:"detach" yaml:"detach"`
	RawDetachKeys string `json:"detach-keys" yaml:"detach-keys"`
	Interactive   bool   `json:"interactive" yaml:"interactive"`
	Privileged    bool   `json:"privileged" yaml:"privileged"`
	Tty           bool   `json:"tty" yaml:"tty"`
	RawUser       string `json:"user" yaml:"user"`
}

func (ExecParameters) DetachKeys

func (e ExecParameters) DetachKeys() string

func (ExecParameters) User

func (e ExecParameters) User() string

type Hooks added in v1.2.0

type Hooks interface {
	PreBuild() string
	PostBuild() string
	PreStart() string
	PostStart() string
	PreStop() string
	PostStop() string
}

type LogSource

type LogSource struct {
	Stdout io.Reader
	Stderr io.Reader
	Name   string
}

type MacSync

type MacSync interface {
	ContainerName() string
	Volume() string
	Autostart() bool
	Exists() bool
	Running() bool
	Start(debug bool)
	Stop()
	Status() string
}

type MacSyncMap

type MacSyncMap map[string]MacSync

type Network

type Network interface {
	Name() string
	Subnet() string
	ActualName() string
	Create()
	Exists() bool
}

type NetworkMap

type NetworkMap map[string]Network

type OptBool added in v1.1.1

type OptBool struct {
	Defined bool
	Value   bool
}

func (OptBool) Falsy

func (o OptBool) Falsy() bool

func (OptBool) Truthy

func (o OptBool) Truthy() bool

func (*OptBool) UnmarshalJSON added in v1.1.1

func (o *OptBool) UnmarshalJSON(b []byte) (err error)

func (*OptBool) UnmarshalYAML added in v1.1.1

func (o *OptBool) UnmarshalYAML(unmarshal func(interface{}) error) error

type OptInt

type OptInt struct {
	Defined bool
	Value   int
}

func (*OptInt) UnmarshalJSON

func (o *OptInt) UnmarshalJSON(b []byte) (err error)

func (*OptInt) UnmarshalYAML

func (o *OptInt) UnmarshalYAML(unmarshal func(interface{}) error) error

type RmParameters

type RmParameters struct {
	Volumes bool `json:"volumes" yaml:"volumes"`
}

type RunParameters

type RunParameters struct {
	RawAddHost           []string    `json:"add-host" yaml:"add-host"`
	BlkioWeight          int         `json:"blkio-weight" yaml:"blkio-weight"`
	RawBlkioWeightDevice []string    `json:"blkio-weight-device" yaml:"blkio-weight-device"`
	RawCapAdd            []string    `json:"cap-add" yaml:"cap-add"`
	RawCapDrop           []string    `json:"cap-drop" yaml:"cap-drop"`
	RawCgroupParent      string      `json:"cgroup-parent" yaml:"cgroup-parent"`
	CPUPeriod            int         `json:"cpu-period" yaml:"cpu-period"`
	CPUQuota             int         `json:"cpu-quota" yaml:"cpu-quota"`
	RawCidfile           string      `json:"cidfile" yaml:"cidfile"`
	CPUset               int         `json:"cpuset" yaml:"cpuset"`
	CPUShares            int         `json:"cpu-shares" yaml:"cpu-shares"`
	Detach               bool        `json:"detach" yaml:"detach"`
	RawDetachKeys        string      `json:"detach-keys" yaml:"detach-keys"`
	RawDevice            []string    `json:"device" yaml:"device"`
	RawDeviceReadBps     []string    `json:"device-read-bps" yaml:"device-read-bps"`
	RawDeviceReadIops    []string    `json:"device-read-iops" yaml:"device-read-iops"`
	RawDeviceWriteBps    []string    `json:"device-write-bps" yaml:"device-write-bps"`
	RawDeviceWriteIops   []string    `json:"device-rewritead-iops" yaml:"device-write-iops"`
	RawDNS               []string    `json:"dns" yaml:"dns"`
	RawDNSOpt            []string    `json:"dns-opt" yaml:"dns-opt"`
	RawDNSSearch         []string    `json:"dns-search" yaml:"dns-search"`
	RawEntrypoint        string      `json:"entrypoint" yaml:"entrypoint"`
	RawEnv               interface{} `json:"env" yaml:"env"`
	RawEnvFile           []string    `json:"env-file" yaml:"env-file"`
	RawExpose            []string    `json:"expose" yaml:"expose"`
	RawGroupAdd          []string    `json:"group-add" yaml:"group-add"`
	RawHostname          string      `json:"hostname" yaml:"hostname"`
	Interactive          bool        `json:"interactive" yaml:"interactive"`
	RawIp                string      `json:"ip" yaml:"ip"`
	RawIp6               string      `json:"ip6" yaml:"ip6"`
	RawIPC               string      `json:"ipc" yaml:"ipc"`
	RawIsolation         string      `json:"isolation" yaml:"isolation"`
	RawKernelMemory      string      `json:"kernel-memory" yaml:"kernel-memory"`
	RawLabel             interface{} `json:"label" yaml:"label"`
	RawLabelFile         []string    `json:"label-file" yaml:"label-file"`
	RawLink              []string    `json:"link" yaml:"link"`
	RawLogDriver         string      `json:"log-driver" yaml:"log-driver"`
	RawLogOpt            []string    `json:"log-opt" yaml:"log-opt"`
	RawLxcConf           []string    `json:"lxc-conf" yaml:"lxc-conf"`
	RawMacAddress        string      `json:"mac-address" yaml:"mac-address"`
	RawMemory            string      `json:"memory" yaml:"memory"`
	RawMemoryReservation string      `json:"memory-reservation" yaml:"memory-reservation"`
	RawMemorySwap        string      `json:"memory-swap" yaml:"memory-swap"`
	MemorySwappiness     OptInt      `json:"memory-swappiness" yaml:"memory-swappiness"`
	RawNet               string      `json:"net" yaml:"net"`
	RawNetAlias          []string    `json:"net-alias" yaml:"net-alias"`
	OomKillDisable       bool        `json:"oom-kill-disable" yaml:"oom-kill-disable"`
	RawOomScoreAdj       string      `json:"oom-score-adj" yaml:"oom-score-adj"`
	RawPid               string      `json:"pid" yaml:"pid"`
	Privileged           bool        `json:"privileged" yaml:"privileged"`
	RawPublish           []string    `json:"publish" yaml:"publish"`
	PublishAll           bool        `json:"publish-all" yaml:"publish-all"`
	ReadOnly             bool        `json:"read-only" yaml:"read-only"`
	RawRestart           string      `json:"restart" yaml:"restart"`
	Rm                   bool        `json:"rm" yaml:"rm"`
	RawSecurityOpt       []string    `json:"security-opt" yaml:"security-opt"`
	RawShmSize           string      `json:"shm-size" yaml:"shm-size"`
	SigProxy             OptBool     `json:"sig-proxy" yaml:"sig-proxy"`
	RawStopSignal        string      `json:"stop-signal" yaml:"stop-signal"`
	RawTmpfs             []string    `json:"tmpfs" yaml:"tmpfs"`
	Tty                  bool        `json:"tty" yaml:"tty"`
	RawUlimit            []string    `json:"ulimit" yaml:"ulimit"`
	RawUser              string      `json:"user" yaml:"user"`
	RawUts               string      `json:"uts" yaml:"uts"`
	RawVolume            []string    `json:"volume" yaml:"volume"`
	RawVolumeDriver      string      `json:"volume-driver" yaml:"volume-driver"`
	RawVolumesFrom       []string    `json:"volumes-from" yaml:"volumes-from"`
	RawWorkdir           string      `json:"workdir" yaml:"workdir"`
	RawCmd               interface{} `json:"cmd" yaml:"cmd"`
}

func (RunParameters) ActualNet

func (r RunParameters) ActualNet() string

func (RunParameters) ActualVolume

func (r RunParameters) ActualVolume() []string

func (RunParameters) AddHost added in v0.12.0

func (r RunParameters) AddHost() []string

func (RunParameters) BlkioWeightDevice

func (r RunParameters) BlkioWeightDevice() []string

func (RunParameters) CapAdd added in v0.12.0

func (r RunParameters) CapAdd() []string

func (RunParameters) CapDrop added in v0.12.0

func (r RunParameters) CapDrop() []string

func (RunParameters) CgroupParent added in v1.3.0

func (r RunParameters) CgroupParent() string

func (RunParameters) Cidfile

func (r RunParameters) Cidfile() string

func (RunParameters) Cmd

func (r RunParameters) Cmd() []string

func (RunParameters) DNS

func (r RunParameters) DNS() []string

func (RunParameters) DNSOpt

func (r RunParameters) DNSOpt() []string

func (RunParameters) DNSSearch

func (r RunParameters) DNSSearch() []string

func (RunParameters) DetachKeys

func (r RunParameters) DetachKeys() string

func (RunParameters) Device added in v0.12.0

func (r RunParameters) Device() []string

func (RunParameters) DeviceReadBps

func (r RunParameters) DeviceReadBps() []string

func (RunParameters) DeviceReadIops

func (r RunParameters) DeviceReadIops() []string

func (RunParameters) DeviceWriteBps

func (r RunParameters) DeviceWriteBps() []string

func (RunParameters) DeviceWriteIops

func (r RunParameters) DeviceWriteIops() []string

func (RunParameters) Entrypoint

func (r RunParameters) Entrypoint() string

func (RunParameters) Env

func (r RunParameters) Env() []string

func (RunParameters) EnvFile

func (r RunParameters) EnvFile() []string

func (RunParameters) Expose

func (r RunParameters) Expose() []string

func (RunParameters) GroupAdd

func (r RunParameters) GroupAdd() []string

func (RunParameters) Hostname

func (r RunParameters) Hostname() string

func (RunParameters) IPC

func (r RunParameters) IPC() string

func (RunParameters) Ip

func (r RunParameters) Ip() string

func (RunParameters) Ip6

func (r RunParameters) Ip6() string

func (RunParameters) Isolation

func (r RunParameters) Isolation() string

func (RunParameters) KernelMemory

func (r RunParameters) KernelMemory() string

func (RunParameters) Label added in v1.3.0

func (r RunParameters) Label() []string

func (RunParameters) LabelFile added in v1.3.0

func (r RunParameters) LabelFile() []string
func (r RunParameters) Link() []string

func (RunParameters) LogDriver added in v1.3.0

func (r RunParameters) LogDriver() string

func (RunParameters) LogOpt added in v1.5.0

func (r RunParameters) LogOpt() []string

func (RunParameters) LxcConf

func (r RunParameters) LxcConf() []string

func (RunParameters) MacAddress added in v1.1.0

func (r RunParameters) MacAddress() string

func (RunParameters) Memory

func (r RunParameters) Memory() string

func (RunParameters) MemoryReservation

func (r RunParameters) MemoryReservation() string

func (RunParameters) MemorySwap added in v1.1.0

func (r RunParameters) MemorySwap() string

func (RunParameters) Net

func (r RunParameters) Net() string

func (RunParameters) NetAlias

func (r RunParameters) NetAlias() []string

func (RunParameters) OomScoreAdj

func (r RunParameters) OomScoreAdj() string

func (RunParameters) Pid added in v1.1.0

func (r RunParameters) Pid() string

func (RunParameters) Publish

func (r RunParameters) Publish() []string

func (RunParameters) Restart added in v0.11.0

func (r RunParameters) Restart() string

func (RunParameters) SecurityOpt added in v1.1.0

func (r RunParameters) SecurityOpt() []string

func (RunParameters) ShmSize

func (r RunParameters) ShmSize() string

func (RunParameters) StopSignal

func (r RunParameters) StopSignal() string

func (RunParameters) Tmpfs

func (r RunParameters) Tmpfs() []string

func (RunParameters) Ulimit added in v1.3.0

func (r RunParameters) Ulimit() []string

func (RunParameters) User

func (r RunParameters) User() string

func (RunParameters) Uts added in v1.5.1

func (r RunParameters) Uts() string

func (RunParameters) Volume

func (r RunParameters) Volume() []string

func (RunParameters) VolumeDriver

func (r RunParameters) VolumeDriver() string

func (RunParameters) VolumeSources

func (r RunParameters) VolumeSources() []string

func (RunParameters) VolumesFrom

func (r RunParameters) VolumesFrom() []string

func (RunParameters) Workdir

func (r RunParameters) Workdir() string

type StartParameters added in v0.10.0

type StartParameters struct {
	Attach        bool   `json:"attach" yaml:"attach"`
	RawDetachKeys string `json:"detach-keys" yaml:"detach-keys"`
	Interactive   bool   `json:"interactive" yaml:"interactive"`
}

func (StartParameters) DetachKeys

func (s StartParameters) DetachKeys() string

type StatusError

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

type Target

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

func NewTarget

func NewTarget(dependencyMap map[string]*Dependencies, targetFlag string) (target Target, err error)

NewTarget receives the specified target and determines which containers should be targeted. The target might be extended depending whether the dynamic targets "dependencies" and/or "affected" are included in the targetFlag. Additionally, the target is sorted alphabetically.

type UnitOfWork

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

func NewUnitOfWork

func NewUnitOfWork(dependencyMap map[string]*Dependencies, targeted []string) (uow *UnitOfWork, err error)

func (*UnitOfWork) Associated

func (uow *UnitOfWork) Associated() []string

func (*UnitOfWork) Containers

func (uow *UnitOfWork) Containers() Containers

func (*UnitOfWork) Create

func (uow *UnitOfWork) Create(cmds []string)

Create containers.

func (*UnitOfWork) Exec

func (uow *UnitOfWork) Exec(cmds []string)

func (*UnitOfWork) Generate

func (uow *UnitOfWork) Generate(templateFile string, output string)

Generate files.

func (*UnitOfWork) Kill

func (uow *UnitOfWork) Kill()

Kill containers.

func (*UnitOfWork) Lift

func (uow *UnitOfWork) Lift(cmds []string, noCache bool, parallel int)

func (*UnitOfWork) Logs

func (uow *UnitOfWork) Logs(follow bool, timestamps bool, tail string, colorize bool, since string)

Log containers.

func (*UnitOfWork) Pause

func (uow *UnitOfWork) Pause()

Pause containers.

func (*UnitOfWork) Provision

func (uow *UnitOfWork) Provision(noCache bool, parallel int)

Provision containers.

func (*UnitOfWork) PullImage

func (uow *UnitOfWork) PullImage()

Pull containers.

func (*UnitOfWork) Push

func (uow *UnitOfWork) Push()

Push containers.

func (*UnitOfWork) RequiredNetworks

func (uow *UnitOfWork) RequiredNetworks() []string

func (*UnitOfWork) RequiredVolumes

func (uow *UnitOfWork) RequiredVolumes() []string

func (*UnitOfWork) Rm

func (uow *UnitOfWork) Rm(force bool)

Rm containers.

func (*UnitOfWork) Run

func (uow *UnitOfWork) Run(cmds []string)

func (*UnitOfWork) Start

func (uow *UnitOfWork) Start()

Start containers.

func (*UnitOfWork) Stats

func (uow *UnitOfWork) Stats(noStream bool)

func (*UnitOfWork) Status

func (uow *UnitOfWork) Status(noTrunc bool)

func (*UnitOfWork) Stop

func (uow *UnitOfWork) Stop()

Stop containers.

func (*UnitOfWork) Targeted

func (uow *UnitOfWork) Targeted() Containers

func (*UnitOfWork) TargetedInfo

func (uow *UnitOfWork) TargetedInfo() []ContainerInfo

func (*UnitOfWork) Unpause

func (uow *UnitOfWork) Unpause()

Unpause containers.

type Volume

type Volume interface {
	Name() string
	ActualName() string
	Create()
	Exists() bool
}

type VolumeMap

type VolumeMap map[string]Volume

Jump to

Keyboard shortcuts

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