This repository is a Zig 0.15.2 reference implementation for the ODI container work we have been defining.
- ODI container parsing: header + section table
- Section hash verification (sha256)
- Manifest operations
odi manifest dumpodi manifest diff(basic, with content-only mode and limit/fail-fast semantics)odi manifest hashodi manifest attest(section-hash based)
- Signing
odi signcreates a new ODI with asigsectionodi verifycan verify a signature withssh-keygen -Y verify
zig build
./zig-out/bin/odi help./zig-out/bin/odi verify --verify-hashes your.odi./zig-out/bin/odi sign base.odi --out base.signed.odi --key ~/.ssh/id_ed25519 --identity you@example.com./zig-out/bin/odi verify --verify-hashes --require-signature --allowed-signers allowed_signers --identity you@example.com base.signed.odiThe reference implementation writes META as canonical JSON so META hashes and signatures are stable. See docs/META.md.
See docs/SIGNING.md.
- docs/SPECIFICATION.md
- docs/ODI-0.1.md
- docs/ARCHITECTURE.md
- docs/HOW_TO_IMPLEMENT_ODI.md
- tests/vectors
Project direction, milestones, and non-goals are documented in the roadmap.
Run local validation against test vectors:
make verify