Skip to content
aditya2425Public

About

ML deployment pipeline: Docker containerization, FastAPI model serving, health checks, CI/CD & load testing

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

ShipAI — Dockerized Cloud Deployment

Project 6 of the GenAI Developer Roadmap 2026. A complete deployment pipeline: Dockerize a FastAPI application, set up CI/CD with GitHub Actions, and generate cloud infrastructure configs for AWS ECS and Kubernetes.

Project Structure

ShipAI/
├── week-1/    # Dockerize — FastAPI app, Docker configs, health checks
├── week-2/    # CI/CD Pipeline — GitHub Actions, linting, security scanning
├── week-3/    # Cloud Deploy — Terraform, Kubernetes, deployment runbooks
└── README.md

Week 1 — Dockerize (87 tests)

Production-ready FastAPI application with multi-stage Docker builds.

Module Description
src/api/app.py FastAPI app factory with CORS, rate limiting middleware, health endpoints
src/api/security.py Input sanitization, prompt injection detection, API key validation
src/health/checks.py Liveness/readiness probes, component health checks (DB, disk, memory)
src/docker/dockerfile.py Multi-stage Dockerfile generator (builder + runtime, non-root user)
src/docker/compose.py Docker Compose config generator (API + dashboard + Redis)

Key features:

  • Multi-stage Docker builds with non-root user and health checks
  • Rate limiting middleware that skips health endpoints
  • XSS/template injection sanitization and prompt injection detection
  • Three-tier health checks: liveness, readiness, detailed component report

Week 2 — CI/CD Pipeline (213 tests)

GitHub Actions workflow generation, linting configuration, and security scanning.

Module Description
src/ci/github_actions.py Workflow/Job/Step dataclasses, CI pipeline generator (test + lint + build)
src/lint/rules.py Ruff/Bandit config generators, import sorting/debug print/secret checkers
src/scanning/security_scan.py Dependency vulnerability scanner, Dockerfile/Compose security audit

Key features:

  • GitHub Actions workflow with test, lint, and Docker build jobs (build depends on test + lint)
  • Known vulnerability database for dependency scanning (Flask, Django, urllib3, etc.)
  • Dockerfile security checks: root user, hardcoded secrets, SSH exposure, curl-pipe-sh
  • Compose scanning: privileged mode, host network, hardcoded secrets, missing restart policy

Week 3 — Cloud Deploy (350 tests)

Infrastructure-as-Code and deployment automation.

Module Description
src/deploy/terraform.py Terraform HCL generator — VPC, subnets, security groups, ECS Fargate
src/deploy/kubernetes.py K8s manifest generator — Deployment, Service, Ingress, HPA
src/deploy/runbook.py Step-by-step deployment runbooks with rollback commands

Key features:

  • AWS ECS Fargate config: VPC with 2 AZs, security groups, task definitions, service with desired count
  • Kubernetes manifests: Deployments with liveness/readiness probes, HPA with CPU autoscaling
  • Deployment runbooks with phases, estimated times, manual step flags, and rollback commands
  • Markdown runbook export with checkboxes and bash code blocks

CLI Commands

# Week 1
python main.py serve              # Run FastAPI server
python main.py health             # Run health checks
python main.py generate-docker    # Generate Dockerfile + docker-compose.yml
python main.py generate-ignore    # Generate .dockerignore

# Week 2
python main.py generate-ci        # Generate GitHub Actions workflow
python main.py lint               # Run lint checks on source files
python main.py scan               # Run security scans

# Week 3
python main.py generate-terraform # Generate Terraform configs (AWS ECS)
python main.py generate-k8s      # Generate Kubernetes manifests
python main.py runbook            # Generate deployment runbook
python main.py runbook --target k8s --markdown  # K8s runbook as Markdown

Test Results

Week Tests Focus
Week 1 87 API endpoints, health checks, Docker configs, security
Week 2 213 GitHub Actions, lint rules, security scanning
Week 3 350 Terraform, Kubernetes, runbooks (cumulative)

Total: 650 tests across all weeks

Tech Stack

  • API: FastAPI + Uvicorn
  • Containers: Docker multi-stage builds, Docker Compose
  • CI/CD: GitHub Actions, Ruff, Bandit
  • IaC: Terraform (AWS ECS Fargate)
  • Orchestration: Kubernetes (Deployment, Service, HPA, Ingress)
  • Security: Input sanitization, dependency scanning, Dockerfile auditing

About

ML deployment pipeline: Docker containerization, FastAPI model serving, health checks, CI/CD & load testing

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages