How atef-mohamed-22/first-devops-project works
This repository is a small Flask API packaged as a Docker container and presented as a beginner DevOps workflow. The runtime path is an HTTP request to the Flask routes, which return JSON responses. The documented delivery path runs tests, builds and publishes an image, then uses Terraform to manage a running container. The Terraform directory is described in the README but absent from the supplied tree; its node is therefore unpathed, and CI relationships reflect README documentation rather than inspected workflow source.
Main entry points: ci.yml GitHub Actions · app.py Flask API · tests Automated tests · Dockerfile Docker image build
Components 11
API runtime
- Flask API
app/app.py - JSON response
app/app.py
CI and delivery
- GitHub Actions
.github/workflows/ci.yml - Automated tests
tests - Docker image build
Dockerfile
Container infrastructure
- Terraform
- Running container
Other components
- HTTP client
- Developer
- GitHub
- GHCR image registry
Connections 9
- HTTP client → Flask API: requests
- Flask API → JSON response: returns JSON
- Developer → GitHub: pushes code
- GitHub → GitHub Actions: triggers
- GitHub Actions → Automated tests: runs
- GitHub Actions → Docker image build: builds image
- GitHub Actions → GHCR image registry: publishes image
- Terraform → Running container: manages
- Running container → Flask API: runs