| FROM python:3.10.16-slim |
|
|
| |
| RUN apt-get update && apt-get install -y git ffmpeg && rm -rf /var/lib/apt/lists/* |
|
|
| RUN python --version |
|
|
| WORKDIR /app |
|
|
| |
| COPY requirements.txt . |
| RUN pip install --no-cache-dir --upgrade pip && \ |
| pip install --no-cache-dir -r requirements.txt |
|
|
| |
| COPY . . |
|
|
| |
| RUN CONSTANTS_FILE=$(find /usr/local/lib -name constants.py -path "*/agentic_reliability_framework/core/config/*") && \ |
| echo "from typing import Final" >> $CONSTANTS_FILE && \ |
| echo "" >> $CONSTANTS_FILE && \ |
| echo "# === PERFORMANCE CONSTANTS ===" >> $CONSTANTS_FILE && \ |
| echo "HISTORY_WINDOW: Final[int] = 50" >> $CONSTANTS_FILE && \ |
| echo "MAX_EVENTS_STORED: Final[int] = 1000" >> $CONSTANTS_FILE && \ |
| echo "AGENT_TIMEOUT_SECONDS: Final[int] = 5" >> $CONSTANTS_FILE && \ |
| echo "CACHE_EXPIRY_MINUTES: Final[int] = 15" >> $CONSTANTS_FILE && \ |
| echo "" >> $CONSTANTS_FILE && \ |
| echo "# === FORECASTING CONSTANTS ===" >> $CONSTANTS_FILE && \ |
| echo "FORECAST_MIN_DATA_POINTS: Final[int] = 5" >> $CONSTANTS_FILE && \ |
| echo "FORECAST_LOOKAHEAD_MINUTES: Final[int] = 15" >> $CONSTANTS_FILE && \ |
| echo "SLOPE_THRESHOLD_INCREASING: Final[float] = 5.0" >> $CONSTANTS_FILE && \ |
| echo "SLOPE_THRESHOLD_DECREASING: Final[float] = -2.0" >> $CONSTANTS_FILE && \ |
| echo "" >> $CONSTANTS_FILE && \ |
| echo "# === THRESHOLD CONSTANTS ===" >> $CONSTANTS_FILE && \ |
| echo "LATENCY_WARNING: Final[float] = 150.0" >> $CONSTANTS_FILE && \ |
| echo "LATENCY_CRITICAL: Final[float] = 300.0" >> $CONSTANTS_FILE && \ |
| echo "LATENCY_EXTREME: Final[float] = 500.0" >> $CONSTANTS_FILE && \ |
| echo "ERROR_RATE_WARNING: Final[float] = 0.05" >> $CONSTANTS_FILE && \ |
| echo "ERROR_RATE_HIGH: Final[float] = 0.15" >> $CONSTANTS_FILE && \ |
| echo "ERROR_RATE_CRITICAL: Final[float] = 0.3" >> $CONSTANTS_FILE && \ |
| echo "CPU_WARNING: Final[float] = 0.8" >> $CONSTANTS_FILE && \ |
| echo "CPU_CRITICAL: Final[float] = 0.9" >> $CONSTANTS_FILE && \ |
| echo "MEMORY_WARNING: Final[float] = 0.8" >> $CONSTANTS_FILE && \ |
| echo "MEMORY_CRITICAL: Final[float] = 0.9" >> $CONSTANTS_FILE && \ |
| echo "" >> $CONSTANTS_FILE && \ |
| echo "# === RATE LIMITING ===" >> $CONSTANTS_FILE && \ |
| echo "MAX_REQUESTS_PER_MINUTE: Final[int] = 60" >> $CONSTANTS_FILE && \ |
| echo "MAX_REQUESTS_PER_HOUR: Final[int] = 500" >> $CONSTANTS_FILE && \ |
| echo "" >> $CONSTANTS_FILE && \ |
| echo "# === BUSINESS METRICS ===" >> $CONSTANTS_FILE && \ |
| echo "BASE_REVENUE_PER_MINUTE: Final[float] = 100.0" >> $CONSTANTS_FILE && \ |
| echo "BASE_USERS: Final[int] = 1000" >> $CONSTANTS_FILE |
|
|
| |
| RUN mkdir -p /usr/local/lib/python3.10/site-packages/agentic_reliability_framework/core/models && \ |
| cp event.py /usr/local/lib/python3.10/site-packages/agentic_reliability_framework/core/models/ |
|
|
| |
| RUN ENGINE_FILE=$(find /usr/local/lib -name engine.py -path "*/agentic_reliability_framework/runtime/*") && \ |
| cp engine.py $ENGINE_FILE |
|
|
| |
| |
|
|
| CMD ["python", "app.py"] |