server/repository/znippy-deb/Cargo.toml
[package]
name = "holger-znippy-deb-repository"
# 0.1.4: local source DRIFTED from the published 0.1.3 under the same version number.
# crates.io bytes are immutable, so the edit can only reach consumers as a new
# version. Bumped 2026-08-23 by the release cascade: Gate B refused nornir 0.5.5
# because the published copies of this repo are stale.
version = "3.1.1"
edition = "2021"
authors = ["Ignalina ApS", "Vetra Automation AB"]
description = "Debian / APT repository backend for holger — synthesizes the native dists/{dist}/Release and Packages index (real SHA-256, control fields parsed out of the .deb via ar + control.tar) from packages inside a read-only znippy archive."
license = "AGPL-3.0-only"
repository = "https://git.gunnar.rs/nordisk/holger"
categories = ["command-line-utilities","development-tools"]
keywords = ["deb", "debian", "apt", "packages", "airgap"]
# Development notes, agent instructions and machine-local tooling stay in the
# repository; they are not part of the published crate.
exclude = [
".nornir/",
]
[dependencies]
anyhow = "1.0.104"
traits = { package = "holger-traits", version = "3.0.0", path = "../../../traits" }
# The package parse (lane HOL-PERF-2): the same function the scan worker runs at intake.
holger-index-rows = { version = "4.0.0", path = "../../index-rows" }
# `Packages.gz`, written once beside `Packages` (lane HOL-PERF-2).
flate2 = "1"
znippy-common = { version = "0.10.4", features = ["host-decompressors"] }
# Real SHA256 in the synthesized APT index (Packages `SHA256:` + the Release
# section apt verifies downloaded indexes against). apt won't accept blake3.
# REUSE-law: the ONE shared content-hash primitive (edda `nornir_hash::sha256_hex`),
# `sha2`-only leaf (no egress) → safe for the zero-egress airgap tiers.
nornir-hash = { version = "0.1.1" }
log = "0.4"
# nornir-testmatrix functional-status emitter — gated, optional, compiled OUT for
# release. `--features testmatrix` turns the self-test emit calls into real rows
# that `nornir test` reads; OFF by default the dep is never pulled.
[dependencies.nornir-testmatrix]
version = "0.2.13"
optional = true
[features]
# The module's test builders (a .deb / .rpm made in memory), for holger's fuzz seeds.
fixtures = ["holger-index-rows/fixtures"]
testmatrix = ["dep:nornir-testmatrix", "nornir-testmatrix/testmatrix"]
[dev-dependencies]
flate2 = "1"
holger-index-rows = { path = "../../index-rows", features = ["fixtures"] }
traits = { package = "holger-traits", path = "../../../traits", features = ["test-support"] }