build

package
v3.0.2+incompatible Latest Latest
Warning

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

Go to latest
Published: Jan 4, 2019 License: BSD-3-Clause Imports: 24 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func IsValidAssembler

func IsValidAssembler(c string) (valid bool, err error)

IsValidAssembler returns whether or not the given Assembler is valid

func MakeDef

func MakeDef(spec string, remote bool) (types.Definition, error)

MakeDef gets a definition object from a spec

Types

type Assembler

type Assembler interface {
	Assemble(*types.Bundle, string) error
}

Assembler is responsible for assembling an image from a bundle. For example a bundle may be holding multiple file systems indended to be separate partitions within a SIF image. The assembler would need to detect these directories and make sure it properly assembles the SIF with them as partitions

type Build

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

Build is an abstracted way to look at the entire build process. For example calling NewBuild() will return this object. From there we can call Full() on this build object, which will:

Call Bundle() to obtain all data needed to execute the specified build locally on the machine
Execute all of a definition using AllSections()
And finally call Assemble() to create our container image

func NewBuild

func NewBuild(spec, dest, format string, libraryURL, authToken string, opts types.Options) (*Build, error)

NewBuild creates a new Build struct from a spec (URI, definition file, etc...)

func NewBuildJSON

func NewBuildJSON(r io.Reader, dest, format string, libraryURL, authToken string, opts types.Options) (*Build, error)

NewBuildJSON creates a new build struct from a JSON byte slice

func (*Build) Assemble

func (b *Build) Assemble(path string) error

Assemble assembles the bundle to the specified path

func (*Build) Full

func (b *Build) Full() error

Full runs a standard build from start to finish

type Conveyor

type Conveyor interface {
	Get(*types.Bundle) error
}

Conveyor is responsible for downloading from remote sources (library, shub, docker...)

type ConveyorPacker

type ConveyorPacker interface {
	Conveyor
	Packer
}

ConveyorPacker describes an interface that a ConveyorPacker type must implement

type Packer

type Packer interface {
	Pack() (*types.Bundle, error)
}

Packer is the type which is responsible for installing the chroot directory, metadata directory, and potentially other files/directories within the Bundle

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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