Skip to content

bharathvikasp-cell/devops-cicd-observability-lab

Repository files navigation

DevOps CI/CD Observability Lab

A practical DevOps lab showing how to package, test, run, monitor, and validate a small Python service.

Recruiter Scan

  • Dockerized FastAPI service with health, readiness, and Prometheus-style metrics endpoints
  • Docker Compose stack with API, Prometheus, and Grafana
  • GitHub Actions CI for tests and Docker image build
  • Makefile commands for local development, tests, Compose, and smoke checks
  • Request timing middleware and simple operational metrics
  • Clear startup and verification workflow

Architecture

flowchart LR
    Dev["Developer"] --> CI["GitHub Actions"]
    CI --> Tests["Pytest"]
    CI --> Build["Docker Build"]
    User["Operator"] --> API["FastAPI Service"]
    Prom["Prometheus"] --> API
    Grafana["Grafana"] --> Prom
Loading

Local Run

python3 -m venv .venv
source .venv/bin/activate
make install
make test
make dev

Docker Compose

docker compose up --build

Services:

  • API: http://localhost:8000
  • Prometheus: http://localhost:9090
  • Grafana: http://localhost:3000 using admin/admin

Verification

curl http://localhost:8000/health
curl http://localhost:8000/ready
curl http://localhost:8000/metrics
make smoke

Why This Project Matters

Junior DevOps roles often require supporting services across CI/CD, containers, monitoring, logs, health checks, and operational validation. This project demonstrates those fundamentals in a small, understandable lab.

About

DevOps CI/CD observability lab with Dockerized FastAPI service, Prometheus metrics, Grafana provisioning, health checks, smoke tests, and CI.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors