Kubernetes-Supercharged Django Applications
The battle-tested, cloud-native application server built specifically to integrate Django seamlessly with Kubernetes. Zero-configuration deployment, deep health probe lifecycles, edge security shields, and real-time Prometheus observability.
Built for Production Excellence
Native Kubernetes Lifecycles
Dedicated probe server running on port 8001 with /startup, /alive, and /ready endpoints. Prevents pod restarts during long database migrations and automatically sheds Ingress traffic under queue congestion.
Fast-404 Security Shield
Instantly drops automated scanners (probing for .php, /.env, /wp-admin/) at the gateway in microseconds. Protects Django middleware, session caches, and database connection pools from bot scans.
Token-Bucket Rate Limiter
Gateway rate limiting with client IP extraction via X-Forwarded-For for Kubernetes Ingress and load balancers. Silently drops volumetric floods with zero log spam to prevent log-based Denial of Service.
Prometheus Metrics
Built-in /metrics exposition scraping request counts, latency averages, and queue depth. POSIX shared memory buffers aggregate cross-worker state atomically with sub-microsecond overhead.
Zero-Config WSGI & ASGI
Drop into your existing project with python manage.py serve. Hurricane auto-detects WSGI_APPLICATION or ASGI_APPLICATION from your Django settings without complex config files.
Lifecycle Webhooks
Asynchronous webhook dispatches notifying monitoring services, Slack, or orchestrators when pods complete startup, experience deadlock health failures, or initiate graceful termination.
The Django + Kubernetes Advantage
Django was developed with a batteries-included philosophy and gracefully handles complex web application challenges. However, modern infrastructure requires cloud-native patterns: ephemeral containers, dynamic autoscaling, and real-time health feedback.
It's Not Just About Running in a Cluster
Anyone can run Django in a container behind Gunicorn. But Kubernetes requires more:
- Migration Synchronization: Database migrations run during pod startup must not be slain by aggressive readiness timers.
- Traffic Shedding: When a pod's worker queue is temporarily saturated, Kubernetes should divert traffic to siblings rather than terminating the container.
- Deadlock Detection: When worker threads hang on an unresponsive database socket, the server should signal the kubelet to restart the container automatically.
- Edge Attack Immunity: Automated bot vulnerability scans (
wp-login.php,.env) should never consume Django database connections or worker threads.
Hurricane solves these architectural friction points directly at the server layer, giving your Django applications the reliability and resilience required in modern cloud platforms.
Proven Track Record
Developed and maintained by Blueshoe and open-source contributors:
- Battle-tested in Production: Running critical Django workloads across enterprise Kubernetes clusters since 2020.
- Thorough Test Coverage: Comprehensive test suite with automated Kubernetes end-to-end (k3d) validation and cross-process telemetry tests.
- Independently Benchmarked: 2x throughput increase and 100% elimination of false probe flaps verified in the django-hurricane-bench suite.
- Cloud-Native Standards: Fully compliant with CNCF standards, OpenMetrics, and 12-factor application guidelines.
Quickstart
1. Install Hurricane
uv add django-hurricane
pip install django-hurricane
2. Add to INSTALLED_APPS
INSTALLED_APPS = [
# Standard Django apps...
"django.contrib.admin",
"django.contrib.auth",
# ...
# Add Hurricane:
"hurricane",
]
3. Launch Your Server
python manage.py serve
2026-10-21 12:00:00 INFO hurricane.server.general Django Hurricane web server active.
2026-10-21 12:00:00 INFO hurricane.server.fast_404 Fast-404 active in prefix mode (9 prefixes, 31 signatures)
2026-10-21 12:00:00 INFO hurricane.server.limiter Rate limiter active: 10.0 req/s (burst: 30) [IP Header: X-Forwarded-For]
2026-10-21 12:00:00 INFO hurricane.server.general Starting probe application running on port 8001 (/startup, /alive, /ready, /metrics)
2026-10-21 12:00:00 INFO hurricane.server.general Starting HTTP Server on port 8000
2026-10-21 12:00:00 INFO hurricane.server.general Startup time is 0.114 seconds
Community & Support
Have questions, architectural ideas, or need help optimizing your deployment? Join the community:
