docker

package
v1.9.0 Latest Latest
Warning

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

Go to latest
Published: May 5, 2020 License: Apache-2.0 Imports: 50 Imported by: 19

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Name = "Docker"

Name is the name of the Docker builder

View Source
var (
	NewAPIClient = NewAPIClientImpl
)

For testing

View Source
var (
	RemoteDigest = getRemoteDigest
)

for testing

View Source
var (
	// RetrieveImage is overridden for unit testing
	RetrieveImage = retrieveImage
)
View Source
var (
	Validate = validate
)

For testing

Functions

func AddRemoteTag added in v0.34.0

func AddRemoteTag(src, target string, insecureRegistries map[string]bool) error

func CreateDockerTarContext

func CreateDockerTarContext(ctx context.Context, w io.Writer, workspace string, a *latest.DockerArtifact, insecureRegistries map[string]bool) error

func EvaluateBuildArgs added in v0.33.0

func EvaluateBuildArgs(args map[string]*string) (map[string]*string, error)

EvaluateBuildArgs evaluates templated build args.

func GetBuildArgs added in v0.11.0

func GetBuildArgs(a *latest.DockerArtifact) ([]string, error)

GetBuildArgs gives the build args flags for docker build.

func GetDependencies added in v0.7.0

func GetDependencies(ctx context.Context, workspace string, dockerfilePath string, buildArgs map[string]*string, insecureRegistries map[string]bool) ([]string, error)

GetDependencies finds the sources dependencies for the given docker artifact. All paths are relative to the workspace.

func IsInsecure added in v0.37.0

func IsInsecure(reg string, insecureRegistries map[string]bool) bool

IsInsecure tests if the registry is listed as an insecure registry; default is false

func NewDockerIgnorePredicate added in v1.7.1

func NewDockerIgnorePredicate(workspace string, excludes []string) (walk.Predicate, error)

NewDockerIgnorePredicate creates a walk.Predicate that checks if directory entries should be ignored.

func NormalizeDockerfilePath added in v0.11.0

func NormalizeDockerfilePath(context, dockerfile string) (string, error)

NormalizeDockerfilePath returns the absolute path to the dockerfile.

func Push added in v0.34.0

func Push(tarPath, tag string, insecureRegistries map[string]bool) (string, error)

Push pushes the tarball image

func RetrieveConfigFile added in v1.2.0

func RetrieveConfigFile(tagged string, insecureRegistries map[string]bool) (*v1.ConfigFile, error)

func RetrieveLabels added in v1.3.0

func RetrieveLabels(tagged string, insecureRegistries map[string]bool) (map[string]string, error)

func RetrieveRemoteConfig added in v0.24.0

func RetrieveRemoteConfig(identifier string, insecureRegistries map[string]bool) (*v1.ConfigFile, error)

RetrieveRemoteConfig retrieves the remote config file for an image

func RetrieveWorkingDir added in v0.32.0

func RetrieveWorkingDir(tagged string, insecureRegistries map[string]bool) (string, error)

func SubstituteDefaultRepoIntoImage added in v1.0.0

func SubstituteDefaultRepoIntoImage(defaultRepo string, image string) (string, error)

func SyncMap added in v0.32.0

func SyncMap(workspace string, dockerfilePath string, buildArgs map[string]*string, insecureRegistries map[string]bool) (map[string][]string, error)

SyncMap creates a map of syncable files by looking at the COPY/ADD commands in the Dockerfile. All keys are relative to the Skaffold root, the destinations are absolute container paths. TODO(corneliusweig) destinations are not resolved across stages in multistage dockerfiles. Is there a use-case for that?

func WalkWorkspace added in v0.29.0

func WalkWorkspace(workspace string, excludes, deps []string) (map[string]bool, error)

WalkWorkspace walks the given host directories and records all files found. Note: if you change this function, you might also want to modify `walkWorkspaceWithDestinations`.

Types

type ArtifactConfig added in v1.2.0

type ArtifactConfig struct {
	File string `json:"path"`
}

ArtifactConfig holds information about a Docker build based project

func (ArtifactConfig) ArtifactType added in v1.6.0

func (c ArtifactConfig) ArtifactType() latest.ArtifactType

