Commit graph

3 commits

Author SHA1 Message Date
Marco Allegretti
b73fd9eaec schema: include manifest path in read errors
Manifest read failures now include the attempted path, making missing
./karapace.toml errors actionable.
2026-02-23 19:07:11 +01:00
Marco Allegretti
6e66c58e5e core: add build options
Introduce BuildOptions to parameterize build and rebuild.

Add build_with_options/rebuild_with_options to support locked, offline, and
require-pinned-image modes. Locked mode verifies an existing lock file and
fails on drift. Offline mode fails fast when system packages are requested.
Also re-export BuildOptions from karapace-core.
2026-02-23 18:29:18 +01:00
Marco Allegretti
cdd13755a0 feat: karapace-schema — manifest v1, normalization, identity hashing, lock file v2
- TOML manifest parsing with strict schema validation (deny_unknown_fields)
- Deterministic normalization: sorted packages, deduplication, canonical JSON
- Two-phase identity: preliminary (from manifest) and canonical (from lock)
- Lock file v2: resolved packages with pinned versions, base image content digest
- Dual lock verification: integrity (hash) and manifest intent (drift detection)
- Built-in presets: dev, dev-rust, dev-python, gui-app, gaming, minimal
- Blake3 256-bit hashing throughout
2026-02-22 18:36:15 +01:00