Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BuildCmd ¶
type BuildCmd struct {
// contains filtered or unexported fields
}
BuildCmd is a wrapper for the os/exec call for `docker build`
func (*BuildCmd) Message ¶
Message returns the shell command that gets run for docker build commands
func (*BuildCmd) Run ¶
Run is the command that actually calls docker build shell command. Determine the image ID for the resulting image and return that as well.
func (*BuildCmd) WithOpts ¶
func (b *BuildCmd) WithOpts(opts *DockerCmdOpts) DockerCmd
WithOpts sets options required for the BuildCmd
type CommandSequence ¶
type CommandSequence struct {
Commands []*SubSequence
}
A CommandSequence is an intermediate data type in the parsing process. Once a Builderfile is parsed into an InstructionSet, it is further parsed into a CommandSequence, which is essential an array of strings where each string is a command to be run.
type DockerCmd ¶
type DockerCmd interface {
// Run() runs the underlying command. The string return value is expected
// to be the ID of the image being operated on
Run() (string, error)
// Message() returns a string representation of the command if it were to
// be run on the command line
Message() string
// WithOpts sets the options for the command. It is expected to return the
// same DockerCmd in a state in which the Run() function can be called
// immediately after without error (i.e.`dockerCmdInstance.WithOpts(opts).Run()`)
WithOpts(opts *DockerCmdOpts) DockerCmd
}
DockerCmd is an interface that wraps the various docker command types.
type DockerCmdOpts ¶
type DockerCmdOpts struct {
DockerClient dockerclient.DockerClient
Image string
Workdir string
Stdout io.Writer
Stderr io.Writer
SkipPush bool
ImageUUID string
Reporter *comm.Reporter
}
DockerCmdOpts is an options struct for the options required by the various structs that implement the DockerCmd interface
type InstructionSet ¶
type InstructionSet struct {
DockerBuildOpts []string
DockerTagOpts []string
Containers []unitconfig.ContainerSection
}
An InstructionSet is an intermediate datatype - once a Builderfile is parsed and the TOML is validated, the parser parses the data into an InstructionSet. The primary purpose of this step is to merge any global container options into the sections for the individual containers.
type NewParserOptions ¶
type NewParserOptions struct {
ContextDir string
Log comm.LogChan
Event comm.EventChan
}
NewParserOptions encapsulates all of the options necessary when creating a new parser
type NilClientError ¶ added in v0.2.0
type NilClientError struct{}
NilClientError is the error returned by any Run() command if the underlying docker client is nil
func (NilClientError) Error ¶ added in v0.2.0
func (err NilClientError) Error() string
type Parser ¶
type Parser struct {
// contains filtered or unexported fields
}
Parser is a struct that contains a Builderfile and knows how to parse it both as raw text and to convert toml to a Builderfile struct. It also knows how to tell if the Builderfile is valid (openable) or nat.
func NewParser ¶
func NewParser(opts NewParserOptions) *Parser
NewParser returns an initialized Parser. Not currently necessary, as no default values are assigned to a new Parser, but useful to have in case we need to change this.
func (*Parser) Parse ¶
func (parser *Parser) Parse(file *unitconfig.UnitConfig) *CommandSequence
Parse - does the parsing!
type PushCmd ¶
type PushCmd struct {
PushFunc func(opts docker.PushImageOptions, auth docker.AuthConfiguration) error
Image string
Tag string
Registry string
AuthUn string
AuthPwd string
AuthEmail string
OutputStream io.Writer
// contains filtered or unexported fields
}
PushCmd is a wrapper for the docker PushImage functionality
func (*PushCmd) Message ¶
Message returns the shell command that would be equivalent to the PushImage command
func (*PushCmd) WithOpts ¶
func (p *PushCmd) WithOpts(opts *DockerCmdOpts) DockerCmd
WithOpts sets options required for the PushCmd
type SubSequence ¶
type SubSequence struct {
Metadata *SubSequenceMetadata
SubCommand []DockerCmd
}
A SubSequence is a logical grouping of commands such as a sequence of build, tag, and push commands. In addition, the subsequence metadata contains any important metadata about the container build such as the name of the Dockerfile and which files/dirs to exclude.
type SubSequenceMetadata ¶
SubSequenceMetadata contains any important metadata about the container build such as the name of the Dockerfile and which files/dirs to exclude.
type Tag ¶
type Tag struct {
// contains filtered or unexported fields
}
Tag is for tagging
type TagCmd ¶
type TagCmd struct {
TagFunc func(name string, opts docker.TagImageOptions) error
Image string
Force bool
Tag string
Repo string
// contains filtered or unexported fields
}
TagCmd is a wrapper for the docker TagImage functionality
func (*TagCmd) Message ¶
Message returns the shell command that would be equivalent to the TagImage command
func (*TagCmd) WithOpts ¶
func (t *TagCmd) WithOpts(opts *DockerCmdOpts) DockerCmd
WithOpts sets options required for the TagCmd