83 lines
2.3 KiB
TOML
83 lines
2.3 KiB
TOML
[package]
|
|
name = "rtx-config"
|
|
version = "1.0.0"
|
|
edition.workspace = true
|
|
rust-version = "1.92"
|
|
authors.workspace = true
|
|
license.workspace = true
|
|
repository.workspace = true
|
|
description = "Configuration management with hot-reloading and secret management for RustyTorch"
|
|
|
|
[dependencies]
|
|
# Essential dependencies
|
|
anyhow = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
tokio = { workspace = true, features = ["full", "rt-multi-thread"] }
|
|
async-trait = { workspace = true }
|
|
|
|
# Serialization and configuration
|
|
serde = { workspace = true, features = ["derive"] }
|
|
serde_json = { workspace = true }
|
|
serde_yaml = "0.9"
|
|
toml = { workspace = true }
|
|
config = { workspace = true }
|
|
|
|
# File watching for hot reloading
|
|
notify = { version = "6.1", optional = true }
|
|
futures = { workspace = true }
|
|
|
|
# Environment variable handling
|
|
dotenvy = { version = "0.15", optional = true }
|
|
|
|
# Secret management and encryption
|
|
keyring = { version = "2.3", optional = true }
|
|
aes-gcm = { version = "0.10", optional = true }
|
|
argon2 = { version = "0.5", optional = true }
|
|
rand = { workspace = true }
|
|
base64 = "0.22"
|
|
|
|
# Feature flags and A/B testing
|
|
uuid = { workspace = true, features = ["v4", "serde"], optional = true }
|
|
sha2 = { workspace = true, optional = true }
|
|
|
|
# Configuration validation
|
|
jsonschema = { workspace = true, optional = true }
|
|
validator = { version = "0.16", features = ["derive"], optional = true }
|
|
|
|
# Time handling
|
|
chrono = { workspace = true, features = ["serde"] }
|
|
|
|
# Logging and telemetry
|
|
tracing = { workspace = true }
|
|
tracing-subscriber = { workspace = true }
|
|
|
|
# Concurrent data structures
|
|
dashmap = { workspace = true }
|
|
parking_lot = { workspace = true }
|
|
tokio-util = "0.7"
|
|
|
|
# HTTP client for remote configuration
|
|
reqwest = { workspace = true, features = ["json"], optional = true }
|
|
|
|
# Path utilities
|
|
directories = "5.0"
|
|
|
|
[dev-dependencies]
|
|
tokio-test = { workspace = true }
|
|
tempfile = { workspace = true }
|
|
proptest = { workspace = true }
|
|
criterion = { workspace = true, features = ["html_reports"] }
|
|
test-log = "0.2"
|
|
|
|
|
|
[features]
|
|
default = ["file-watcher", "env-vars"]
|
|
file-watcher = ["dep:notify"]
|
|
env-vars = ["dep:dotenvy"]
|
|
encryption = ["dep:aes-gcm", "dep:keyring"]
|
|
remote-config = ["dep:reqwest"]
|
|
validation = ["dep:jsonschema", "dep:validator"]
|
|
feature-flags = ["dep:uuid", "dep:sha2"]
|
|
[lints]
|
|
workspace = true
|