Infrastructure-as-code
This guide provides several infrastructure-as-code options for AWS, Azure, and GCP, as well as a Kubernetes Helm chart for Private Locations & Packages deployment. By leveraging the configurations & charts from gatling/gatling-enterprise-control-plane-deployment, you can quickly spin up Private Locations & Packages.
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 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.).
Kubernetes
Deploys the Control Plane container as a Kubernetes 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
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.
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.
CloudFormation
These templates contain nested stacks for Control Plane, Location, and optional Private Package resources.
Cloud Development Kit (CDK)
Typescript
This CDK application includes constructs for Control Plane, Location, and Private Package. Installation guide available here.
Java
This CDK application includes constructs for Control Plane, Location, and Private Package. Installation guide available here.
Terraform
The configuration consists of three modules: one for deploying the control plane, another for specifying the location, and a third for defining an optional private package.
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.
Terraform
The configuration consists of three modules: one for deploying the control plane, another for specifying the location, and a third for defining an optional private package.
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.
Terraform
The configuration consists of three modules: one for deploying the control plane, another for specifying the location, and a third for defining an optional private package.