[package]
edition = "2024"
rust-version = "1.88"
name = "basil-bin"
version = "0.7.1"
authors = ["info@openbasil.org"]
build = false
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Basil is a host-local secrets broker: your app never touches the key. Unified broker daemon, operator tool, and client CLI."
homepage = "https://github.com/openbasil/basil"
documentation = "https://docs.openbasil.org"
readme = "README.md"
keywords = [
"basil",
"vault",
"secrets",
"cryptography",
"cli",
]
categories = [
"cryptography",
"command-line-utilities",
]
license = "Apache-2.0"
repository = "https://github.com/openbasil/basil"
[package.metadata.dist]
formula = "basil"
[features]
aws-kms = ["basil-core/aws-kms"]
db-keystore = [
"keystore-backend",
"basil-core/db-keystore",
]
default = [
"db-keystore",
"onepassword",
"unlock-age-yubikey",
"unlock-bip39",
]
gcp-kms = ["basil-core/gcp-kms"]
http = ["basil-core/http"]
http-tls = [
"http",
"basil-core/http-tls",
]
keystore-backend = ["basil-core/keystore-backend"]
onepassword = [
"keystore-backend",
"basil-core/onepassword",
]
otlp = ["basil-core/otlp"]
secure-alloc = ["mimalloc/secure"]
tpm2 = ["basil-core/tpm2"]
unlock-age-yubikey = ["basil-core/unlock-age-yubikey"]
unlock-bip39 = ["basil-core/unlock-bip39"]
unlock-tpm = ["basil-core/unlock-tpm"]
[lib]
name = "basil_bin"
path = "src/lib.rs"
[[bin]]
name = "basil"
path = "src/main.rs"
[dependencies.anyhow]
version = "1"
[dependencies.base64]
version = "0.22"
features = [
"alloc",
"std",
]
default-features = false
[dependencies.basil]
version = "0.7.1"
[dependencies.basil-core]
version = "0.7.1"
default-features = false
[dependencies.basil-nats]
version = "0.7.1"
[dependencies.clap]
version = "4"
features = [
"derive",
"env",
]
[dependencies.clap_complete]
version = "4"
[dependencies.hex]
version = "0.4"
[dependencies.mimalloc]
version = "0.1.52"
default-features = false
[dependencies.serde]
version = "1"
features = [
"alloc",
"derive",
"std",
]
default-features = false
[dependencies.serde_json]
version = "1"
features = [
"alloc",
"arbitrary_precision",
"std",
]
default-features = false
[dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"net",
"macros",
"io-util",
"time",
"signal",
"sync",
]
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
[dependencies.zeroize]
version = "1"
features = [
"derive",
"alloc",
]
default-features = false
[lints.clippy.expect_used]
level = "deny"
priority = 0
[lints.clippy.get_unwrap]
level = "deny"
priority = 0
[lints.clippy.indexing_slicing]
level = "deny"
priority = 0
[lints.clippy.missing_errors_doc]
level = "allow"
priority = 0
[lints.clippy.nursery]
level = "deny"
priority = -1
[lints.clippy.panic]
level = "deny"
priority = 0
[lints.clippy.panic_in_result_fn]
level = "deny"
priority = 0
[lints.clippy.pedantic]
level = "deny"
priority = -1
[lints.clippy.todo]
level = "deny"
priority = 0
[lints.clippy.unimplemented]
level = "deny"
priority = 0
[lints.clippy.unreachable]
level = "deny"
priority = 0
[lints.clippy.unwrap_used]
level = "deny"
priority = 0
[lints.rust.unsafe_code]
level = "forbid"
priority = 1