Skip to content

Conversation

@wenfix
Copy link
Contributor

@wenfix wenfix commented Jan 8, 2026

Description

This PR implements infrastructure-agnostic improvements to the load testing system that can be completed before DevOps involvement. All functionality works locally and is designed with abstraction layers ready for AWS integration.

  • ADDED:

    • Environment configuration system supporting dev/UAT/prod environments via environment variables or config file (ready for AWS Secrets Manager integration)
    • Result uploader abstraction with local file system implementation (S3-ready interface)
    • Metadata collection for test results (runner type detection, git SHA, container ID)
    • --environment CLI option to auto-resolve relay URLs from configuration
    • Docker support: Dockerfile, build scripts, and container detection
    • GitHub Actions workflows: load test workflow with manual dispatch and production approval, Docker image build workflow
    • Comprehensive documentation in README with usage examples
    • Local workflow testing script for simulating GitHub Actions locally
    • Example environment configuration file
  • CHANGED:

    • Enhanced CLI to support environment-based configuration alongside explicit target URLs
    • Extended TestResults type with metadata fields (environment, gitSha, runnerType, containerId)
    • Improved error handling and validation for environment configuration

Key Features

  • Fully testable locally: All functionality works without AWS infrastructure
  • Abstraction layers: Ready for AWS Secrets Manager and S3 integration without code changes
  • Production safety: Manual approval required for production environment in GitHub Actions
  • Platform-aware: Works on macOS, Linux, and in Docker containers

Testing

All functionality has been tested locally:

  • ✅ Direct CLI usage with explicit targets
  • ✅ Environment-based configuration (env vars and config file)
  • ✅ Both test scenarios (connection-storm, steady-state)
  • ✅ Docker container execution
  • ✅ Local workflow script
  • ✅ Error handling and validation
  • ✅ Result generation with metadata

Next Steps

After DevOps sets up AWS infrastructure:

  • Implement AWS Secrets Manager integration for environment URLs
  • Implement S3 uploader for result storage
  • Update GitHub Actions workflow to use ECS/EC2/Lambda
  • Add CloudWatch integration for logging and metrics

Checklist

  • Tests are included if applicable
  • Any added code is fully documented

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants