Zum Inhalt

Polycrate API 0.12.1

Release-Datum: 17. Februar 2026
Typ: Hotfix

Highlights

Hotfix-Release fuer einen kritischen Production-Bug in 0.12.0: collectstatic crashte beim Container-Start, was zu 500-Fehlern auf allen UI-Seiten fuehrte.

  • django-jazzmin entfernt -- Bootswatch CSS Source Map Referenz crasht WhiteNoise's CompressedManifestStaticFilesStorage

Artefakte

Docker Images

docker pull cargo.ayedo.cloud/polycrate/polycrate-api:0.12.1

Deployment

polycrate run polycrate-api install

Bugfix

collectstatic crash durch django-jazzmin

Problem: Nach dem Deployment von 0.12.0 crashte collectstatic in Production mit folgendem Fehler:

Post-processing 'vendor/bootswatch/zephyr/bootstrap.min.css' failed!

whitenoise.storage.MissingFileError: The file 'vendor/bootswatch/zephyr/bootstrap.min.css.map'
could not be found with <whitenoise.storage.CompressedManifestStaticFilesStorage>

Ursache: django-jazzmin liefert Bootswatch-CSS-Themes mit. Die minifizierte CSS-Datei bootstrap.min.css des Zephyr-Themes referenziert eine .map Source Map, die nicht im Package enthalten ist. In Production nutzt Django CompressedManifestStaticFilesStorage (via WhiteNoise), die beim Post-Processing alle CSS-Referenzen auflöst -- und bei fehlenden Dateien abbricht.

Da collectstatic abbricht, wird kein staticfiles.json Manifest erzeugt. Alle {% static %} Template-Lookups schlagen daraufhin mit ValueError: Missing staticfiles manifest entry fehl, was zu kaskadierenden 500-Fehlern auf allen UI-Seiten fuehrt.

In Development (StaticFilesStorage) tritt der Fehler nicht auf, da dort kein Manifest-basiertes Post-Processing stattfindet.

Warum erst jetzt: django-jazzmin war in requirements.txt ohne Versions-Pin. Beim Docker-Build fuer 0.12.0 wurde eine neuere Version installiert, deren Bootswatch-Bundle die problematische Source Map Referenz enthaelt.

Fix: django-jazzmin komplett aus INSTALLED_APPS und requirements.txt entfernt. Das Package wurde ausschliesslich fuer das Django Admin Interface (/admin/) verwendet und hat keinen Einfluss auf das eigentliche Polycrate UI. Das Django Admin nutzt jetzt das Standard-Django-Theme.

polycrate-api Block

Block-Version: 0.6.1 (app_version: 0.12.1)

polycrate pull cargo.ayedo.cloud/ayedo/k8s/polycrate-api
polycrate run polycrate-api install

Migration

Keine Migration erforderlich. Einfach auf 0.12.1 aktualisieren -- der Fix besteht ausschliesslich aus dem Entfernen einer ungenutzten Dependency.