pack

package module
v0.0.5 Latest Latest
Warning

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

Go to latest
Published: Oct 25, 2018 License: Apache-2.0 Imports: 37 Imported by: 0

README

pack - Buildpack CLI Build Status

pack is a tool to create runnable images from applications using buildpacks.

For information on buildpacks: buildpacks.io

Example Usage

./pack build packs/myimage:mytag --path ./myapp

The above will create images on your local daemon. If you wish to export images directly to a docker registry, use the --publish flag.

./pack build packs/myimage:mytag --path ./myapp --publish

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Build

func Build(appDir, buildImage, runImage, repoName string, publish bool) error

func Run added in v0.0.5

func Run(appDir, buildImage, runImage, port string, makeStopCh func() <-chan struct{}) error

Types

type BuildConfig added in v0.0.4

type BuildConfig struct {
	AppDir     string
	Builder    string
	RunImage   string
	RepoName   string
	Publish    bool
	Buildpacks []string
	// Above are copied from BuildFlags are set by init
	Cli    Docker
	Stdout io.Writer
	Stderr io.Writer
	Log    *log.Logger
	FS     FS
	Config *config.Config
	Images Images
	// Above are copied from BuildFactory
	WorkspaceVolume string
	CacheVolume     string
}

func (*BuildConfig) Analyze added in v0.0.4

func (b *BuildConfig) Analyze() error

func (*BuildConfig) Build added in v0.0.4

func (b *BuildConfig) Build() error

func (*BuildConfig) Detect added in v0.0.4

func (b *BuildConfig) Detect() (*lifecycle.BuildpackGroup, error)

func (*BuildConfig) Export added in v0.0.4

func (b *BuildConfig) Export(group *lifecycle.BuildpackGroup) error

func (*BuildConfig) Run added in v0.0.4

func (b *BuildConfig) Run() error

type BuildFactory added in v0.0.4

type BuildFactory struct {
	Cli    Docker
	Stdout io.Writer
	Stderr io.Writer
	Log    *log.Logger
	FS     FS
	Config *config.Config
	Images Images
}

func DefaultBuildFactory added in v0.0.4

func DefaultBuildFactory() (*BuildFactory, error)

func (*BuildFactory) BuildConfigFromFlags added in v0.0.4

func (bf *BuildFactory) BuildConfigFromFlags(f *BuildFlags) (*BuildConfig, error)

func (*BuildFactory) RunConfigFromFlags added in v0.0.5

func (bf *BuildFactory) RunConfigFromFlags(f *RunFlags) (*RunConfig, error)

type BuildFlags added in v0.0.2

type BuildFlags struct {
	AppDir     string
	Builder    string
	RunImage   string
	RepoName   string
	Publish    bool
	NoPull     bool
	Buildpacks []string
}

type BuilderConfig added in v0.0.3

type BuilderConfig struct {
	RepoName   string
	Repo       img.Store
	Buildpacks []Buildpack
	Groups     []lifecycle.BuildpackGroup
	BaseImage  v1.Image
	BuilderDir string //original location of builder.toml, used for interpreting relative paths in buildpack URIs
}

type BuilderFactory added in v0.0.2

type BuilderFactory struct {
	Log    *log.Logger
	Docker Docker
	FS     FS
	Config *config.Config
	Images Images
}

func (*BuilderFactory) BuilderConfigFromFlags added in v0.0.4

func (f *BuilderFactory) BuilderConfigFromFlags(flags CreateBuilderFlags) (BuilderConfig, error)

func (*BuilderFactory) Create added in v0.0.2

func (f *BuilderFactory) Create(config BuilderConfig) error

type BuilderTOML added in v0.0.5

type BuilderTOML struct {
	Buildpacks []struct {
		ID     string `toml:"id"`
		URI    string `toml:"uri"`
		Latest bool   `toml:"latest"`
	} `toml:"buildpacks"`
	Groups []lifecycle.BuildpackGroup `toml:"groups"`
}

type Buildpack added in v0.0.2

type Buildpack struct {
	ID     string
	Dir    string
	Latest bool
}

type BuildpackData added in v0.0.5

type BuildpackData struct {
	BP struct {
		ID      string `toml:"id"`
		Version string `toml:"version"`
	} `toml:"buildpack"`
}

type CreateBuilderFlags added in v0.0.2

type CreateBuilderFlags struct {
	RepoName        string
	BuilderTomlPath string
	StackID         string
	Publish         bool
	NoPull          bool
}

type Docker added in v0.0.4

