[package]
authors = ["Provisioning Team"]
description = "Vault Service for Provisioning Platform with secrets and key management (Age dev, Cosmian KMS prod, RustyVault self-hosted)"
edition = "2021"
name = "vault-service"
version = "0.2.0"

[dependencies]
# Async runtime
tokio = { workspace = true, features = ["full"] }

# Web framework
axum = { workspace = true, features = ["json"] }
tower = { workspace = true }
tower-http = { workspace = true, features = ["cors", "trace"] }

# Serialization
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
toml = { workspace = true }

# HTTP client
reqwest = { workspace = true }

# Age encryption (development)
age = "0.11"

# RustyVault (self-hosted Vault alternative)
rusty_vault = "0.2.1"

# Cryptography
base64 = { workspace = true }
rand = { workspace = true }

# Error handling
anyhow = { workspace = true }
thiserror = { workspace = true }

# Logging
tracing = { workspace = true }
tracing-subscriber = { workspace = true }

# Time
chrono = { workspace = true, features = ["serde"] }

# Configuration
config = { workspace = true }

# SecretumVault (Enterprise secrets management)
secretumvault = { workspace = true }

[dev-dependencies]
mockito = { workspace = true }
tempfile = { workspace = true }
tokio-test = { workspace = true }

[[bin]]
name = "vault-service"
path = "src/main.rs"

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