00_Globale_Richtlinien – Gesamtüberblick
Dieses Verzeichnis bündelt globale Planungsdokumente und einen entworfenen Code-Grundstock, auf dem spätere Komponenten aufbauen.
Struktur
00_Globale_Richtlinien/
├── Planung/
│ ├── Komponenten_Standardstruktur.md
│ ├── Code_Style.md
│ └── Namenskonventionen.md
└── Entworfener_Code/
├── requirements.txt
├── Dockerfile
├── docker-compose.yml
├── app/
│ ├── start.py
│ ├── config/
│ │ ├── config.yaml
│ │ └── logging.yaml
│ └── code/
│ ├── app/
│ │ ├── __init__.py
│ │ └── main.py
│ ├── api/
│ │ ├── __init__.py
│ │ ├── router.py
│ │ └── routes/
│ │ ├── __init__.py
│ │ └── execute.py
│ ├── core/
│ │ └── base_component.py
│ ├── src/
│ │ ├── api.py
│ │ ├── config.py
│ │ ├── logger.py
│ │ └── worker.py
│ └── tests/
│ └── test_smoke.py
Hinweise:
- Planung enthält verbindliche Vorgaben zu Struktur, Namens-/Code-Stil und Laufzeitarchitektur.
- Entworfener_Code liefert ein minimales, startfähiges API-Gerüst mit FastAPI, Logging und Tests.
Kernfunktionen des Entworfenen Codes
- Startskript: app/start.py startet den Server, lädt YAML-Konfiguration und Logging.
- FastAPI-App: app/code/app/main.py erzeugt die App, bindet Router und Health-Check.
- Beispiel-API: app/code/api/router.py und app/code/api/routes/execute.py registrieren /api/execute.
- Minimal-API (Gerüst) unter app/code/src/api.py mit:
- POST /start: löst eine nicht-blockierende Start-Routine aus (Delegation an app/code/src/worker.py).
- GET /health: einfacher Health-Check.
- POST /restart und POST /reload: planen (Gerüst) einen Neustart des Prozesses.
- Logging: app/config/logging.yaml (rotierende Logs) und Zugriff über app/code/src/logger.py (Gerüst).
- Tests: app/code/tests/test_smoke.py (pytest).
Quickstart lokal (ohne Container)
Voraussetzungen: Python 3.10+ und pip.
python -m venv .venv
source .venv/bin/activate
pip install -r 00_Globale_Richtlinien/Entworfener_Code/requirements.txt
python 00_Globale_Richtlinien/Entworfener_Code/app/start.py --config 00_Globale_Richtlinien/Entworfener_Code/app/config/config.yaml
Swagger: http://localhost:8000/docs
Quickstart mit Docker/Compose
Build & Run:
docker build -t entwurf-service 00_Globale_Richtlinien/Entworfener_Code
docker run --rm -p 8000:8000 entwurf-service
# oder:
docker compose -f 00_Globale_Richtlinien/Entworfener_Code/docker-compose.yml up --build
Relevante Planungsdokumente
- Komponenten-Standardstruktur: 00_Globale_Richtlinien/Planung/Komponenten_Standardstruktur.md
- Code Style: 00_Globale_Richtlinien/Planung/Code_Style.md
- Namenskonventionen: 00_Globale_Richtlinien/Planung/Namenskonventionen.md
Hinweise zur Weiterentwicklung
- Die konkrete Neustartstrategie (Supervisor/execv, Backoff, Auth) ist bewusst offen und wird später festgelegt.
- Die Python-Config (app/code/src/config.py) ist die zentrale Quelle; YAML ergänzt externe Konfigurierbarkeit.
- Altstrukturen können in Migrationsschritten bereinigt werden; maßgeblich ist die app/code-Aufteilung.