Skip to content

Commit

Permalink
Get tmp storage from os env in kaniko local context storing
Browse files Browse the repository at this point in the history
  • Loading branch information
Venkatesh committed Nov 16, 2018
1 parent 36e9cbd commit 241d1ed
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions pkg/skaffold/build/kaniko/sources/localdir.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ type LocalDir struct {

// Setup for LocalDir creates a tarball of the buildcontext and stores it in /tmp
func (g *LocalDir) Setup(ctx context.Context, out io.Writer, artifact *latest.Artifact, initialTag string) (string, error) {
g.tarPath = filepath.Join("/tmp", fmt.Sprintf("context-%s.tar.gz", initialTag))
g.tarPath = filepath.Join("os.TempDir()", fmt.Sprintf("context-%s.tar.gz", initialTag))
color.Default.Fprintln(out, "Storing build context at", g.tarPath)

f, err := os.Create(g.tarPath)
Expand Down Expand Up @@ -105,12 +105,13 @@ func (g *LocalDir) ModifyPod(ctx context.Context, p *v1.Pod) error {
return errors.Wrap(err, "waiting for pod to initialize")
}
// Copy over the buildcontext tarball into the init container
copy := exec.CommandContext(ctx, "kubectl", "cp", g.tarPath, fmt.Sprintf("%s:/%s", p.Name, g.tarPath), "-c", initContainer, "-n", p.Namespace)
tarCopyPath := fmt.Sprintf("/tmp/%s", filepath.Base(g.tarPath))
copy := exec.CommandContext(ctx, "kubectl", "cp", g.tarPath, fmt.Sprintf("%s:%s", p.Name, tarCopyPath), "-c", initContainer, "-n", p.Namespace)
if err := util.RunCmd(copy); err != nil {
return errors.Wrap(err, "copying buildcontext into init container")
}
// Next, extract the buildcontext to the empty dir
extract := exec.CommandContext(ctx, "kubectl", "exec", p.Name, "-c", initContainer, "-n", p.Namespace, "--", "tar", "-xzf", g.tarPath, "-C", constants.DefaultKanikoEmptyDirMountPath)
extract := exec.CommandContext(ctx, "kubectl", "exec", p.Name, "-c", initContainer, "-n", p.Namespace, "--", "tar", "-xzf", tarCopyPath, "-C", constants.DefaultKanikoEmptyDirMountPath)
if err := util.RunCmd(extract); err != nil {
return errors.Wrap(err, "extracting buildcontext to empty dir")
}
Expand Down

0 comments on commit 241d1ed

Please sign in to comment.