Documentation ¶
Index ¶
- Variables
- func AddRemoteTag(src, target string, cfg Config) error
- func CreateDockerTarContext(ctx context.Context, w io.Writer, workspace string, a *latest.DockerArtifact, ...) error
- func GetDependencies(ctx context.Context, workspace string, dockerfilePath string, ...) ([]string, error)
- func IsInsecure(ref name.Reference, insecureRegistries map[string]bool) bool
- func NewDockerIgnorePredicate(workspace string, excludes []string) (walk.Predicate, error)
- func NormalizeDockerfilePath(context, dockerfile string) (string, error)
- func Push(tarPath, tag string, cfg Config) (string, error)
- func RetrieveConfigFile(tagged string, cfg Config) (*v1.ConfigFile, error)
- func RetrieveLabels(tagged string, cfg Config) (map[string]string, error)
- func RetrieveRemoteConfig(identifier string, cfg Config) (*v1.ConfigFile, error)
- func RetrieveWorkingDir(tagged string, cfg Config) (string, error)
- func SubstituteDefaultRepoIntoImage(defaultRepo string, image string) (string, error)
- func SyncMap(workspace string, dockerfilePath string, buildArgs map[string]*string, ...) (map[string][]string, error)
- func ToCLIBuildArgs(a *latest.DockerArtifact, evaluatedArgs map[string]*string) ([]string, error)
- func WalkWorkspace(workspace string, excludes, deps []string) (map[string]bool, error)
- type ArtifactConfig
- type AuthConfigHelper
- type BuildResult
- type Config
- type ContainerRun
- type ExitCoder
- type ImageReference
- type Keychain
- type LocalDaemon
- type PushResult
Constants ¶
This section is empty.
Variables ¶
var (
EvalBuildArgs = evalBuildArgs // To override during testing
)
var Name = "Docker"
Name is the name of the Docker builder
var (
NewAPIClient = NewAPIClientImpl
)
For testing
var (
RemoteDigest = getRemoteDigest
)
for testing
var (
// RetrieveImage is overridden for unit testing
RetrieveImage = retrieveImage
)
var (
Validate = validate
)
For testing
Functions ¶
func AddRemoteTag ¶ added in v0.34.0
func CreateDockerTarContext ¶
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
IsInsecure tests if an image is pulled from an insecure registry; default is false
func NewDockerIgnorePredicate ¶ added in v1.7.1
NewDockerIgnorePredicate creates a walk.Predicate that checks if directory entries should be ignored.
func NormalizeDockerfilePath ¶ added in v0.11.0
NormalizeDockerfilePath returns the absolute path to the dockerfile.
func RetrieveConfigFile ¶ added in v1.2.0
func RetrieveConfigFile(tagged string, cfg Config) (*v1.ConfigFile, error)
func RetrieveLabels ¶ added in v1.3.0
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 SubstituteDefaultRepoIntoImage ¶ added in v1.0.0
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
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 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 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.
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, mode config.RunMode) (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(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.