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

113 commits

Author SHA1 Message Date
Jason Hall
f253f841fd
Merge pull request #51 from imjasonh/repro
reproducible
2025-10-15 16:20:03 -04:00
Jason Hall
5dd37b5735 whoops
Signed-off-by: Jason Hall <jason@chainguard.dev>
2025-10-15 16:11:48 -04:00
Jason Hall
d56bae42de
Merge branch 'main' into repro 2025-10-15 16:09:27 -04:00
Jason Hall
72dc9ef103 reproducible
Signed-off-by: Jason Hall <jason@chainguard.dev>
2025-10-15 16:05:23 -04:00
Jason Hall
8fcd3de473
Merge pull request #49 from imjasonh/ci
simplify ci
2025-10-15 15:58:17 -04:00
Jason Hall
c0d62918c2
Disable cargo-tarpaulin in CI workflow
Comment out cargo-tarpaulin installation and execution due to CI failure.
2025-10-15 15:52:26 -04:00
Jason Hall
d7c0014f25
Merge pull request #50 from imjasonh/cov
improve test coverage
2025-10-15 15:39:47 -04:00
Jason Hall
f324904eaa improve test coverage
⏺ Test coverage improved from 47.65% to 50.14% (+2.49%).

  Coverage improvements by module:

  - resolve: 54.7% → 89.8% (+35.08%)
  - image: 46.6% → 57.7% (+11.14%)
  - config: 69.2% → 80.0% (+10.77%)
  - builder: 51.1% → 52.8% (+1.70%)

