Infrastructure-as-code

This guide provides several infrastructure-as-code options for Private Locations & Packages deployment:

  • Terraform scripts for AWS, Azure, and GCP
  • a Helm chart for Kubernetes and OpenShift

Prerequisites

  • Control Plane Token: You must have a valid organization with Private Locations activated and store your control plane token in a supported secret manager, such as AWS Secrets Manager, Azure Key Vault, GCP Secret Manager, or Kubernetes Secrets.
  • Deployment environment: A cloud account or a Kubernetes or OpenShift cluster with the necessary administrative permissions.
  • IaC Tools: Depending on your chosen provider and approach, install the relevant tools (e.g., Terraform, Cloud Provider CLI, Helm, Kubectl, etc.).

Helm chart for Kubernetes and OpenShift

Deploys the Control Plane container as a Kubernetes or OpenShift deployment, along with the required Role, ServiceAccount, and RoleBinding, enabling it to spawn batch jobs that create one or more pods as load generators with defined resource limits and requests.

Helm charts versions are available on the Gatling Helm subdomain https://helm.gatling.io.

  • Follow installation steps available here.
  • Values file provides 3 sets of values—controlPlane, privateLocations, and an optional privatePackage—with fully configurable parameters for customizing the deployment. Optionally supports storing Private Packages in an existing S3 bucket, Azure Blob Storage, GCP Cloud Storage, or Control Plane’s volume.

Terraform for AWS

Deploys the Control Plane container on Elastic Container Service (ECS) using Fargate and creates the necessary IAM permissions to spawn EC2 instances as load generators in your VPC. Optionally supports storing Private Packages in an existing S3 bucket.

AWS Terraform Control Plane Module: gatling/control-plane/aws

Terraform for Azure

Deploys the Control Plane container on a Container App using a Container App Environment, utilizes an existing storage account as a volume, and creates the necessary role assignments to spawn EC2 instances as load generators in your VPC. Optionally, it supports storing private packages in an existing storage account.

Azure Terraform Control Plane Module: gatling/control-plane/azure

Terraform for GCP

Deploys the Control Plane container on a Container App using a Container App Environment, utilizes an existing storage account as a volume, and creates the necessary role assignments to spawn EC2 instances as load generators in your VPC. Optionally, it supports storing private packages in an existing storage account.

GCP Terraform Control Plane Module: gatling/control-plane/gcp

Edit this page on GitHub