Skip to content

Conversation

cyphar
Copy link
Member

@cyphar cyphar commented May 7, 2025

According to the stacker folks, having a parameter that mismatches with
Docker will result in layers getting recompressed. Based on my testing,
the hashes of random layer data doesn't change but I guess it's possible
it could change in certain situations and we should just match their
settings.

Ideally this would be configurable but since stacker is the only thing
that cares about this for the moment, we may as well just follow their
default setting (which -- it turns out -- is the new pgzip default
setting too).

Closes #509
Suggested-by: Ramkumar Chinchani rchincha@cisco.com
Signed-off-by: Aleksa Sarai cyphar@cyphar.com

cyphar added 2 commits May 7, 2025 16:01
In theory larger layer data should make it easier to notice
unintentional changes to our compressed layer output.

Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
According to the stacker folks, having a parameter that mismatches with
Docker will result in layers getting recompressed. Based on my testing,
the hashes of random layer data doesn't change but I guess it's possible
it could change in certain situations and we should just match their
settings.

Ideally this would be configurable but since stacker is the only thing
that cares about this for the moment, we may as well just follow their
default setting (which -- it turns out -- is the new pgzip default
setting too).

Suggested-by: Ramkumar Chinchani <rchincha@cisco.com>
Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
@cyphar cyphar added this to the 0.5.0 milestone May 7, 2025
@codecov-commenter
Copy link

codecov-commenter commented May 7, 2025

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

Attention: Patch coverage is 0% with 1 line in your changes missing coverage. Please review.

Project coverage is 72.85%. Comparing base (a79788c) to head (18b9ae3).
Report is 50 commits behind head on main.

Files with missing lines Patch % Lines
oci/casext/blobcompress/gzip.go 0.00% 0 Missing and 1 partial ⚠️

❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #581      +/-   ##
==========================================
+ Coverage   72.72%   72.85%   +0.12%     
==========================================
  Files          65       67       +2     
  Lines        5089     5393     +304     
==========================================
+ Hits         3701     3929     +228     
- Misses       1010     1089      +79     
+ Partials      378      375       -3     
Files with missing lines Coverage Δ
oci/casext/blobcompress/gzip.go 57.57% <0.00%> (ø)

... and 8 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@cyphar cyphar merged commit bf2d2a6 into opencontainers:main May 7, 2025
18 checks passed
@cyphar cyphar deleted the compress-match-docker branch May 7, 2025 06:26
cyphar added a commit to cyphar/stacker that referenced this pull request May 31, 2025
This allows us to switch away from our umoci fork now that upstream
supports OverlayfsRootfs and the various features we need. The key
changes that allow us to switch away from our fork are:

 * opencontainers/umoci#572 which implemented a large number of fixes
   to overlayfs handling, such as opaque whiteouts and several features
   not implemented in our fork (xattr escaping, handling of missing
   parent directories, improved rootless support, handling of nested
   whiteouts inside an opaque whiteout).

 * opencontainers/umoci#581 which switched to a Docker-friendly gzip
   block size by default, removing the need to configure it (as
   suggested in opencontainers/umoci#509).

 * opencontainers/umoci#587 which implemented full configurable
   userxattr (user.overlay.*) support.

Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
rchincha pushed a commit to project-stacker/stacker that referenced this pull request May 31, 2025
* feat: update to skopeo v1.13.0

We need to update skopeo to match the pgzip version between skopeo and
umoci.

Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>

* feat: update to github.com/opencontainers/umoci@v0.5.0

This allows us to switch away from our umoci fork now that upstream
supports OverlayfsRootfs and the various features we need. The key
changes that allow us to switch away from our fork are:

 * opencontainers/umoci#572 which implemented a large number of fixes
   to overlayfs handling, such as opaque whiteouts and several features
   not implemented in our fork (xattr escaping, handling of missing
   parent directories, improved rootless support, handling of nested
   whiteouts inside an opaque whiteout).

 * opencontainers/umoci#581 which switched to a Docker-friendly gzip
   block size by default, removing the need to configure it (as
   suggested in opencontainers/umoci#509).

 * opencontainers/umoci#587 which implemented full configurable
   userxattr (user.overlay.*) support.

Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>

---------

Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants