3.2 KiB
Verificatierapport — VacatureRadar 0.3.12
- Datum: 27 juli 2026
- Onderwerp: productiehardening, Nginx Proxy Manager, gastmodus en overdrachts-ZIP
- Branch:
fix/public-production-hardening
Gecontroleerd
Applicatie en regressies
296 tests geslaagd
2 optionele Playwrighttests overgeslagen omdat de browserbinary niet lokaal aanwezig was
83,43% branch-aware codedekking; vereiste drempel 70%
De afzonderlijke HTML- en accessibilityprobe bleef actief. De Playwrightfallback is hersteld zodat een geïnstalleerde Pythonmodule zonder browserbinary geen synchrone databasecall meer binnen de Playwright-eventloop uitvoert.
Django en data
python manage.py check: 0 issues;python manage.py makemigrations --check --dry-run: geen wijzigingen;- productie-settings met
PUBLIC_BASE_URL=https://vacatureradar.itworx.tech: laden correct; manage.py check --deploy: geen errors; HSTS-preload blijft bewust uit en geeft daarom alleen de verwachte Django-waarschuwing;- publieke host en HTTPS-origin worden aantoonbaar aan
ALLOWED_HOSTSenCSRF_TRUSTED_ORIGINStoegevoegd.
Repository en deployment
- repositoryvalidator: geslaagd;
- taakledger: geldig, 64 taken, 0 uitvoerbare ready-taken;
- Docker Compose, Unraid Compose en backlog-YAML: parseerbaar;
- shellsyntax van deploy- en entrypoints: geldig;
- Pythoncompilecheck: geslaagd;
git diff --check: geslaagd;- packagevalidatie en manifestcontrole: geslaagd na definitieve packaging.
Belangrijkste herstelde productieproblemen
DisallowedHostvoor de publieke Nginx-host;- publieke Django-debugmodus;
- verkeerde externe CSRF-origin met interne poort
1226; - healthchecks die door HTTPS-redirect konden falen;
- proceslokale rate limiting bij meerdere Gunicornworkers;
- onvoorwaardelijk vertrouwen in
X-Forwarded-For; - schrijfbare gedeelde demo;
- afwijkende Unraid
.env-paden; - database-URL-interpolatie buiten het Unraid-
env_file; - URL-import die zonder staticfilesmanifest kon falen tijdens deployment checks;
- stale project-/assetversie en verouderd verificatierapport.
Omgevingsbeperking
De normale uv sync --frozen kon in deze uitvoeringsomgeving geen packages downloaden door DNS-uitval. Voor de regressies zijn de pure Python-packages uit de door de gebruiker aangeleverde gelockte Windows-omgeving gecombineerd met reeds aanwezige Linux-wheels. Daardoor konden Django, pytest en de volledige offline suite betrouwbaar draaien.
De Ruff-Linuxbinary en Playwright-browser konden zonder netwerk niet worden geïnstalleerd. Pythoncompile, alle tests, Djangochecks, lijnlengtecontrole op gewijzigde Pythonbestanden en git diff --check zijn wel uitgevoerd. Een Dockerdaemon en de live Unraid/Nginx-omgeving waren niet beschikbaar.
Nog op de doelserver uitvoeren
- bestaande
.envback-uppen; scripts/configure_public_url.pyuitvoeren;- container met
--force-recreateherbouwen; - interne liveness/readiness controleren;
- publieke TLS-, login-, logout- en CSRF-smoke uitvoeren;
- demo-read-only controleren;
- exacte Nginx Proxy Manager-CIDR instellen wanneer individuele client-IP-rate-limiting gewenst is;
- databaseback-up en herstel-smoke uitvoeren.
Zie docs/operations/NGINX_PROXY_MANAGER.md en docs/quality/PRODUCTION_AUDIT_2026-07-27.md.