Skip to content

Containerize InfraForge backend runtime for reproducible Azure deployment - #15

Draft
johnstel with Copilot wants to merge 5 commits into
mainfrom
copilot/containerize-infraforge-runtime
Draft

Containerize InfraForge backend runtime for reproducible Azure deployment#15
johnstel with Copilot wants to merge 5 commits into
mainfrom
copilot/containerize-infraforge-runtime

Conversation

Copilot AI commented May 29, 2026

Copy link
Copy Markdown

InfraForge had no backend container definition, which made Azure deployment non-reproducible and left runtime dependencies implicit. This change adds a first-class container runtime for the FastAPI app, including SQL Server ODBC support and a documented smoke-test path for the health endpoint.

  • Runtime image

    • Adds a Python 3.13 Dockerfile for the backend runtime.
    • Installs required Linux system packages plus Microsoft ODBC Driver 18 for SQL Server.
    • Uses the existing app entrypoint (python web_start.py) so container startup matches the supported runtime path.
  • Deterministic build context

    • Adds .dockerignore to exclude local state, repo metadata, large non-runtime assets, and test/docs content from the image build context.
  • Startup compatibility

    • Updates the Copilot SDK type import in src/copilot_helpers.py to use copilot.session, which matches the installed SDK and keeps app startup/imports working in the containerized runtime.
  • Health smoke-test coverage

    • Adds a focused health endpoint test for /api/health?check=sql.
    • Documents a lightweight container smoke-test command that serves the app with FastAPI lifespan hooks disabled so endpoint reachability can be verified without Azure-backed startup dependencies.
  • Runbook updates

    • Extends DEMO_GUIDE.md with:
      • local image build
      • full container run with .env
      • health endpoint smoke-test flow
      • image push pattern for Azure-hosted container deployment
FROM python:3.13-slim

RUN apt-get update \
    && apt-get install -y --no-install-recommends unixodbc lsof \
    && ACCEPT_EULA=Y apt-get install -y --no-install-recommends msodbcsql18

CMD ["python", "web_start.py"]

Copilot AI changed the title [WIP] Add Dockerfile and .dockerignore for InfraForge runtime Containerize InfraForge backend runtime for reproducible Azure deployment May 29, 2026
Copilot AI requested a review from johnstel May 29, 2026 21:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Containerize InfraForge runtime for reproducible Azure deployment

2 participants