Documentation ¶
Index ¶
- Variables
- func AddRemoteTag(src, target string, insecureRegistries map[string]bool) error
- func CreateDockerTarContext(ctx context.Context, w io.Writer, workspace string, a *latest.DockerArtifact, ...) error
- func EvaluateBuildArgs(args map[string]*string) (map[string]*string, error)
- func GetBuildArgs(a *latest.DockerArtifact) ([]string, error)
- func GetDependencies(ctx context.Context, workspace string, dockerfilePath string, ...) ([]string, error)
- func IsInsecure(reg string, insecureRegistries map[string]bool) bool
- func NormalizeDockerfilePath(context, dockerfile string) (string, error)
- func Push(tarPath, tag string, insecureRegistries map[string]bool) (string, error)
- func RetrieveConfigFile(tagged string, insecureRegistries map[string]bool) (*v1.ConfigFile, error)
- func RetrieveLabels(tagged string, insecureRegistries map[string]bool) (map[string]string, error)
- func RetrieveRemoteConfig(identifier string, insecureRegistries map[string]bool) (*v1.ConfigFile, error)
- func RetrieveWorkingDir(tagged string, insecureRegistries map[string]bool) (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 WalkWorkspace(workspace string, excludes, deps []string) (map[string]bool, error)
- type ArtifactConfig
- type AuthConfigHelper
- type Authenticators
- type BuildResult
- type ContainerRun
- type ImageReference
- type LocalDaemon
- type PushResult
Constants ¶
This section is empty.
Variables ¶
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 EvaluateBuildArgs ¶ added in v0.33.0
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
IsInsecure tests if the registry is listed as an insecure registry; default is false
func NormalizeDockerfilePath ¶ added in v0.11.0
NormalizeDockerfilePath returns the absolute path to the dockerfile.
func RetrieveConfigFile ¶ added in v1.2.0
func RetrieveLabels ¶ added in v1.3.0
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 SubstituteDefaultRepoIntoImage ¶ added in v1.0.0
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?
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) 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
func (ArtifactConfig) UpdateArtifact ¶ added in v1.2.0
func (c ArtifactConfig) UpdateArtifact(a *latest.Artifact)
CreateArtifact creates an Artifact to be included in the generated Build Config
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 Authenticators ¶ added in v1.1.0
type Authenticators struct {
// contains filtered or unexported fields
}
Authenticators stores an authenticator per registry.
func (*Authenticators) For ¶ added in v1.1.0
func (a *Authenticators) For(ref name.Reference) authn.Authenticator
For retrieves the authenticator for a given image reference.
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 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.