type Docker interface {
	PullImage(ref string) error
	RunContainer(ctx context.Context, id string, stdout io.Writer, stderr io.Writer) error
	VolumeRemove(ctx context.Context, volumeID string, force bool) error
	ContainerCreate(ctx context.Context, config *container.Config, hostConfig *container.HostConfig, networkingConfig *network.NetworkingConfig, containerName string) (container.ContainerCreateCreatedBody, error)
	ContainerRemove(ctx context.Context, containerID string, options types.ContainerRemoveOptions) error
	CopyToContainer(ctx context.Context, containerID, dstPath string, content io.Reader, options types.CopyToContainerOptions) error
	CopyFromContainer(ctx context.Context, containerID, srcPath string) (io.ReadCloser, types.ContainerPathStat, error)
	ImageBuild(ctx context.Context, buildContext io.Reader, options types.ImageBuildOptions) (types.ImageBuildResponse, error)
	ImageInspectWithRaw(ctx context.Context, imageID string) (types.ImageInspect, []byte, error)
}

type FS added in v0.0.3

type FS interface {
	CreateTGZFile(tarFile, srcDir, tarDir string, uid, gid int) error
	CreateTarReader(srcDir, tarDir string, uid, gid int) (io.Reader, chan error)
	Untar(r io.Reader, dest string) error
	CreateSingleFileTar(path, txt string) (io.Reader, error)
}

type Images added in v0.0.4

type Images interface {
	ReadImage(repoName string, useDaemon bool) (v1.Image, error)
	RepoStore(repoName string, useDaemon bool) (img.Store, error)
}

type RebaseConfig added in v0.0.5

type RebaseConfig struct {
	RepoName  string
	Publish   bool
	Repo      WritableStore
	RepoImage v1.Image
	OldBase   v1.Image
	NewBase   v1.Image
}

type RebaseFactory added in v0.0.5

type RebaseFactory struct {
	Log    *log.Logger
	Docker Docker
	Config *config.Config
	Images Images
}

func (*RebaseFactory) Rebase added in v0.0.5

func (f *RebaseFactory) Rebase(cfg RebaseConfig) error

func (*RebaseFactory) RebaseConfigFromFlags added in v0.0.5

func (f *RebaseFactory) RebaseConfigFromFlags(flags RebaseFlags) (RebaseConfig, error)

type RebaseFlags added in v0.0.5

type RebaseFlags struct {
	RepoName string
	Publish  bool
	NoPull   bool
}

type RunConfig added in v0.0.5

type RunConfig struct {
	Port  string
	Build Task
	// All below are from BuildConfig
	RepoName string
	Cli      Docker
	Stdout   io.Writer
	Stderr   io.Writer
	Log      *log.Logger
}

func (*RunConfig) Run added in v0.0.5

func (r *RunConfig) Run(makeStopCh func() <-chan struct{}) error

type RunFlags added in v0.0.5

type RunFlags struct {
	AppDir   string
	Builder  string
	RunImage string
	Port     string
}

type SubImage added in v0.0.5

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

func (*SubImage) BlobSet added in v0.0.5

func (si *SubImage) BlobSet() (map[v1.Hash]struct{}, error)

func (*SubImage) ConfigFile added in v0.0.5

func (si *SubImage) ConfigFile() (*v1.ConfigFile, error)

func (*SubImage) ConfigName added in v0.0.5

func (si *SubImage) ConfigName() (v1.Hash, error)

func (*SubImage) Digest added in v0.0.5

func (si *SubImage) Digest() (v1.Hash, error)

func (*SubImage) LayerByDiffID added in v0.0.5

func (si *SubImage) LayerByDiffID(v1.Hash) (v1.Layer, error)

func (*SubImage) LayerByDigest added in v0.0.5

func (si *SubImage) LayerByDigest(v1.Hash) (v1.Layer, error)

func (*SubImage) Layers added in v0.0.5

func (si *SubImage) Layers() ([]v1.Layer, error)

func (*SubImage) Manifest added in v0.0.5

func (si *SubImage) Manifest() (*v1.Manifest, error)

func (*SubImage) MediaType added in v0.0.5

func (si *SubImage) MediaType() (types.MediaType, error)

func (*SubImage) RawConfigFile added in v0.0.5

func (si *SubImage) RawConfigFile() ([]byte, error)

func (*SubImage) RawManifest added in v0.0.5

func (si *SubImage) RawManifest() ([]byte, error)

type Task added in v0.0.5

type Task interface {
	Run() error
}

type WritableStore added in v0.0.5

type WritableStore interface {
	Write(image v1.Image) error
}

Directories

Path Synopsis
cmd
pack command
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.

Jump to

Keyboard shortcuts

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