locket 0.15.0

Helper tool for secret injection as a dependency
Documentation
[package]
name = "locket"
version = "0.15.0"
edition = "2024"
license = "AGPL-3.0-or-later"
authors = ["Brian Bradley <brian.bradley.p@gmail.com>"]
description = "Helper tool for secret injection as a dependency"
repository = "https://github.com/bpbradley/locket"
homepage = "https://github.com/bpbradley/locket"
documentation = "https://docs.rs/locket"
readme = "README.md"
keywords = ["secrets", "docker"]
categories = ["command-line-utilities", "config"]

[workspace]
members = [".", "xtask"]

[features]
default = ["op", "connect", "bws", "compose", "exec"]
op = ["tokio/process", "dep:futures"]
connect = ["dep:reqwest", "dep:url", "dep:percent-encoding", "dep:futures"]
bws = ["dep:bitwarden", "dep:uuid", "dep:futures", "dep:rustls-webpki"]
compose = ["dep:dotenvy"]
exec = ["dep:dotenvy", "dep:nix"]

[dependencies]
anyhow = "1"
clap = { version = "4", features = ["derive", "env"] }
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt", "json"] }
notify = "8"
tempfile = "3"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
thiserror = "2"
walkdir = "2"
secrecy = {version = "0.10.3", features = ["serde"]}
sysexits = "0.10"
indexmap = "2"
async-trait = "0.1"
paste = "1"
sanitize-filename = "0.6"
humantime = "2"
tokio = { version = "1", features = ["macros", "rt-multi-thread", "sync", "time", "signal", "fs"] }
futures = { version = "0.3", optional = true}
reqwest = { version = "0.12", features = ["json", "rustls-tls-webpki-roots"], default-features = false, optional = true }
url = { version = "2", optional = true }
percent-encoding = { version = "2.3", optional = true }
bitwarden = { version = "1", features=["secrets"], optional = true }
uuid = { version = "1", optional = true }
dotenvy = {version = "0.15", optional = true}
nix = { version = "0.27", features = ["signal"], optional = true}

# bitwarden sdk needs to update their crate. Cannot build without this.
# https://github.com/bitwarden/sdk-sm/issues/1244
rustls-webpki = { version = "0.102", features = ["std"], optional = true }

[dev-dependencies]
assert_fs = "1"

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

[profile.release]
codegen-units = 1
lto = true
opt-level = "z"
strip = true

# The profile that 'dist' will build with
[profile.dist]
inherits = "release"
lto = "thin"