FROM python:3.14-slim

ENV PYTHONUNBUFFERED=1 \
    PIP_NO_CACHE_DIR=1 \
    SQL_PROXY_HOST=0.0.0.0 \
    SQL_PROXY_PORT=3307

WORKDIR /app

COPY pyproject.toml README.md ./
COPY yearning_cli ./yearning_cli
COPY mysql_proxy ./mysql_proxy

RUN pip install .

EXPOSE 3307

HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \
    CMD python -c "import os, socket; s=socket.create_connection(('127.0.0.1', int(os.getenv('SQL_PROXY_PORT', '3307'))), 3); s.close()"

CMD sql proxy \
    --host "${SQL_PROXY_HOST}" \
    --port "${SQL_PROXY_PORT}" \
    ${SQL_PROXY_SOURCE:+--source "$SQL_PROXY_SOURCE"} \
    ${SQL_PROXY_DATABASE:+--database "$SQL_PROXY_DATABASE"} \
    ${SQL_PROXY_AUTH_USER:+--user "$SQL_PROXY_AUTH_USER"} \
    ${SQL_PROXY_AUTH_PASSWORD:+--password "$SQL_PROXY_AUTH_PASSWORD"}
