#4748·agones

Cleanup: Remove expensive performance testing infrastructure, scripts, and documentation

Author: igoochCreated Sep 18, 2026Updated Sep 21, 2026
Labelskind/cleanup

Is your feature request related to a problem? Please describe. The Agones performance testing cluster is expensive to run, and we have not actively utilized the data from it in over a year. Leaving the unused infrastructure-as-code, scripts, and documentation in the repository adds expensive maintenance overhead.

Describe the solution you'd like Per discussion in the comments below: delete the live performance test cluster and its CI trigger, but keep the Terraform, scripts, and Cloud Build config in the repo so the cluster and tests can be spun up in the future.

Specific cleanup tasks include:

Infra to remove in the GCP project:

  • Export/snapshot the metrics and dashboards from the last performance test runs and attach them somewhere durable (this issue, or build/docs/) so there is a baseline to compare against after the allocator refactor.
  • Disable/delete the Cloud Build trigger in the agones-images project that runs ci/perf-test-cloudbuild.yaml.
  • Destroy the performance test cluster (standard-performance-test-cluster-1-35, us-central1) via terraform destroy in build/terraform/performance/ — do not delete the Terraform code.
  • After terraform destroy completes, delete the agones-images-performance-infra-bucket-tfstate state bucket.

Documentation to update:

  • build/docs/performance-testing.md: reframe from "the continuously running cluster" to a manual runbook for provisioning, running, and tearing down the performance tests. Note prominently that the cluster is large and expensive — runs should be planned, budgeted, and torn down promptly:
    • Bootstrap the state bucket via build/terraform/performance/state-bucket/.
    • Create the cluster via terraform init/apply in build/terraform/performance/.
    • Run the tests manually (gcloud builds submit --config=ci/perf-test-cloudbuild.yaml or build/performance-test.sh).
    • Destroy the cluster and state bucket afterwards.
  • ci/perf-test-cloudbuild.yaml: add a header comment stating the automated trigger has been removed and the config is retained for manual runs.
  • .github/ISSUE_TEMPLATE/kubernetes_update.md: replace the "Recreate the performance test cluster" section with a version-bump-only step — update kubernetes_versions in build/terraform/performance/module.tf and _TEST_CLUSTER_NAME in ci/perf-test-cloudbuild.yaml so the dormant code stays current, with no terraform apply against a live cluster.
  • build/README.md: keep the Performance Testing link, update the description to note the tests are run manually and require provisioning a (costly) dedicated cluster.

Kept in the repo so the tests can be provisioned and run manually when a planned need arises:

  • build/terraform/performance/ (cluster and state-bucket modules)
  • build/performance-test.sh
  • test/load/allocation/
  • ci/perf-test-cloudbuild.yaml

Describe alternatives you've considered Deprecate and remove all code, CI steps, and documentation associated with the performance test cluster.

Instead of maintaining expensive, dedicated infrastructure, a future initiative could explore integrating a lightweight performance test directly into our CI/CD pipeline (for example, utilizing a simulated environment like a kwok cluster). If there is community interest in this approach, it should be tracked and scoped as a separate feature request.

Additional context This will help us clean up the codebase and reduce the operational costs associated with running the performance test cluster.