How intontis/the_choice_azure_cicd works
The Choice is a Flask/PostgreSQL branching-choice application: a visitor answers a sequence of questions, the app records the path, and a completed path selects a prophecy for display. The graph also includes the documented GitOps deployment branch because cloud delivery is a major project capability. Runtime calls are evidenced by sampled source; deployment relationships are based on the README, since the pipeline and Kubernetes manifests were not excerpted.
Main entry points: main.py Journey routes · schema.sql PostgreSQL data · templates Question and prophecy pages · journey_service.py Journey service
Components 16
Web experience
- Flask app factory
app/__init__.py - Journey routes
app/routes/main.py - Question and prophecy pages
app/templates - Matrix background
app/static/matrix-rain.js
Journey logic
- Journey service
app/services/journey_service.py - Question service
app/services/question_service.py
Persistence
- Connection manager
app/db.py - PostgreSQL data
db/schema.sql - Question and prophecy seed
db/seed.py
Cloud delivery
- GitHub repository
- Azure Pipelines
azure-pipelines.yml - Azure Container Registry
- Kubernetes app manifest
k8s/app/deployment.yaml - Argo CD
- AKS services and storage
k8s
Other components
- Visitor
Connections 20
- Visitor → Journey routes: submits choices
app/routes/main.py - Flask app factory → Journey routes: registers routes
app/__init__.py - Journey routes → Question service: loads questions
app/routes/main.py - Journey routes → Journey service: creates and advances
app/routes/main.py - Journey routes → Question and prophecy pages: renders pages
app/routes/main.py - Question and prophecy pages → Visitor: shows journey
README.md - Question and prophecy pages → Matrix background: uses background
README.md - Journey service → Connection manager: gets connections
app/services/journey_service.py - Question service → Connection manager: gets connections
app/services/question_service.py - Connection manager → PostgreSQL data: connects
app/db.py - Journey service → PostgreSQL data: reads and writes journey data
app/services/journey_service.py - Question service → PostgreSQL data: reads questions
app/services/question_service.py - Question and prophecy seed → PostgreSQL data: seeds content
db/seed.py - GitHub repository → Azure Pipelines: triggers validation
README.md - Azure Pipelines → Azure Container Registry: publishes image
README.md - Azure Pipelines → Kubernetes app manifest: updates image reference
README.md - Kubernetes app manifest → GitHub repository: committed to
README.md - Argo CD → GitHub repository: monitors changes
README.md - Argo CD → AKS services and storage: synchronizes resources
README.md - AKS services and storage → PostgreSQL data: runs database
README.md