Skip to content

G2P-697 - Kubernetes deployment support for API - #424

Open
seeta-ramaraju wants to merge 5 commits into
mainfrom
kubernetes-changes
Open

G2P-697 - Kubernetes deployment support for API#424
seeta-ramaraju wants to merge 5 commits into
mainfrom
kubernetes-changes

Conversation

@seeta-ramaraju

Copy link
Copy Markdown
Collaborator

Description

This PR updates files to support deploying the API to Kubernetes.

Summary of changes:

  • .dockerignore: Excludes unnecessary local files from Docker builds.
  • Dockerfile: Adds a Docker build for running the API in Kubernetes.
  • .github/workflows/test.yml: Updates GitHub test workflow for MySQL env vars, pip caching, stricter migration checks, and improved MySQL health checks.
  • .gitlab-ci.yml: Adds GitLab CI/CD pipeline for testing, building, and deploying to Kubernetes.
  • README.md: Updates configuration docs to move database settings to environment variables.
  • requirements.txt: Updates mysqlclient and adds whitenoise and gunicorn.
  • gene2phenotype_project/default_config.ini: Adds default build-time config used by Docker static collection.
  • gene2phenotype_project/gene2phenotype_project/settings.py: Adds default config loading, env-based database configuration, WhiteNoise static handling, security headers, and DB env var validation.
  • gene2phenotype_project/gene2phenotype_project/urls.py: Adds health and readiness probe routes.
  • gene2phenotype_project/gene2phenotype_app/views/health_check.py: Adds liveness and readiness endpoints for Kubernetes probes.

JIRA Ticket

G2P-697


Contributor Checklist

  • The code compiles and runs as expected
  • Relevant unit tests are added or updated
  • All unit tests are passing
  • Code follows the G2P Coding Guidelines
  • Documentation (code comments, confluence, etc.) has been updated as needed

@dglemos dglemos self-assigned this Aug 7, 2026

@dglemos dglemos left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Tasks

  • Configure env variables to point to db
  • Run app locally
  • Run tests locally

The following URL is not working: http://127.0.0.1:8000/admin/
Error message:

ImproperlyConfigured at /admin/login/
You're using the staticfiles app without having set the STATIC_ROOT setting to a filesystem path.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants