Performance Testing Framework
Status: Planning
Category: HIP (Integration Platform)
Created: 2026-02-04
Overview
Ad-hoc load testing framework for the API federation platform, enabling self-service performance testing across sandbox environments.
Quick Links
- Decision Record - Complete architectural decisions and implementation plan
Key Decisions
- Tool: k6 (over Gatling, Locust, JMeter)
- Deployment: K8s Jobs on separate test cluster (over operator or GitLab Runner)
- Architecture: GitLab CI triggers K8s Jobs on test cluster → Jobs target SUT cluster
- Network Design: Separate test cluster avoids GitLab→SUT network bottleneck
- Test Generation: GitLab CI with API catalog integration
- Execution: Distributed load via Job
completionsparameter - Target: Separate sandbox-sut environment
- Observability: InfluxDB + Grafana + GitLab reporting
Deployment Approach Comparison
The decision record includes a comprehensive comparison matrix evaluating 6 approaches:
- k6 + Operator | k6 + K8s Job ⭐ | k6 + GitLab Runner
- Gatling + Operator | Gatling + K8s Job | Gatling + GitLab Runner
Comparison is split into:
- Priority Concerns: Quality of reporting, ease of reporting, time to first test, time to MVP, maturity, ease of use, ease of horizontal scaling
- Other Concerns: Setup complexity, resource isolation, network policies, observability, etc.
Our Choice: k6 + K8s Job provides the best balance of speed (2-4 hours to first test), quality reporting, and avoids network bottlenecks.
Key Advantage: We already have Grafana deployed for SUT monitoring. k6’s built-in InfluxDB export (--out influxdb=...) connects to existing Grafana in 30 minutes with official dashboards, providing unified observability for load tests + SUT metrics. Gatling would require plugin setup (2-3 hours) for similar integration.
Implementation Phases
- Phase 1: Foundation (1-2 weeks) - Basic k6 operator + GitLab CI
- Phase 2: Self-Service (1-2 weeks) - Catalog-driven test generation
- Phase 3: Observability (1 week) - Metrics and dashboards
- Phase 4: Advanced (2-3 weeks) - Multi-scenario, regression detection
Project Structure
.ai/projects/hip/perf-testing/
├── README.md # This file
├── metadata.json # Project metadata
└── decision-record.md # Complete decision documentation
Next Actions
- Review and approve decision record
- Answer open questions (see decision record)
- Create implementation project (BMAD or Codev format)
- Begin Phase 1 implementation
Tags
performance load-testing k6 gitlab-ci argocd sandbox api-federation