Your browser sucks, JavaScript disabled! Gunnar's console needs JavaScript and WebAssembly. Git over SSH on port 2222 does not.

nordisk/holger

server/repository/znippy-rust/Cargo.toml

[package]
name = "holger-rust-znippy-repository"
# 0.6.10: local source DRIFTED from the published 0.6.9 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 = "Rust / Cargo repository backend for holger — serves a Cargo sparse index synthesized on the fly from the .crate files inside a read-only znippy archive, with real SHA-256 checksums. Read-only sibling of holger-rust-file-repository."
license = "AGPL-3.0-only"
repository = "https://git.gunnar.rs/nordisk/holger"
categories = ["command-line-utilities","development-tools"]
keywords = ["rust", "cargo", "cratesio", "sparse-index", "airgap"]
# Development notes, agent instructions and machine-local tooling stay in the
# repository; they are not part of the published crate.
exclude = [
    ".nornir/",
]

# Importable crate name is `repository_znippy_rust` (the alias dependents use via
# `package = "holger-rust-znippy-repository"`). Without it the crate's own
# `tests/integration_znippy_serve.rs` — which imports `repository_znippy_rust` —
# fails to compile under `cargo test --workspace` (previously masked by the protoc
# build-script failing first).
[lib]
name = "repository_znippy_rust"


[dependencies]

anyhow = "1.0.104"

# Floor 0.6.7 -> 0.6.10: this crate calls `ArchiveFormatError`, `FormatGate`,
# `MAX_SUPPORTED_ZNIPPY_FORMAT` and `ensure_supported_format`, none of which the
# admitted published holger-traits carries. The `path =` hid that locally.
traits = { package = "holger-traits", version = "3.0.0", path = "../../../traits" }

znippy-common = { version = "0.10.4", features = ["host-decompressors"] }

log = "0.4"
serde_json = "1"

[dev-dependencies]
traits = { package = "holger-traits", path = "../../../traits", features = ["test-support"] }
repository-znippy-maven = { package = "holger-znippy-maven-repository", path = "../znippy-maven" }

repository-znippy-python = { package = "holger-znippy-python-repository", path = "../znippy-python" }

znippy-compress = { version = "0.10.0" }
reqwest = { version = "0.13", default-features = false, features = ["rustls-no-provider", "blocking", "json"] }
# reqwest 0.13 has no bundled roots and its `rustls` feature means aws-lc-rs (C) + the
# OS trust store; ring + the Mozilla bundle keep 0.12 `rustls-tls` behaviour (see the
# `tls_roots` helpers). 2026-10-02.
rustls = { version = "0.23", default-features = false, features = ["ring", "std"] }
webpki-root-certs = { version = "1" }
serde_json = "1"
tempfile = "3"
env_logger = "0.11"
flate2 = "1"
tar = "0.4"
# default-features=false drops zip's `lzma`/`xz` → no `xz2`/`lzma-sys`; share the
# single `links = "lzma"` (liblzma-sys) used by DataFusion + holger-znippy-deb.
zip = { version = "9", default-features = false, features = ["deflate", "time"] }
sha2 = "0.11"

[[test]]
name = "integration_znippy_serve"
path = "tests/integration_znippy_serve.rs"

# 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]
testmatrix = ["dep:nornir-testmatrix", "nornir-testmatrix/testmatrix"]