Dieses Repository dient als Grundlage und Vorlage für die 60-minütige Fallstudie im Rahmen des Auswahlverfahrens für die Position Automation Engineer (m/w/d).
Ein interner Service (z. B. eine API für Infrastruktur-Status) soll automatisiert überwacht, die Daten verarbeitet und der Deployment-Prozess abgesichert werden.
- Skripterstellung: Erstelle eine kleine Automatisierung (z. B. in Python via
main.py). - API-Abruf: Rufe Daten von einer REST-API ab (z. B.
https://jsonplaceholder.typicode.com/todosoder eine Mock-API) inkl. robustem Error Handling / Timeout-Management. - Transformation & Aggregation: Filtere und transformiere die Daten (z. B. Identifikation von fehlerhaften/unerledigten States, Berechnung von Quoten) und ermittle einen Status (
HEALTHYvs.WARNING). - Output: Erstelle einen strukturierten JSON-Report oder Metrics-Payload über
stdout/ Datei.
- Dockerfile: Schreibe ein kompaktes und sicheres Dockerfile für deinen Service/Skript (schlankes Base-Image, Non-Root-User, Best Practices).
- GitHub Actions Pipeline: Erstelle/erweitere die Workflow-Datei (
.github/workflows/main.ymlbzw.main.yaml), die bei einempushauf denmain-Branch automatisch:- Den Code prüft und testet (Syntax-Check / Unit Test / Linter).
- Das Docker-Image baut.
- Einen simulierten Deployment-Step oder eine Benachrichtigung (z. B. Webhook/Status-Echo) triggert.
Beantworte kurz die folgenden konzeptionellen Fragen (in der README oder als separate Notiz/Whiteboard):
- Monitoring & Observability: Wie würdest du diesen Service in eine moderne Monitoring-Landschaft (z. B. Grafana / Prometheus / OpenTelemetry / Loki) einbinden?
- Secret Management: Wie gehst du mit Secrets (z. B. API-Tokens, Webhook-URLs, Credentials) im CI/CD-Prozess und zur Laufzeit sicher um?
- Orchestrierung: Wie bettest du den Service auf einer Orchestrierungs-Plattform ein (z. B. Rundeck, n8n, Kubernetes CronJob, StackStorm)?
.
├── .github/
│ └── workflow/
│ └── main.yaml # GitHub Actions CI/CD Pipeline
├── Dockerfile # Container-Definition für den Health-Check Service
├── main.py # Python Automation- & Health-Check Skript
├── requirements.txt # Python-Abhängigkeiten
└── README.md # Dokumentation & Aufgabenstellung
- Python 3.11+
- Docker (optional für Container-Test)
# 1. Virtuelle Umgebung erstellen & Abhängigkeiten installieren
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
# 2. Skript ausführen
python main.py# Image bauen
docker build -t healthcheck-service:latest .
# Container starten
docker run --rm healthcheck-service:latest- Metriken & Tracing: ...
- Logging: ...
- CI/CD Pipeline: ...
- Runtime: ...
- Plattform-Integration: ...