Projekt do portfolio DevOps: prosta aplikacja FastAPI + PostgreSQL, wokół której budowane są konkretne narzędzia: konteneryzacja, CI/CD, IaC, GitOps i observability. Głównym celem projektu nie jest sama aplikacja, tylko wszystko wokół niej.
Aplikacja FastApi + PostgreSQL (psycopg, pydantic-settings) Konteneryzacja Docker (multi-stage, non-root), docker-compose CI GitHub Actions - ruff, pytest (z Postgresem jako service container), build obrazu (tag = git SHA), skan podatności Trivy W planach Terraform + GKE, Helm/Kustomize, Argo CD + Argo Rollouts, Prometheus/Grafana/Loki
Wymagania: Docker desktop
docker compose up -d --buildAplikacja: http://127.0.0.1:8000 (Swagger UI: http://127.0.0.1:8000/docs)
| Endpoint | Opis |
|---|---|
GET / |
środowisko i wersja aplikacji (z env) |
GET /health |
liveness — czy proces żyje (nie sprawdza bazy) |
GET /readyz |
readiness — czy baza odpowiada (503, gdy nie) |
POST /notes |
dodaje notatkę |
GET /notes |
listuje notatki |
pip install -r requirements-dev.txt
docker compose up -d db # testy integracyjne wymagają bazy
pytest -v
ruff check .Aplikacja czyta konfigurację ze zmiennych środowiskowych (walidacja przy
starcie przez pydantic-settings) — patrz .env.example.