crane

package
v2.0.1+incompatible Latest Latest
Warning

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

Go to latest
Published: Sep 16, 2015 License: MIT Imports: 24 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"`
}

type Config

type Config interface {
	DependencyGraph(excluded []string) DependencyGraph
	ContainersForReference(reference string) (result []string)
	Path() string
	UniqueId() string
	Prefix() string
	ContainerMap() ContainerMap
	Container(name string) Container
}

func NewConfig

func NewConfig(location string, prefix 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 {
	Name() string
	ActualName() string
	BuildContext() string
	Image() string
	ImageWithTag() string
	Id() string
	Dependencies(excluded []string) *Dependencies
	Exists() bool
	Running() bool
	Unique() bool
	Paused() bool
	ImageExists() bool
	Status() []string
	Lift(cmds []string, nocache bool, excluded []string, configPath string)
	Provision(nocache bool)
	PullImage()
	Create(cmds []string, excluded []string, configPath string)
	Run(cmds []string, excluded []string, configPath string)
	Start(excluded []string, configPath string)
	Kill()
	Stop()
	Pause()
	Unpause()
	Exec(cmds []string, configPath string)
	Rm(force bool)
	Logs(follow bool, since string, 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

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)

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
	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 ExecParameters

type ExecParameters struct {
	Interactive bool `json:"interactive" yaml:"interactive"`
	Tty         bool `json:"tty" yaml:"tty"`
}

type Hooks added in v1.2.0

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

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 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"`
	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"`
	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"`
	OomKillDisable  bool        `json:"oom-kill-disable" yaml:"oom-kill-disable"`
	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"`
	RawUts          string      `json:"uts" yaml:"uts"`
	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) Uts added in v1.5.1

func (r *RunParameters) Uts() 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 struct {
	// contains filtered or unexported fields
}

func NewTarget

func NewTarget(graph DependencyGraph, targetFlag string, excluded []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(graph DependencyGraph, 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, excluded []string)

Create containers.

func (*UnitOfWork) Exec

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

func (*UnitOfWork) Kill

func (uow *UnitOfWork) Kill()

Kill containers.

func (*UnitOfWork) Lift

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

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)

Provision containers.

func (*UnitOfWork) PullImage

func (uow *UnitOfWork) PullImage()

Pull containers.

func (*UnitOfWork) Push

func (uow *UnitOfWork) Push()

Push containers.

func (*UnitOfWork) Rm

func (uow *UnitOfWork) Rm(force bool)

Rm containers.

func (*UnitOfWork) Run

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

func (*UnitOfWork) Start

func (uow *UnitOfWork) Start()

Start containers.

func (*UnitOfWork) Stats

func (uow *UnitOfWork) Stats()

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) Unpause

func (uow *UnitOfWork) Unpause()

Unpause containers.

Jump to

Keyboard shortcuts

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