Backport erofs snapshotter into containerd2
Merge Checklist
All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)
- [x] The toolchain has been rebuilt successfully (or no changes were made to it)
- [x] The toolchain/worker package manifests are up-to-date
- [x] Any updated packages successfully build (or no packages were changed)
- [x] Packages depending on static components modified in this PR (Golang,
*-staticsubpackages, etc.) have had theirReleasetag incremented. - [x] Package tests (%check section) have been verified with RUN_CHECK=y for existing SPEC files, or added to new SPEC files
- [x] All package sources are available
- [x] cgmanifest files are up-to-date and sorted (
./cgmanifest.json,./toolkit/scripts/toolchain/cgmanifest.json,.github/workflows/cgmanifest.json) - [x] LICENSE-MAP files are up-to-date (
./LICENSES-AND-NOTICES/SPECS/data/licenses.json,./LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md,./LICENSES-AND-NOTICES/SPECS/LICENSE-EXCEPTIONS.PHOTON) - [x] All source files have up-to-date hashes in the
*.signatures.jsonfiles - [x]
sudo make go-tidy-allandsudo make go-test-coveragepass - [x] Documentation has been updated to match any changes to the build system
- [ ] Ready to merge
Summary
What does the PR accomplish, why was it needed?
- This PR backports the erofs snapshotter into containerd 2.0.0
- It adds 2 patches:
- One to add the existing erofs snapshotter implementation that is upstreamed
- One to add additional changes that adds the tar index mode, dmverity and local signature support
Change Log
- containerd2
Does this affect the toolchain?
NO
Test Methodology
- Buddy build - pass
- [AMD64-3-OneBranch]-Dev-BuildImages - pass
- [ARM64-3-OneBranch]-Dev-BuildImages - pass
AKS Testing:
- aks-image-build - pass
- aks-pre-release-tests - pass
- aks-core-conformance-tests - pass
- aks-e2e-tests - pass
- The 2 tests that failed are because they have been migrated to the e2ev3 AKS DEV INFRA framework
- aks-performance-tests - pass
- aks-kata-conformance-tests - pass
- aks-kata-performance-tests - pass
✅ PR Check Passed
No critical issues detected in spec file changes.
🤖 AI Analysis Summary:
Brief Analysis:
This PR introduces an extensive set of changes to add and improve the EROFS snapshotter/differ in containerd2, including integration of multiple CVE fixes and new features such as tar index mode, dmverity, fsverity support, and native EROFS image handling.
Critical Issues Found:
• No critical security errors were detected – all referenced CVE patches appear to be present and detailed in the changelog.
Recommended Actions:
• Verify that the patches (especially the CVE ones) are correctly applied by relying on %autosetup/%autopatch directives.
• Ensure changelog entries clearly match the corresponding patch files and CVE IDs.
• Double-check that sequential patch numbering is maintained and that the build and require dependencies for security aspects (e.g. systemd, golang, fsverity) remain up‐to‐date.
📋 For detailed analysis and recommendations, check the Azure DevOps pipeline logs.