rustberg 0.0.5

A production-grade, cross-platform, single-binary Apache Iceberg REST Catalog
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.89"
name = "rustberg"
version = "0.0.5"
authors = ["hupe1980"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A production-grade, cross-platform, single-binary Apache Iceberg REST Catalog"
homepage = "https://hupe1980.github.io/rustberg/"
readme = "README.md"
keywords = [
    "rustberg",
    "iceberg",
    "catalog",
    "lakehouse",
    "data",
]
categories = [
    "database",
    "web-programming",
]
license = "Apache-2.0"
repository = "https://github.com/hupe1980/rustberg"

[features]
aws-credentials = [
    "aws-config",
    "aws-sdk-sts",
]
aws-kms = [
    "aws-config",
    "aws-sdk-kms",
]
azure-kms = [
    "azure_security_keyvault",
    "azure_identity",
]
cli = ["clap"]
default = [
    "cli",
    "tls",
    "slatedb-storage",
]
gcp-credentials = ["google-cloud-auth"]
gcp-kms = ["gcloud-kms"]
metrics = [
    "prometheus",
    "opentelemetry",
    "tracing-opentelemetry",
]
rate-limiting = ["tower_governor"]
slatedb-storage = [
    "slatedb",
    "object_store",
]
sled-storage = ["sled"]
tls = [
    "axum-server/tls-rustls",
    "rcgen",
    "rustls",
]
vault-kms = ["vaultrs"]

[lib]
name = "rustberg"
path = "src/lib.rs"

[[bin]]
name = "rustberg"
path = "src/main.rs"
required-features = ["cli"]

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

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

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

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

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

[dependencies.aes-gcm]
version = "0.10"

[dependencies.argon2]
version = "0.5"

[dependencies.async-trait]
version = "0.1"

[dependencies.aws-config]
version = "1.5"
optional = true

[dependencies.aws-sdk-kms]
version = "1.54"
optional = true

[dependencies.aws-sdk-sts]
version = "1.51"
optional = true

[dependencies.axum]
version = "0.8"
features = [
    "json",
    "tokio",
]

[dependencies.axum-extra]
version = "0.10"
features = ["typed-header"]

[dependencies.axum-server]
version = "0.8"
default-features = false

[dependencies.azure_identity]
version = "0.21"
optional = true

[dependencies.azure_security_keyvault]
version = "0.21"
optional = true

[dependencies.base64]
version = "0.22"

[dependencies.cedar-policy]
version = "4.8"

[dependencies.chrono]
version = "0.4"
features = ["serde"]

[dependencies.clap]
version = "4"
features = [
    "derive",
    "env",
]
optional = true

[dependencies.constant_time_eq]
version = "0.3"

[dependencies.dashmap]
version = "6"

[dependencies.flate2]
version = "1.0"

[dependencies.gcloud-kms]
version = "1.4"
optional = true

[dependencies.google-cloud-auth]
version = "1.4"
optional = true

[dependencies.hex]
version = "0.4"

[dependencies.iceberg]
version = "0.8"

[dependencies.jsonwebtoken]
version = "9.3"

[dependencies.moka]
version = "0.12"
features = [
    "future",
    "sync",
]

[dependencies.object_store]
version = "0.12"
features = [
    "aws",
    "gcp",
    "azure",
]
optional = true

[dependencies.openssl]
version = "0.10"
features = ["vendored"]

[dependencies.opentelemetry]
version = "0.27"
optional = true

[dependencies.parking_lot]
version = "0.12"

[dependencies.prometheus]
version = "0.14"
optional = true

[dependencies.rand]
version = "0.8"

[dependencies.rcgen]
version = "0.13"
optional = true

[dependencies.regex]
version = "1.11"

[dependencies.reqwest]
version = "0.12"
features = [
    "rustls-tls",
    "json",
]
default-features = false

[dependencies.ring]
version = "0.17"

[dependencies.rustls]
version = "0.23"
features = [
    "ring",
    "std",
    "tls12",
]
optional = true
default-features = false

[dependencies.serde]
version = "1"
features = ["derive"]

[dependencies.serde_json]
version = "1"

[dependencies.sha2]
version = "0.10"

[dependencies.slatedb]
version = "0.10"
optional = true

[dependencies.sled]
version = "0.34"
optional = true

[dependencies.tar]
version = "0.4"

[dependencies.tempfile]
version = "3"

[dependencies.thiserror]
version = "2"

[dependencies.tokio]
version = "1"
features = ["full"]

[dependencies.toml]
version = "0.8"

[dependencies.tower-http]
version = "0.6"
features = [
    "trace",
    "limit",
    "set-header",
    "timeout",
    "cors",
    "request-id",
    "compression-gzip",
    "compression-deflate",
]

[dependencies.tower_governor]
version = "0.4"
optional = true

[dependencies.tracing]
version = "0.1"

[dependencies.tracing-opentelemetry]
version = "0.27"
optional = true

[dependencies.tracing-subscriber]
version = "0.3"
features = [
    "env-filter",
    "json",
]

[dependencies.url]
version = "2"

[dependencies.uuid]
version = "1"
features = [
    "v4",
    "serde",
]

[dependencies.validator]
version = "0.20"
features = ["derive"]

[dependencies.vaultrs]
version = "0.7"
optional = true

[dependencies.zeroize]
version = "1.8"
features = ["derive"]

[dev-dependencies.axum-test]
version = "17"

[dev-dependencies.futures]
version = "0.3"

[dev-dependencies.http]
version = "1.1"

[dev-dependencies.http-body-util]
version = "0.1"

[dev-dependencies.reqwest]
version = "0.12"
features = ["json"]

[dev-dependencies.serial_test]
version = "3.2"

[dev-dependencies.tempfile]
version = "3"

[dev-dependencies.testcontainers]
version = "0.23"

[dev-dependencies.testcontainers-modules]
version = "0.11"
features = [
    "hashicorp_vault",
    "localstack",
]

[dev-dependencies.tokio]
version = "1"
features = [
    "test-util",
    "macros",
]

[dev-dependencies.tower]
version = "0.5"
features = ["util"]

[profile.release]
lto = true
codegen-units = 1
panic = "abort"
strip = true

[profile.release-debug]
debug = 2
inherits = "release"
strip = false