docker

package
v1.16.0 Latest Latest
Warning

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

Go to latest
Published: Oct 29, 2020 License: Apache-2.0 Imports: 51 Imported by: 19

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	EvalBuildArgs = evalBuildArgs // To override during testing

)
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, cfg Config) error

func CreateDockerTarContext

func CreateDockerTarContext(ctx context.Context, w io.Writer, workspace string, a *latest.DockerArtifact, cfg Config) error

func EvaluateBuildArgs added in v0.33.0

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

EvaluateBuildArgs evaluates templated build args. An additional envMap can optionally be specified. If multiple additional envMaps are specified, all but the first one will be ignored

func GetDependencies added in v0.7.0

func GetDependencies(ctx context.Context, workspace string, dockerfilePath string, buildArgs map[string]*string, cfg Config) ([]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(ref name.Reference, insecureRegistries map[string]bool) bool

IsInsecure tests if an image is pulled from 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, cfg Config) (string, error)

Push pushes the tarball image

func RetrieveConfigFile added in v1.2.0

func RetrieveConfigFile(tagged string, cfg Config) (*v1.ConfigFile, error)

func RetrieveLabels added in v1.3.0

func RetrieveLabels(tagged string, cfg Config) (map[string]string, error)

func RetrieveRemoteConfig added in v0.24.0

func RetrieveRemoteConfig(identifier string, cfg Config) (*v1.ConfigFile, error)

RetrieveRemoteConfig retrieves the remote config file for an image

func RetrieveWorkingDir added in v0.32.0

func RetrieveWorkingDir(tagged string, cfg Config) (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, cfg Config) (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 ToCLIBuildArgs added in v1.7.1

func ToCLIBuildArgs(a *latest.DockerArtifact, evaluatedArgs map[string]*string) ([]string, error)

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(ctx context.Context) (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 BuildOptions

type BuildOptions struct {
	Tag            string
	Mode           config.RunMode
	ExtraBuildArgs map[string]*string
}

BuildOptions provides parameters related to the LocalDaemon build.

type BuildResult added in v0.21.0

type BuildResult struct {
	ID string
}

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

type Config added in v1.7.1

type Config interface {
	Prune() bool
	GetKubeContext() string
	MinikubeProfile() string
	GetInsecureRegistries() map[string]bool
	Mode() config.RunMode
}

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 ExitCoder added in v1.7.1

type ExitCoder interface {
	ExitCode() int
}

type ImageReference added in v0.7.0

type ImageReference struct {
	BaseName       string
	Domain         string
	Path           string
	Repo           string
	Name           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, opts BuildOptions) (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
	ImageList(ctx context.Context, ref string) ([]types.ImageSummary, error)
	Prune(ctx context.Context, images []string, pruneChildren bool) ([]string, error)
	DiskUsage(ctx context.Context) (uint64, error)
	RawClient() client.CommonAPIClient
}

LocalDaemon talks to a local Docker API.

func NewAPIClientImpl added in v0.35.0

func NewAPIClientImpl(cfg Config) (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, cfg Config) 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