From 588c621617f1450041e02ac7b31f4d004de2159a Mon Sep 17 00:00:00 2001 From: dlaburthe <77099312+dlaburthe@users.noreply.github.com> Date: Fri, 21 May 2021 15:36:44 +0200 Subject: [PATCH] fix: rewriting tar header fields (#198) closes #192 Co-authored-by: DL --- .../provider/resource_docker_registry_image_funcs.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/internal/provider/resource_docker_registry_image_funcs.go b/internal/provider/resource_docker_registry_image_funcs.go index 9e16ecf0a..c5c8665f3 100644 --- a/internal/provider/resource_docker_registry_image_funcs.go +++ b/internal/provider/resource_docker_registry_image_funcs.go @@ -19,6 +19,7 @@ import ( "path/filepath" "strconv" "strings" + "time" "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/container" @@ -297,6 +298,16 @@ func buildDockerImageContextTar(buildContext string) (string, error) { // update the name to correctly reflect the desired destination when untaring header.Name = strings.TrimPrefix(strings.Replace(file, buildContext, "", -1), string(filepath.Separator)) + // set archive metadata non deterministic + header.Mode = 0 + header.Uid = 0 + header.Gid = 0 + header.Uname = "" + header.Gname = "" + header.ModTime = time.Time{} + header.AccessTime = time.Time{} + header.ChangeTime = time.Time{} + // write the header if err := tw.WriteHeader(header); err != nil { return err