crane

package
v1.5.0 Latest Latest
Warning

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

Go to latest
Published: Jul 7, 2015 License: MIT Imports: 23 Imported by: 10

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RealMain

func RealMain()

Types

type Config

type Config interface {
	TargetedContainers() Containers
	DependencyGraph() DependencyGraph
	Path() string
}

func NewConfig

func NewConfig(options Options, forceOrder bool) Config

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

type Container

type Container interface {
	Name() string
	Dockerfile() string
	Image() string
	ImageWithTag() string
	Id() string
	Dependencies() *Dependencies
	Exists() bool
	Running() bool
	Paused() bool
	ImageExists() bool
	Status() []string
	Provision(nocache bool)
	ProvisionOrSkip(update bool, nocache bool)
	PullImage()
	Create(ignoreMissing string, configPath string)
	Run(ignoreMissing string, configPath string)
	Start()
	RunOrStart(ignoreMissing string, configPath string)
	Kill()
	Stop()
	Pause()
	Unpause()
	Rm(force bool)
	Logs(follow bool, tail string) (stdout, stderr io.Reader)
	Push()
	Hooks() Hooks
}

type ContainerMap

type ContainerMap map[string]Container

ContainerMap maps the container name to its configuration

type Containers

type Containers []Container

type Dependencies

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

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

type DependencyGraph

type DependencyGraph map[string]*Dependencies

DependencyGraph maps container names to their dependencies

func (DependencyGraph) DOT added in v0.10.0

func (graph DependencyGraph) DOT(writer io.Writer, targetedContainers Containers)

dumps the dependency graph as a DOT to the writer

type Hooks added in v1.2.0

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

type OptBool added in v1.1.1

type OptBool struct {
	Defined bool
	Value   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 Options

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

type RmParameters

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

type RunParameters

type RunParameters struct {
	RawAddHost      []string    `json:"add-host" yaml:"add-host"`
	RawCapAdd       []string    `json:"cap-add" yaml:"cap-add"`
	RawCapDrop      []string    `json:"cap-drop" yaml:"cap-drop"`
	RawCgroupParent string      `json:"cgroup-parent" yaml:"cgroup-parent"`
	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"`
	RawDevice       []string    `json:"device" yaml:"device"`
	RawDns          []string    `json:"dns" yaml:"dns"`
	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"`
	RawHostname     string      `json:"hostname" yaml:"hostname"`
	Interactive     bool        `json:"interactive" yaml:"interactive"`
	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"`
	RawMemorySwap   string      `json:"memory-swap" yaml:"memory-swap"`
	RawNet          string      `json:"net" yaml:"net"`
	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"`
	SigProxy        OptBool     `json:"sig-proxy" yaml:"sig-proxy"`
	Tty             bool        `json:"tty" yaml:"tty"`
	RawUlimit       []string    `json:"ulimit" yaml:"ulimit"`
	RawUser         string      `json:"user" yaml:"user"`
	RawVolume       []string    `json:"volume" yaml:"volume"`
	RawVolumesFrom  []string    `json:"volumes-from" yaml:"volumes-from"`
	RawWorkdir      string      `json:"workdir" yaml:"workdir"`
	RawCmd          interface{} `json:"cmd" yaml:"cmd"`
}

func (*RunParameters) AddHost added in v0.12.0

func (r *RunParameters) AddHost() []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) Device added in v0.12.0

func (r *RunParameters) Device() []string

func (*RunParameters) Dns

func (r *RunParameters) Dns() []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) Hostname

func (r *RunParameters) Hostname() 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) MemorySwap added in v1.1.0

func (r *RunParameters) MemorySwap() string

func (*RunParameters) Net

func (r *RunParameters) Net() 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) Ulimit added in v1.3.0

func (r *RunParameters) Ulimit() []string

func (*RunParameters) User

func (r *RunParameters) User() string

func (*RunParameters) Volume

func (r *RunParameters) Volume(configPath string) []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"`
	Interactive bool `json:"interactive" yaml:"interactive"`
}

type StatusError

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

type Target

type Target []string

Jump to

Keyboard shortcuts

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