builder

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: May 25, 2016 License: Apache-2.0 Imports: 41 Imported by: 0

Documentation

Overview

Package builder contains builders for STI and Docker in OpenShift Origin

Index

Constants

View Source
const OriginalSourceURLAnnotationKey = "openshift.io/original-source-url"

Variables

View Source
var (
	// DefaultPushRetryCount is the number of retries of pushing the built Docker image
	// into a configured repository
	DefaultPushRetryCount = 6
	// DefaultPushRetryDelay is the time to wait before triggering a push retry
	DefaultPushRetryDelay = 5 * time.Second
	// RetriableErrors is a set of strings that indicate that an retriable error occurred.
	RetriableErrors = []string{
		"ping attempt failed with error",
		"is already in progress",
		"connection reset by peer",
		"transport closed before response was received",
	}
)

Functions

func GetCGroupLimits added in v1.1.2

func GetCGroupLimits() (*s2iapi.CGroupLimits, error)

GetCGroupLimits returns a struct populated with cgroup limit values gathered from the local /sys/fs/cgroup filesystem. Overflow values are set to math.MaxInt64.

func MergeEnv added in v1.1.1

func MergeEnv(oldEnv, newEnv []string) []string

MergeEnv will take an existing environment and merge it with a new set of variables. For variables with the same name in both, only the one in the new environment will be kept.

Types

type DockerBuilder

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

DockerBuilder builds Docker images given a git repository URL

func NewDockerBuilder

func NewDockerBuilder(dockerClient DockerClient, buildsClient client.BuildInterface, build *api.Build, gitClient GitClient, cgLimits *s2iapi.CGroupLimits) *DockerBuilder

NewDockerBuilder creates a new instance of DockerBuilder

func (*DockerBuilder) Build

func (d *DockerBuilder) Build() error

Build executes a Docker build

type DockerClient

type DockerClient interface {
	BuildImage(opts docker.BuildImageOptions) error
	PushImage(opts docker.PushImageOptions, auth docker.AuthConfiguration) error
	RemoveImage(name string) error
	CreateContainer(opts docker.CreateContainerOptions) (*docker.Container, error)
	DownloadFromContainer(id string, opts docker.DownloadFromContainerOptions) error
	PullImage(opts docker.PullImageOptions, auth docker.AuthConfiguration) error
	RemoveContainer(opts docker.RemoveContainerOptions) error
	InspectImage(name string) (*docker.Image, error)
	StartContainer(id string, hostConfig *docker.HostConfig) error
	WaitContainer(id string) (int, error)
	Logs(opts docker.LogsOptions) error
	TagImage(name string, opts docker.TagImageOptions) error
}

DockerClient is an interface to the Docker client that contains the methods used by the common builder

type GitClient added in v1.1.1

type GitClient interface {
	CloneWithOptions(dir string, url string, opts git.CloneOptions) error
	Checkout(dir string, ref string) error
	SubmoduleUpdate(dir string, init, recursive bool) error
	ListRemote(url string, args ...string) (string, string, error)
	GetInfo(location string) (*git.SourceInfo, []error)
}

GitClient performs git operations

type KeyValue added in v1.0.7

type KeyValue struct {
	Key   string
	Value string
}

KeyValue can be used to build ordered lists of key-value pairs.

type S2IBuilder added in v1.1.1

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

S2IBuilder performs an STI build given the build object

func NewS2IBuilder added in v1.1.1

func NewS2IBuilder(dockerClient DockerClient, dockerSocket string, buildsClient client.BuildInterface, build *api.Build, gitClient GitClient, cgLimits *s2iapi.CGroupLimits) *S2IBuilder

NewS2IBuilder creates a new STIBuilder instance

func (*S2IBuilder) Build added in v1.1.1

func (s *S2IBuilder) Build() error

Build executes STI build based on configured builder, S2I builder factory and S2I config validator

Directories

Path Synopsis
cmd
Package cmd contains the main entry point for the docker and STI builders
Package cmd contains the main entry point for the docker and STI builders
dockercfg
Package dockercfg contains a command helper to read .dockercfg files
Package dockercfg contains a command helper to read .dockercfg files
scmauth
Package scmauth provides SCM authentication methods based on secret files
Package scmauth provides SCM authentication methods based on secret files

Jump to

Keyboard shortcuts

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