1
0
Fork 0
mirror of https://github.com/imjasonh/krust synced 2026-07-08 06:45:32 +00:00

Fix manifest list implementation

- 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>
This commit is contained in:
Jason Hall 2025-06-07 23:36:30 -04:00
parent d4b7b216df
commit fe8b27a144
Failed to extract signature
5 changed files with 136 additions and 39 deletions

View file

@ -127,12 +127,13 @@ krust build -- --features=prod
### Multi-Architecture Images
When building for multiple platforms, krust:
krust always pushes OCI image indexes (manifest lists) for consistency:
1. Builds each platform separately with its own binary
2. Pushes platform-specific images with appropriate tags
3. Creates references that Docker/Kubernetes can use to automatically select the right architecture
2. Pushes platform-specific images with unique tags
3. Creates and pushes a manifest list that references all platforms
4. Returns the manifest list digest for use with Docker/Kubernetes
Note: Full OCI image index (manifest list) support is planned for a future release.
This means even single-platform builds result in a manifest list, ensuring a uniform interface regardless of the number of platforms built.
## Build Process