13.04.2021
Mit dem Open-Source-Projekt Django-Hurricane wollen wir bei Blueshoe die Entwicklung in dem Bereich django und Kubernetes vorantreiben. Heute möchten wir dir einige neue Features vorstellen.
Ende 2020 haben wir dir unser neues Open-Source-Projekt Django-Hurricane präsentiert. Den Blogpost zur Vorstellung von Django-Hurricane kannst du hier lesen. Mit diesem Projekt wollen wir bei Blueshoe die Entwicklung in dem Bereich Django und Kubernetes vorantreiben und viele Routineaufgaben, die beim Aufsetzen des Projektes entstehen, von den Schultern der Entwickler nehmen und in ein robustes Framework verlagern.
Wir haben außerdem an der To-do-Liste im GitHub Repository gearbeitet und können jetzt hier einige neue Features von Django-Hurricane präsentieren.
Dokumentation
Wir haben intensiv an der Dokumentation gearbeitet. Neben dem User’s Guide, gibt es auch eine Low-Level API Dokumentation. Der User’s Guide gibt hilfreiche Informationen für die Nutzung von Django-Hurricane z. B. die verfügbaren Command-Optionen, nützliche Tipps für die Konfiguration und die allgemeine Aufklärung über die einzelnen Komponenten von Django-Hurricane. In der API-Dokumentation kann man die Funktionalitäten einzelner Komponente besser nachschauen.
Außerdem haben wir ein Feature implementiert, welches es ermöglicht, die Management-Commands direkt in dem „serve“-Command zu spezifizieren und auszuführen. Die neuen Command-Optionen sind:
Ein Command mit den Management-Commands könnte wie folgt aussehen:
Probe-Endpoints können jetzt separat mit dem „serve“-Command definiert werden. Die Optionen dafür sind:
Darüber hinaus haben wir noch ein Feature für Django-Hurricane implementiert: Die Möglichkeit die Webhooks auf eine bestimmte Adresse zu verschicken. Es gibt mittlerweile drei Webhooks, die den drei Probes entsprechen. Der erste Webhook ist der Startup-Webhook. Er wird nach dem Start des HTTP-Servers ausgeführt und an die angegebene Adresse verschickt. Im Falle des Fehlstarts der Applikation wird ein Startup-Webhook mit dem Status „failed“ initiiert. Anschließend wird die Applikation gestoppt.
Die Liveness- und Readiness-Webhooks sind nach den entsprechenden Probe-Anfragen initiiert. Die Webhooks werden nur nach einer State-Änderung ausgeführt, d. h. entweder bei der ersten Probe-Anfrage, wobei der State von „None“ auf „Healthy/Unhealthy“ geändert wird. Ansonsten wird der Webhook bei der Änderung der States von „Healthy“ zu „Unhealthy“ oder von „Unhealthy“ zu „Healthy“ initiiert. Für die Webhooks mit dem Status „failed“ wird entsprechend auch der Fehler-Traceback mitgeschickt.
Damit die Webhooks überhaupt geschickt werden können, muss der Webhook-Command mit der URL-Adresse mitgegeben werden. Die Command-Option heißt „webhook-url” und wird als URL-Adresse für Webhooks mitgegeben. Der gesamte Befehl für die Ausführung der Applikation mit Webhooks würde wie folgt aussehen.
Trotz unserer fleißigen Arbeit an der Django-Hurricane-To-do-Liste in den letzten Monaten, gibt es noch mehrere offene Checkboxen. Wir wären daher sehr dankbar für jegliche Hilfe bei der Weiterentwicklung von Django-Hurricane sowie bei allen unseren anderen Open-Source-Projekten. Wir freuen uns schon jetzt auf die neuen Challenges in der Weiterentwicklung und das Abhaken weiterer Checkboxen auf unserer To-do-Liste im GitHub Repository.