Files
foxhunt/common/Cargo.toml
jgrusewski 8950831817 🎉 MAJOR: Shared libraries architecture complete with Vault integration
COMPLETED:
 Created 3 shared libraries: common, config (foxhunt-config), storage
 Config library: PostgreSQL hot-reload, Vault integration, unified ConfigManager
 Storage library: S3 with Vault credentials, model checkpoints, zero hardcoded keys
 Common library: Shared types, database connections, error handling
 Fixed TLI protobuf compilation issues (duplicate health_check, Aad types)
 Trading Service migrated to use centralized config

SECURITY IMPROVEMENTS:
🔒 ALL AWS credentials now from Vault (no environment variables)
🔒 Circuit breaker patterns for external services
🔒 Secure error messages that don't leak credentials
🔒 Automatic credential refresh with 5-minute TTL

ARCHITECTURE:
- Single source of truth for configuration
- Zero code duplication for common functionality
- Hot-reload capability via PostgreSQL NOTIFY/LISTEN
- Multi-tier storage with compression and lifecycle management
- Type-safe configuration with comprehensive error handling

Next: Complete service migrations to use shared libraries
2025-09-25 09:23:52 +02:00

58 lines
1.3 KiB
TOML

[package]
name = "common"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
documentation.workspace = true
publish.workspace = true
keywords.workspace = true
categories.workspace = true
description = "Shared utilities and common types for Foxhunt HFT Trading System"
[dependencies]
# Core async and utilities
tokio.workspace = true
futures.workspace = true
async-trait.workspace = true
# Serialization
serde = { workspace = true, features = ["derive"] }
serde_json.workspace = true
# Error handling
thiserror.workspace = true
anyhow.workspace = true
# Time handling
chrono = { workspace = true, features = ["serde"] }
# Financial types
rust_decimal = { workspace = true, features = ["serde", "macros"] }
# Database dependencies
sqlx = { workspace = true, features = ["runtime-tokio-rustls", "postgres", "chrono", "uuid"], optional = true }
redis.workspace = true
# Logging and tracing
tracing.workspace = true
tracing-subscriber.workspace = true
# Configuration
config.workspace = true
toml.workspace = true
# Utilities
uuid = { workspace = true, features = ["v4", "serde"] }
once_cell.workspace = true
[dev-dependencies]
tokio-test.workspace = true
tempfile.workspace = true
[features]
default = ["database"]
database = ["sqlx"]