rest/Cargo.toml
# Shipped Iceberg-REST front for skade-katalog. Promoted out of `bench/` (where
# it lived as `bench/src/rest_shim.rs`) into a first-class library crate so any
# consumer — not just the benchmark — can serve a `RedbCatalog` over the Iceberg
# REST OpenAPI. Own workspace (detached, like `bench/`) so it neither perturbs
# the foundational `skade-katalog` crate's lockfile/dependency tree nor drags
# axum into a `cargo publish` of the core library.
[package]
name = "skade-katalog-rest"
readme = "README.md"
version = "0.1.0"
edition = "2024"
rust-version = "1.85"
description = "Iceberg-REST (OpenAPI) front over skade-katalog's embedded RedbCatalog — one catalog, served on the interop wire."
license = "Apache-2.0"
repository = "https://git.gunnar.rs/nordisk/skade"
[dependencies]
# The catalog we front. Path dep on the sibling core crate.
skade-katalog = { path = ".." , version = "0.2.0" }
# arrow-58 Iceberg — MUST be the SAME vendored fork skade-katalog links, else a
# second crates.io `iceberg` 0.9.1 (arrow-57) would clash at the type level
# (`iceberg::error::ErrorKind` vs the fork's flat `iceberg::ErrorKind`).
iceberg = { package = "iceberg-arrow59", version = "0.11.0", path = "../vendor/iceberg-arrow59" }
axum = "0.8"
tokio = { version = "1", features = ["net", "rt", "sync", "fs"] }
anyhow = "1"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
# Test-matrix emit — pulled in ONLY under `--features testmatrix` (optional dep),
# mirroring the core crate's shim. Off by default → compiled-out no-op.
nornir-testmatrix = { version = "0.2", optional = true, default-features = false }
[dev-dependencies]
tokio = { version = "1", features = ["full"] }
tempfile = "3"
# The stock iceberg-rust REST client — proves a real RestCatalog round-trips
# against our front. Same arrow-58 vendored fork.
iceberg-catalog-rest = { package = "iceberg-catalog-rest-arrow59", path = "../vendor/iceberg-catalog-rest-arrow59" }
[features]
# Turns the compiled-out `functional_status` no-op into a real row-appender, so
# a REST commit records a `nornir test --features testmatrix` row. Same shape as
# skade-katalog's own `testmatrix` feature.
testmatrix = ["dep:nornir-testmatrix", "nornir-testmatrix/testmatrix"]
# Detached workspace: keep the core crate's lock/build pristine (L2 no-regression).
[workspace]