# 00_Globale_Richtlinien – Gesamtüberblick Dieses Verzeichnis bündelt globale Planungsdokumente und einen entworfenen Code-Grundstock, auf dem spätere Komponenten aufbauen. ## Struktur ```plaintext 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. ```bash 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: ```bash 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.