ArtifactType returns the type of the artifact to be built.

func (ArtifactConfig) ConfiguredImage added in v1.2.0

func (c ArtifactConfig) ConfiguredImage() string

ConfiguredImage returns the target image configured by the builder, or an empty string if no image is configured

func (ArtifactConfig) Describe added in v1.2.0

func (c ArtifactConfig) Describe() string

Describe returns the initBuilder's string representation, used when prompting the user to choose a builder.

func (ArtifactConfig) Name added in v1.2.0

func (c ArtifactConfig) Name() string

Name returns the name of the builder, "Docker"

func (ArtifactConfig) Path added in v1.2.0

func (c ArtifactConfig) Path() string

Path returns the path to the dockerfile

type AuthConfigHelper

type AuthConfigHelper interface {
	GetAuthConfig(registry string) (types.AuthConfig, error)
	GetAllAuthConfigs() (map[string]types.AuthConfig, error)
}

AuthConfigHelper exists for testing purposes since GetAuthConfig shells out to native store helpers. Ideally this shouldn't be public, but the LocalBuilder needs to use it.

var (
	// DefaultAuthHelper is exposed so that other packages can override it for testing
	DefaultAuthHelper AuthConfigHelper
)

type BuildResult added in v0.21.0

type BuildResult struct {
	ID string
}

BuildResult gives the information on an image that has been built.

type ContainerRun added in v1.0.0

type ContainerRun struct {
	Image       string
	User        string
	Command     []string
	Mounts      []mount.Mount
	Env         []string
	BeforeStart func(context.Context, string) error
}

type ImageReference added in v0.7.0

type ImageReference struct {
	BaseName       string
	Domain         string
	Path           string
	Tag            string
	Digest         string
	FullyQualified bool
}

ImageReference is a parsed image name.

func ParseReference added in v0.7.0

func ParseReference(image string) (*ImageReference, error)

ParseReference parses an image name to a reference.

type Keychain added in v1.7.0

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

Keychain stores an authenticator per registry.

func (*Keychain) Resolve added in v1.7.0

func (a *Keychain) Resolve(res authn.Resource) (authn.Authenticator, error)

Resolve retrieves the authenticator for a given resource.

type LocalDaemon added in v0.21.0

type LocalDaemon interface {
	Close() error
	ExtraEnv() []string
	ServerVersion(ctx context.Context) (types.Version, error)
	ConfigFile(ctx context.Context, image string) (*v1.ConfigFile, error)
	Build(ctx context.Context, out io.Writer, workspace string, a *latest.DockerArtifact, ref string) (string, error)
	Push(ctx context.Context, out io.Writer, ref string) (string, error)
	Pull(ctx context.Context, out io.Writer, ref string) error
	Load(ctx context.Context, out io.Writer, input io.Reader, ref string) (string, error)
	Tag(ctx context.Context, image, ref string) error
	TagWithImageID(ctx context.Context, ref string, imageID string) (string, error)
	ImageID(ctx context.Context, ref string) (string, error)
	ImageInspectWithRaw(ctx context.Context, image string) (types.ImageInspect, []byte, error)
	ImageRemove(ctx context.Context, image string, opts types.ImageRemoveOptions) ([]types.ImageDeleteResponseItem, error)
	ImageExists(ctx context.Context, ref string) bool
	Prune(ctx context.Context, out io.Writer, images []string, pruneChildren bool) error
	RawClient() client.CommonAPIClient
}

LocalDaemon talks to a local Docker API.

func NewAPIClientImpl added in v0.35.0

func NewAPIClientImpl(runCtx *runcontext.RunContext) (LocalDaemon, error)

NewAPIClientImpl guesses the docker client to use based on current Kubernetes context.

func NewLocalDaemon added in v0.21.0

func NewLocalDaemon(apiClient client.CommonAPIClient, extraEnv []string, forceRemove bool, insecureRegistries map[string]bool) LocalDaemon

NewLocalDaemon creates a new LocalDaemon.

type PushResult added in v0.21.0

type PushResult struct {
	Digest string
}

PushResult gives the information on an image that has been pushed.

Jump to

Keyboard shortcuts

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