Signed-off-by: Jason Hall <jason@chainguard.dev>
2025-10-15 15:35:28 -04:00
Jason Hall
e6f85be66d simplify ci
Signed-off-by: Jason Hall <jason@chainguard.dev>
2025-10-15 15:24:48 -04:00
Jason Hall
34eb31b29d
Merge pull request #48 from imjasonh/yaml2
migrate to rust-yaml2
2025-10-15 15:24:07 -04:00
Jason Hall
5eab01622e migrate to rust-yaml2
Signed-off-by: Jason Hall <jason@chainguard.dev>
2025-10-15 15:16:35 -04:00
Jason Hall
4112c0af37
Merge pull request #47 from imjasonh/updates
small updates
2025-10-15 15:10:07 -04:00
Jason Hall
d6d8e15afc
Disable fail-fast in CI workflow 2025-10-15 15:07:03 -04:00
Jason Hall
c69d6e13f7
Include run-built-image step for Ubuntu
Add step to run built image for Ubuntu in CI workflow
2025-10-15 15:06:32 -04:00
Jason Hall
ce4fb911a7 small updates
Signed-off-by: Jason Hall <jason@chainguard.dev>
2025-10-15 14:59:48 -04:00
Jason Hall
bcdf3896e3
Merge pull request #46 from imjasonh/resolve
implement resolve and apply
2025-10-15 14:53:09 -04:00
Jason Hall
1ed99cbe07 implement resolve and apply
Signed-off-by: Jason Hall <jason@chainguard.dev>
2025-10-15 14:46:18 -04:00
Jason Hall
3b1b7ab2ec
Merge pull request #45 from imjasonh/auth
successfully pushed to GAR
2025-10-15 12:02:13 -04:00
Jason Hall
e47442d04d successfully pushed to GAR
Signed-off-by: Jason Hall <jason@chainguard.dev>
2025-10-15 11:58:05 -04:00
Jason Hall
d095c26871
Merge pull request #44 from imjasonh/auth
implement auth
2025-10-15 08:57:10 -04:00
Jason Hall
5d730a36da implement auth
Signed-off-by: Jason Hall <jason@chainguard.dev>
2025-10-15 08:51:46 -04:00
Jason Hall
9d788792ca
Merge pull request #43 from imjasonh/testscript
migrate integration tests to testscript
2025-10-14 22:23:27 -04:00
Jason Hall
24685b4331 migrate integration tests to testscript
Signed-off-by: Jason Hall <jason@chainguard.dev>
2025-10-14 22:18:53 -04:00
Jason Hall
cd1d52840c
Merge pull request #39 from imjasonh/dependabot/cargo/toml-0.9
chore(deps): Update toml requirement from 0.8 to 0.9
2025-10-14 21:55:26 -04:00
Jason Hall
eee45d6dbd
Merge pull request #35 from imjasonh/dependabot/github_actions/actions/checkout-5.0.0
chore(deps): Bump actions/checkout from 4.2.2 to 5.0.0
2025-10-14 21:36:56 -04:00
Jason Hall
f6964b6341
Merge pull request #40 from imjasonh/dependabot/github_actions/actions/cache-4.3.0
chore(deps): Bump actions/cache from 4.2.4 to 4.3.0
2025-10-14 21:34:08 -04:00
Jason Hall
2375e9140d
Merge branch 'main' into dependabot/github_actions/actions/checkout-5.0.0 2025-10-14 21:33:28 -04:00
Jason Hall
a4f89bd5ba
Merge pull request #38 from imjasonh/dependabot/github_actions/dtolnay/rust-toolchain-6d653acede28d24f02e3cd41383119e8b1b35921
chore(deps): Bump dtolnay/rust-toolchain from b3b07ba8b418998c39fb20f53e8b695cdcc8de1b to 6d653acede28d24f02e3cd41383119e8b1b35921
2025-10-14 21:32:54 -04:00
dependabot[bot]
b0a67e6543
chore(deps): Bump actions/cache from 4.2.4 to 4.3.0
Bumps [actions/cache](https://github.com/actions/cache) from 4.2.4 to 4.3.0.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](0400d5f644...0057852bfa)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-version: 4.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-29 10:11:08 +00:00
dependabot[bot]
c368ddff1c
chore(deps): Update toml requirement from 0.8 to 0.9
Updates the requirements on [toml](https://github.com/toml-rs/toml) to permit the latest version.
- [Commits](https://github.com/toml-rs/toml/compare/toml-v0.8.0...toml-v0.9.7)

---
updated-dependencies:
- dependency-name: toml
  dependency-version: 0.9.7
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-22 08:53:55 +00:00
dependabot[bot]
3cd8b5712a
chore(deps): Bump dtolnay/rust-toolchain
Bumps [dtolnay/rust-toolchain](https://github.com/dtolnay/rust-toolchain) from b3b07ba8b418998c39fb20f53e8b695cdcc8de1b to 6d653acede28d24f02e3cd41383119e8b1b35921.
- [Release notes](https://github.com/dtolnay/rust-toolchain/releases)
- [Commits](b3b07ba8b4...6d653acede)

---
updated-dependencies:
- dependency-name: dtolnay/rust-toolchain
  dependency-version: 6d653acede28d24f02e3cd41383119e8b1b35921
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-22 08:46:31 +00:00
dependabot[bot]
d6fad728d1
chore(deps): Bump actions/checkout from 4.2.2 to 5.0.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.2.2 to 5.0.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](11bd71901b...08c6903cd8)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 5.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-25 14:48:23 +00:00
Jason Hall
764db94aef
Merge pull request #34 from imjasonh/dependabot/github_actions/actions/cache-4.2.4
chore(deps): Bump actions/cache from 4.2.3 to 4.2.4
2025-08-13 16:04:33 -04:00
dependabot[bot]
0d4b6b41b4
chore(deps): Bump actions/cache from 4.2.3 to 4.2.4
Bumps [actions/cache](https://github.com/actions/cache) from 4.2.3 to 4.2.4.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](5a3ec84eff...0400d5f644)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-version: 4.2.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-11 13:23:03 +00:00
Jason Hall
51e71d56ea
Merge pull request #32 from imjasonh/feat/direct-oci-distribution-implementation
feat: replace vendor/oci-distribution with direct OCI Distribution Spec implementation
2025-06-08 22:28:57 -04:00
Jason Hall
9dc786c3f1
feat: replace vendor/oci-distribution with direct OCI Distribution Spec implementation
Replace the vendor/oci-distribution dependency with a custom implementation
that directly follows the OCI Distribution Specification using hyper for HTTP.

Key improvements:
- Direct HTTP implementation using hyper, hyper-util, and hyper-tls
- Support for Bearer token, Basic auth, and Anonymous authentication
- Cross-registry blob copying for layered images
- Multi-platform manifest list support
- Better error handling and redirect support
- Reduced dependency footprint

Technical changes:
- Remove vendor/oci-distribution dependency
- Add hyper ecosystem dependencies for HTTP client
- Implement OCI types: OciDescriptor, OciImageManifest, OciImageIndex
- Add ImageReference parsing with registry/repository/tag/digest support
- Implement registry authentication flows (Bearer token requests)
- Add blob upload/download with redirect handling
- Support manifest pulling with image index resolution
- Fix manifest size validation for Docker compatibility
- Update integration tests to use new registry auth types
- Handle docker.io redirect to registry-1.docker.io correctly

This enables more flexible authentication handling and reduces external
dependencies while maintaining full OCI compliance.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-08 22:25:10 -04:00
Jason Hall
09f78c7047
Merge pull request #31 from imjasonh/fix/layered-image-building
Fix layered image building with cross-registry support
2025-06-08 21:46:00 -04:00
Jason Hall
e0df56704a
fix: implement cross-registry layer copying for layered images
Resolves GitHub issue #28 by implementing proper layered image building
that preserves base image properties and handles cross-registry scenarios.

Changes:
- Enhanced push_layered_image() to detect cross-registry pushes and copy base layers
- Implemented automatic blob copying from source registry to destination registry
- Always use layered approach instead of falling back to single-layer builds
- Added verification tests to ensure base image environment and files are preserved
- Consolidated unit tests into module files for better organization

This fixes "MANIFEST_BLOB_UNKNOWN" errors when pushing layered images that
reference base image blobs from different registries (e.g., cgr.dev → ttl.sh).

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-08 21:41:13 -04:00
Jason Hall
f8271d0381
Merge pull request #30 from imjasonh/debug/cross-compilation-issues
Fix cross-compilation issues in CI
2025-06-08 21:03:14 -04:00
Jason Hall
05a1a1915f
fix: restrict cross-compilation test to x86_64 runners only
- Only run make run-built-image on ubuntu-latest (x86_64) runners
- ARM64 runners cannot cross-compile for x86_64 due to linker architecture mismatch
- Prevents 'file in wrong format' errors when ARM64 musl-gcc tries to link x86_64 objects

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-08 20:58:43 -04:00
Jason Hall
c678342a5b
fix: use correct musl linker name in CI
- Change from x86_64-linux-musl-gcc to musl-gcc (provided by musl-tools package)
- Keep aarch64-linux-gnu-gcc for ARM64 cross-compilation

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-08 20:53:53 -04:00
Jason Hall
635f680dd5
fix: update CI cross-compilation config and remove local config
- Move cross-compilation setup to CI workflow for better portability
- Remove local .cargo/config.toml to avoid conflicts
- Add cross-compilation config directly in CI test matrix
- Re-enable make run-built-image in main test job

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-08 20:47:20 -04:00
Jason Hall
7d8093a4f8
fix: add dedicated integration job for cross-compilation tests
- Restore integration job with CI-compatible linker configuration
- Use aarch64-linux-gnu-gcc instead of aarch64-linux-musl-gcc for CI
- Enable make run-built-image test in dedicated ubuntu-latest environment

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-08 20:43:03 -04:00
Jason Hall
a70fc36ef1
debug: enable run-built-image to investigate cross-compilation issues
Temporarily enable run-built-image in CI to see what specific
cross-compilation tools are missing in the ubuntu environment.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-08 20:30:10 -04:00
Jason Hall
5f1167c507
Merge pull request #29 from imjasonh/fix/digest-only-images
Fix: Remove automatic image tagging, make it optional
2025-06-08 20:28:32 -04:00
Jason Hall
9d40a2683d
Comment out failing e2e test for now, save progress
Signed-off-by: Jason Hall <jason@chainguard.dev>
2025-06-08 20:25:15 -04:00
Jason Hall
0f2924cfc3
fix: use musl-gcc for x86_64 cross-compilation in CI
The CI environment provides musl-gcc instead of x86_64-linux-musl-gcc.
Update cargo config to use the available linker to resolve the
"linker not found" error during cross-compilation.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-08 20:14:13 -04:00
Jason Hall
170ce430f8
fix: use correct aarch64 linker for musl cross-compilation
Update cargo config to use aarch64-linux-gnu-gcc instead of
aarch64-linux-musl-gcc, which matches what's available in CI.
This resolves the "linker not found" error in CI builds.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-08 20:09:55 -04:00
Jason Hall
9edb878ca5
ci: make builds and tests always verbose for better debugging
- Update Makefile to use --verbose flag by default for build and test targets
- Simplify CI workflow to use standard make targets instead of verbose variants
- Improve debugging visibility in CI by showing detailed cargo output

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-08 20:06:14 -04:00
Jason Hall
5444d76d83
ci: enhance workflow with matrix testing and ARM support
- Add matrix testing across ubuntu-latest and ubuntu-24.04-arm
- Test both stable and beta Rust toolchains
- Add comprehensive caching for cargo registry, index, and build
- Include cross-compilation verification steps
- Use make targets for consistent build and test execution

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-08 20:04:56 -04:00