Description
Improve existing partial multi-arch support with platform selection and better manifest handling, following Docker/skopeo patterns.
Current State
The tool can be run multiple times for different architectures, but lacks proper platform selection and multi-arch manifest handling.
Tasks
Skills Required
- Rust programming
- OCI spec knowledge, especially multi-arch manifests
- CLI design and argument parsing
- Container ecosystem understanding (Docker/skopeo patterns)
Technical Details
Platform Selection
Follow Docker's --platform flag pattern:
oci2git --platform linux/amd64 nginx:latest
oci2git --platform linux/arm64 nginx:latest
Manifest Handling
- Parse multi-arch manifest lists
- Handle platform-specific image selection
- Provide clear error messages for unavailable platforms
Reference Implementation
Study how Docker and skopeo handle platform selection:
- Docker:
--platform flag
- Skopeo:
--override-arch, --override-os, --override-variant
Files to Modify
src/sources/ - Container engine integration
- CLI argument parsing - Add platform flag
- Manifest handling code
- Integration tests
Expected Impact
Users can easily work with multi-arch images without manual platform detection or multiple tool runs.
This is an advanced task perfect for Hacktoberfest! 🎃
Hacktoberfest 2025 🍂
Description
Improve existing partial multi-arch support with platform selection and better manifest handling, following Docker/skopeo patterns.
Current State
The tool can be run multiple times for different architectures, but lacks proper platform selection and multi-arch manifest handling.
Tasks
--platformflag to select specific platform (e.g.,--platform linux/amd64,--platform linux/arm64)Skills Required
Technical Details
Platform Selection
Follow Docker's
--platformflag pattern:Manifest Handling
Reference Implementation
Study how Docker and skopeo handle platform selection:
--platformflag--override-arch,--override-os,--override-variantFiles to Modify
src/sources/- Container engine integrationExpected Impact
Users can easily work with multi-arch images without manual platform detection or multiple tool runs.
This is an advanced task perfect for Hacktoberfest! 🎃
Hacktoberfest 2025 🍂