util

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Jul 31, 2018 License: Apache-2.0 Imports: 31 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddPathToVolumeWhitelist

func AddPathToVolumeWhitelist(path string) error

AddPathToVolumeWhitelist adds the given path to the volume whitelist It will get snapshotted when the VOLUME command is run then ignored for subsequent commands.

func AddToTar

func AddToTar(p string, i os.FileInfo, hardlinks map[uint64]string, w *tar.Writer) error

AddToTar adds the file i to tar w at path p

func CheckWhitelist added in v0.3.0

func CheckWhitelist(path string) bool

func ChildDirInWhitelist

func ChildDirInWhitelist(path, directory string) bool

ChildDirInWhitelist returns true if there is a child file or directory of the path in the whitelist

func ContainsWildcards

func ContainsWildcards(paths []string) bool

ContainsWildcards returns true if any entry in paths contains wildcards

func CopyDir

func CopyDir(src, dest string) error

CopyDir copies the file or directory at src to dest

func CopyFile

func CopyFile(src, dest string) error

CopyFile copies the file at src to dest

func CopySymlink(src, dest string) error

CopySymlink copies the symlink at src to dest

func CreateFile

func CreateFile(path string, reader io.Reader, perm os.FileMode, uid uint32, gid uint32) error

CreateFile creates a file at path and copies over contents from the reader

func DeleteFilesystem

func DeleteFilesystem() error

DeleteFilesystem deletes the extracted image file system

func DestinationFilepath

func DestinationFilepath(src, dest, cwd string) (string, error)

DestinationFilepath returns the destination filepath from the build context to the image filesystem If source is a file:

If dest is a dir, copy it to /dest/relpath
If dest is a file, copy directly to dest

If source is a dir:

Assume dest is also a dir, and copy to dest/relpath

If dest is not an absolute filepath, add /cwd to the beginning

func DownloadFileToDest

func DownloadFileToDest(rawurl, dest string) error

DownloadFileToDest downloads the file at rawurl to the given dest for the ADD command From add command docs:

  1. If <src> is a remote file URL: - destination will have permissions of 0600 - If remote file has HTTP Last-Modified header, we set the mtime of the file to that timestamp

func FilepathExists

func FilepathExists(path string) bool

FilepathExists returns true if the path exists

func Files

func Files(root string) ([]string, error)

Files returns a list of all files rooted at root

func GetBucketAndItem added in v0.2.0

func GetBucketAndItem(context string) (string, string)

func GetFSFromImage

func GetFSFromImage(img v1.Image) error

func GetUserFromUsername added in v0.2.0

func GetUserFromUsername(userStr string, groupStr string) (string, string, error)

func HasFilepathPrefix

func HasFilepathPrefix(path, prefix string) bool

HasFilepathPrefix checks if the given file path begins with prefix

func Hasher

func Hasher() func(string) (string, error)

Hasher returns a hash function, used in snapshotting to determine if a file has changed

func IsDestDir

func IsDestDir(path string) bool

func IsFileLocalTarArchive

func IsFileLocalTarArchive(src string) bool

IsFileLocalTarArchive returns true if the file is a local tar archive

func IsSrcRemoteFileURL

func IsSrcRemoteFileURL(rawurl string) bool

func IsSrcsValid

func IsSrcsValid(srcsAndDest instructions.SourcesAndDest, resolvedSources []string, root string) error

func MoveVolumeWhitelistToWhitelist

func MoveVolumeWhitelistToWhitelist() error

MoveVolumeWhitelistToWhitelist copies over all directories that were volume mounted in this step to be whitelisted for all subsequent docker commands.

func MtimeHasher

func MtimeHasher() func(string) (string, error)

MtimeHasher returns a hash function, which only looks at mtime to determine if a file has changed

func ParentDirectories

func ParentDirectories(path string) []string

ParentDirectories returns a list of paths to all parent directories Ex. /some/temp/dir -> [/, /some, /some/temp, /some/temp/dir]

func RelativeFiles

func RelativeFiles(fp string, root string) ([]string, error)

RelativeFiles returns a list of all files at the filepath relative to root

func ResolveEnvironmentReplacement

func ResolveEnvironmentReplacement(value string, envs []string, isFilepath bool) (string, error)

ResolveEnvironmentReplacement resolves replacing env variables in some text from envs It takes in a string representation of the command, the value to be resolved, and a list of envs (config.Env) Ex: fp = $foo/newdir, envs = [foo=/foodir], then this should return /foodir/newdir The dockerfile/shell package handles processing env values It handles escape characters and supports expansion from the config.Env array Shlex handles some of the following use cases (these and more are tested in integration tests) ""a'b'c"" -> "a'b'c" "Rex\ The\ Dog \" -> "Rex The Dog" "a\"b" -> "a"b"

func ResolveEnvironmentReplacementList

func ResolveEnvironmentReplacementList(values, envs []string, isFilepath bool) ([]string, error)

ResolveEnvironmentReplacementList resolves a list of values by calling resolveEnvironmentReplacement

func ResolveSources

func ResolveSources(srcsAndDest instructions.SourcesAndDest, root string) ([]string, error)

ResolveSources resolves the given sources if the sources contains wildcards It returns a list of resolved sources

func RetrieveSourceImage added in v0.3.0

func RetrieveSourceImage(index int, buildArgs []string, stages []instructions.Stage) (v1.Image, error)

RetrieveSourceImage returns the base image of the stage at index

func SetLogLevel

func SetLogLevel(logLevel string) error

SetLogLevel sets the logrus logging level

func URLDestinationFilepath

func URLDestinationFilepath(rawurl, dest, cwd string) string

URLDestinationFilepath gives the destination a file from a remote URL should be saved to

func UnpackCompressedTar

func UnpackCompressedTar(path, dir string) error

UnpackCompressedTar unpacks the compressed tar at path to dir

func UnpackLocalTarArchive

func UnpackLocalTarArchive(path, dest string) error

UnpackLocalTarArchive unpacks the tar archive at path to the directory dest Returns true if the path was actually unpacked

func UpdateConfigEnv

func UpdateConfigEnv(newEnvs []instructions.KeyValuePair, config *v1.Config, replacementEnvs []string) error

func Whiteout

func Whiteout(p string, w *tar.Writer) error

Types

This section is empty.

Jump to

Keyboard shortcuts

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