How pierre-mzuafo/secureapp works
SecureApp is a small FastAPI item API and a DevSecOps pipeline demonstrator. A client calls the API’s health and item endpoints; Pydantic validates item input, while the CRUD handlers read and write an in-memory store. The README documents a GitHub Actions pipeline for linting, tests, Python security audits, Docker builds, and Trivy image scans. Pipeline details are based on the README; the workflow and Dockerfile contents were not sampled.
Main entry points: ci-cd.yml CI workflow · main.py FastAPI app · Dockerfile Docker build
Components 11
API runtime
- FastAPI app
app/main.py - Health check
app/main.py - Item endpoints
app/main.py - Item model
app/main.py - In-memory store
app/main.py
DevSecOps pipeline
- CI workflow
.github/workflows/ci-cd.yml - Lint and audits
.github/workflows/ci-cd.yml - Unit tests
.github/workflows/ci-cd.yml - Docker build
Dockerfile - Trivy scan
.github/workflows/ci-cd.yml
Other components
- API client
Connections 10
- API client → FastAPI app: calls
- FastAPI app → Health check: dispatches
- FastAPI app → Item endpoints: dispatches
- Item endpoints → Item model: validates
- Item endpoints → In-memory store: reads and writes
- CI workflow → Lint and audits: runs
- CI workflow → Unit tests: runs
- CI workflow → Docker build: builds
- CI workflow → Trivy scan: scans image
- Docker build → Trivy scan: produces image