Files
foxhunt/tli/Dockerfile
jgrusewski 18944be360 📊 Wave 73: Production Validation (12 parallel agents)
All 12 validation agents complete:
- Agent 1: E2E auth testing (11/11 tests pass, 8-layer validation)
- Agent 2: Load testing framework ready (4 scenarios documented)
- Agent 3: Docker deployment (6/6 infra services healthy)
- Agent 4: Database integration (4 migrations, 6 NOTIFY channels, RBAC)
- Agent 5: TLI client integration (JWT auth, OS keyring, API Gateway)
- Agent 6: Performance profiling (978ns pipeline, 3 optimization recommendations)
- Agent 7: Security penetration testing (OWASP Top 10, 3 critical findings)
- Agent 8: gRPC proxy testing (3 proxies, 100% test pass, 5-8μs overhead)
- Agent 9: Monitoring validation (Prometheus + Grafana, 5 issues identified)
- Agent 10: Rate limiting stress test (8/8 tests pass, 99% attack mitigation)
- Agent 11: Production readiness (7/9 criteria, 2 P0 blockers identified)
- Agent 12: Documentation audit (92% complete, A- grade, production ready)

Deliverables:
- 30+ validation reports created (150+ KB documentation)
- All 5 Dockerfiles updated with complete workspace
- Redis/PostgreSQL integration tests operational
- Comprehensive performance profiling completed
- Security vulnerabilities documented with remediation

🔴 CRITICAL P0 BLOCKERS IDENTIFIED:
1. Audit trail persistence (trading_engine/src/compliance/audit_trails.rs:857)
   - Impact: SOX/MiFID II compliance violation
   - Status: Events not saved to database (only printed)

2. Test suite validation timeout
   - Historical: 1,919/1,919 tests passing (100%)
   - Current: Timeout after 2 minutes
   - Impact: Cannot certify regression-free state

⚠️ CRITICAL SECURITY VULNERABILITIES:
1. Authentication DISABLED (services/trading_service/src/main.rs:298-302)
2. Execution engine PANICS (execution_engine.rs:661,667,674)
3. Audit trail persistence (covered above)

Production Decision: CONDITIONAL GO
- Must fix 2 P0 blockers before production deployment
- 7/9 production criteria met (78%)
- SOX: 87.5% compliant, MiFID II: 87.5% compliant
- Documentation: 92% complete (4,329 production lines)

Next Wave: Address P0 blockers + performance optimization
2025-10-03 13:35:14 +02:00

92 lines
2.5 KiB
Docker

# Multi-stage build for Foxhunt TLI (Terminal Interface Client)
# Wave 71 Agent 8: Production-optimized Docker image
# =============================================================================
# Builder Stage
# =============================================================================
FROM rust:1.83-slim-bookworm AS builder
# Install build dependencies
RUN apt-get update && apt-get install -y \
pkg-config \
libssl-dev \
protobuf-compiler \
&& rm -rf /var/lib/apt/lists/*
# Set working directory
WORKDIR /build
# Copy workspace manifests
COPY Cargo.toml Cargo.lock ./
# Copy all workspace crates (all members required for workspace build)
COPY common ./common
COPY config ./config
COPY trading_engine ./trading_engine
COPY risk ./risk
COPY risk-data ./risk-data
COPY trading-data ./trading-data
COPY ml ./ml
COPY ml-data ./ml-data
COPY data ./data
COPY backtesting ./backtesting
COPY adaptive-strategy ./adaptive-strategy
COPY storage ./storage
COPY market-data ./market-data
COPY database ./database
COPY tli ./tli
COPY tests ./tests
COPY services/api_gateway ./services/api_gateway
COPY services/trading_service ./services/trading_service
COPY services/backtesting_service ./services/backtesting_service
COPY services/ml_training_service ./services/ml_training_service
# Build dependencies first (layer caching optimization)
RUN mkdir -p tli/src && \
echo "fn main() {}" > tli/src/main.rs && \
cargo build --release -p tli && \
rm -rf tli/src
# Copy actual source code
COPY tli/src ./tli/src
COPY tli/build.rs ./tli/build.rs 2>/dev/null || true
# Build the application
RUN cargo build --release -p tli
# =============================================================================
# Runtime Stage
# =============================================================================
FROM debian:bookworm-slim
# Install runtime dependencies
RUN apt-get update && apt-get install -y \
ca-certificates \
libssl3 \
curl \
&& rm -rf /var/lib/apt/lists/*
# Create non-root user
RUN groupadd --system --gid 1000 foxhunt && \
useradd --system --uid 1000 --gid foxhunt --shell /bin/bash foxhunt
# Create application directories
RUN mkdir -p /app/config /app/logs && \
chown -R foxhunt:foxhunt /app
# Set working directory
WORKDIR /app
# Copy binary from builder
COPY --from=builder /build/target/release/tli ./tli
RUN chmod +x ./tli
# Switch to non-root user
USER foxhunt
# Set terminal environment
ENV TERM=xterm-256color
# Run the application (interactive terminal)
ENTRYPOINT ["./tli"]