Skip to content

Add deployment-ready Docker setup - #5

Merged
iPrakharV merged 2 commits into
mainfrom
deployment-ready
May 10, 2026
Merged

iPrakharV merged 2 commits into
mainfrom
deployment-ready

Conversation

@iPrakharV

Copy link
Copy Markdown
Owner

Adds deployment-oriented Docker files, a production compose file, environment example, smoke check script, deployment notes, and Docker image builds in CI. This does not claim the app is hosted yet; it makes the current gateway/worker mesh ready to deploy to a provider with private service networking.\n\nChecked locally:\n- python -m pytest -q\n- python -m py_compile scripts/smoke_check.py bench/replay_traffic.py bench/run_scenarios.py bench/run_bench.py gateway/app/.py worker/app/.py training/train_text_model.py\n- YAML parse check for docker-compose.yml, docker-compose.prod.yml, and workflow\n- local uvicorn smoke check with scripts/smoke_check.py\n\nNote: Docker is not installed in this local shell, so image builds are verified by GitHub Actions.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a deployment-oriented Docker setup for running the existing gateway/worker mesh in a more production-like configuration (private workers + public gateway), along with supporting docs, a smoke check script, and CI image build coverage.

Changes:

  • Add production-style compose file (docker-compose.prod.yml) plus .env.example for environment-driven configuration.
  • Add scripts/smoke_check.py and Makefile targets to validate a running stack and streamline common dev workflows.
  • Add Docker healthchecks and extend CI to build gateway/worker images.

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
worker/Dockerfile Adds Python runtime env defaults and a container healthcheck for the worker service.
gateway/Dockerfile Adds Python runtime env defaults and a container healthcheck for the gateway service.
docker-compose.prod.yml Adds a “production-style” compose setup (no public worker/redis ports, env-based gateway config).
.env.example Provides a template for gateway/worker-related environment variables.
.dockerignore Reduces Docker build context (omits git/venv/caches/results/runs).
scripts/smoke_check.py Adds a small end-to-end validation script (health + predict + metrics + workers).
README.md Documents how to run the production-style compose locally and where deployment notes live.
docs/deployment.md Adds provider-neutral deployment notes and expected service topology/env.
Makefile Adds convenience targets for tests, compose runs, smoke check, and local image builds.
.github/workflows/test.yml Adds a CI job that builds the gateway/worker Docker images.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread scripts/smoke_check.py
Comment on lines +16 to +18
def get_json(url: str, timeout: float = 2.0) -> dict:
with request.urlopen(url, timeout=timeout) as response:
return json.loads(response.read().decode("utf-8"))
@iPrakharV
iPrakharV merged commit 8dc427b into main May 10, 2026
6 checks passed
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.

2 participants