Files
foxhunt/infra/modules/secrets/outputs.tf
jgrusewski 86f7f1fa76 fix: comprehensive audit — real brokers, deployment fixes, production safety
Codebase audit identified 23 findings across 4 dimensions (production safety,
code health, deployment readiness, test quality). This commit fixes all of them.

Broker execution layer (was entirely stubbed):
- Real IBKR TWS client via ibapi crate (950+ lines, feature-gated)
- ICMarkets ctrader-openapi now always-on (removed feature flag)
- Real broker routing with health monitoring and exponential backoff reconnect
- Validated against live IB Gateway Docker (6/6 connectivity tests pass)

Deployment blockers:
- Fixed 6 broken Dockerfiles (removed COPY foxhunt-deploy)
- Created foxhunt K8s namespace, secret templates, migration job
- Added liveness probes to all 7 K8s services
- IB Gateway manifest (ghcr.io/gnzsnz/ib-gateway:stable)
- IBKR credentials in Scaleway Secret Manager via Terragrunt
- Fixed port collisions and mismatches across services

Production safety (9 critical + 6 high/medium fixes):
- Asset-class-specific VaR volatility (not flat 2%)
- Real parametric VaR with z-score 95th percentile
- Kyle's lambda regression (100-bar rolling window)
- Per-feature running statistics from historical data
- VWAP-based slippage reference, regime duration tracking
- Real Databento JSON parsing for OHLCV/Trade/Quote

Code health:
- Removed #![allow(dead_code)] from ml, data, config
- Fixed log:: → tracing:: in 4 production files
- Removed dead workspace deps (ratatui, crossterm)

Verified: cargo check --workspace (0 errors), trading_engine 330 tests pass.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 00:32:10 +01:00

37 lines
949 B
HCL

output "jwt_secret_id" {
description = "ID of the JWT secret"
value = scaleway_secret.jwt.id
}
output "db_password_secret_id" {
description = "ID of the database password secret"
value = scaleway_secret.db_password.id
}
output "jwt_secret_value" {
description = "Generated JWT secret value"
value = random_password.jwt_secret.result
sensitive = true
}
output "db_password_value" {
description = "Generated database password value"
value = random_password.db_password.result
sensitive = true
}
output "ibkr_account_secret_id" {
description = "ID of the IBKR account secret"
value = scaleway_secret.ibkr_account.id
}
output "ibkr_username_secret_id" {
description = "ID of the IBKR username secret"
value = scaleway_secret.ibkr_username.id
}
output "ibkr_password_secret_id" {
description = "ID of the IBKR password secret"
value = scaleway_secret.ibkr_password.id
}