- Detect supported platforms by inspecting the base image manifest
- Build for all platforms supported by the base image by default
- Filter out invalid/unknown platforms from manifest
- Normalize platform variants (e.g., linux/arm64/v8 -> linux/arm64)
- Only include platforms that krust supports
- Deduplicate normalized platforms
- Allow explicit --platform to override automatic detection
- Add tests for platform detection functionality
- Add test case for Alpine base image with many platforms
- Update documentation to explain the new behavior
This makes multi-arch builds more intuitive - if your base image supports
multiple platforms, krust will automatically build for all supported ones.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Always push OCI image indexes (manifest lists) even for single platform builds
- Fix manifest size calculation to use actual pushed manifest size
- Update platform-specific image tagging to use consistent format
- Fix ARM64 linker configuration to use musl toolchain
- Update README to document that manifest lists are always created
- Fix test to use native platform for Docker compatibility
This ensures krust provides a consistent interface regardless of the number of
platforms being built, making it easier for downstream tools to consume images.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add missing newlines at end of files
- Remove trailing whitespace
- Use next_back() instead of last() for DoubleEndedIterator
- Use &Path instead of &PathBuf for function parameter
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
krust builds container images for Rust applications without Docker:
- Builds static binaries using musl libc
- Creates minimal OCI container images
- Pushes to any OCI-compliant registry
- Outputs digest to stdout for composability
Inspired by ko.build for Go applications.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>