carvel-dev / carvel-dev/imgpkg

[windows] imgpkg does not have a deterministic push across OS

Open
#268 0 comments 0 reactions 0 assignees View on GitHub
bug carvel accepted priority/important-soon
Dominant language
Go
Stars
284
Forks
70
PR merge metrics
No merged PRs in 30d

Description

**What steps did you take:**

On Windows
```
> git clone https://github.com/vmware-tanzu/carvel-imgpkg
> cd carvel-imgpkg
> imgpkg push -i image-windows -f test/e2e/assets/simple-app --yes
Succeded pushing sha sha256:73e65af5e889da98ece0bd471b2cd83baac574e19943108212ba0417ff8f03c2
```

On Linux
```
> git clone https://github.com/vmware-tanzu/carvel-imgpkg
> cd carvel-imgpkg
> imgpkg push -i image-linux -f test/e2e/assets/simple-app --yes
Succeded pushing sha sha256:ceef30cbdce418efde0284f446df9cec9e535adcd6e1010dad30ddae1dc9367b

> imgpkg pull -i image-linux -o /tmp/linux
> imgpkg pull -i image-windows -o /tmp/windows
```

```
ls -l /tmp/windows
total 48
-rw------- 1 dennisleon wheel 11558 Dec 31 1969 LICENSE
-rw------- 1 dennisleon wheel 98 Dec 31 1969 README.md
drwx------ 2 dennisleon wheel 64 Dec 31 1969 config
-rw------- 1 dennisleon wheel 25 Dec 31 1969 config\config.yml
drwx------ 2 dennisleon wheel 64 Dec 31 1969 config\inner-dir
-rw------- 1 dennisleon wheel 6 Dec 31 1969 config\inner-dir\README.txt

ls -l /tmp/linux
total 32
-rw------- 1 dennisleon wheel 11357 Dec 31 1969 LICENSE
-rw------- 1 dennisleon wheel 95 Dec 31 1969 README.md
drwx------ 4 dennisleon wheel 128 Oct 6 11:25 config
```

**What happened:**
Image pushed resulted in a different sha (and different contents) across windows and linux

**What did you expect:**
The same image pushed. Or a way to differentiate between an image built for windows vs linux. Using an Image Index perhaps?

**Environment:**

- imgpkg version (use `imgpkg --version`): 0.19.0
- Docker registry used (e.g. `Docker HUB`):
- OS (e.g. from `/etc/os-release`): Windows 10

---
Vote on this request

This is an invitation to the community to vote on issues, to help us prioritize our backlog. Use the "smiley face" up to the right of this comment to vote.

👍 "I would like to see this addressed as soon as possible"
👎 "There are other more important things to focus on right now"

We are also happy to receive and review Pull Requests if you want to help working on this issue.

Contributor guide

Open the contributing guide

Research direction

Reproduce the Windows and Linux commands using test/e2e/assets/simple-app, then trace the imgpkg push and pull entry points that handle archive paths and image metadata. Done means the same content produces the same digest across both operating systems, or the supported platform-specific image/index behavior is clearly established and tested.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
cli, devtools
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.