- Cache-mode selector: Normal, No-cache headers, Cache-bust URL+headers
- Cache-bust appends random ?_cb= per iteration to bypass CDN/proxy
- gzip toggle: on = k6 default (Accept-Encoding: gzip/br), off = identity
- Both options stored in DB with non-destructive migration
- History items show cache-mode and gzip pills
- Schema migration handles existing DBs gracefully
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Multi-stage Dockerfile builds k6 from source (grafana/k6)
- Express backend with SSE live output streaming
- SQLite-backed test history with delete support
- Frontend: URL input, VUs, duration, RPS limit, custom headers
- Persisted via Docker volume, listens on port 8118
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>