* Reorganized infrastructure, updated for frontend's loadtesting * Add changes suggested by @chiiph * Moved files per suggestion by Ben * Update docs with new links * Add config for multi account assume role |
||
|---|---|---|
| .. | ||
| docker | ||
| elasticsearch_ansible | ||
| state | ||
| .terraform-version | ||
| backend-frontend-loadtesting.conf | ||
| backend-loadtesting.conf | ||
| ecr.tf | ||
| ecs-iam.tf | ||
| ecs-sgs.tf | ||
| ecs.tf | ||
| elasticsearch.sh | ||
| elasticsearch.tf | ||
| firehose.tf | ||
| loadtesting.tf | ||
| locals.tf | ||
| main.tf | ||
| outputs.tf | ||
| r53.tf | ||
| rds.tf | ||
| readme.md | ||
| redis.tf | ||
| variables.tf | ||
| vpc.tf | ||
Terraform for Loadtesting Environment
The interface into this code is designed to be minimal. If you require changes beyond whats described here, contact @zwinnerman-fleetdm.
Deploying your code to the loadtesting environment
- Push your branch to https://github.com/fleetdm/fleet and wait for the build to complete (https://github.com/fleetdm/fleet/actions)
- Initialize your terraform environment with
terraform init - Apply terraform with your branch name with
terraform apply -var tag=BRANCH_NAME
Running migrations
After applying terraform with the commands above:
aws ecs run-task --region us-east-2 --cluster fleet-backend --task-definition fleet-migrate:"$(terraform output -raw fleet_migration_revision)" --launch-type FARGATE --network-configuration "awsvpcConfiguration={subnets="$(terraform output -raw fleet_migration_subnets)",securityGroups="$(terraform output -raw fleet_migration_security_groups)"}"
Running a loadtest
We run simulated hosts in containers of 5,000 at a time. Once the infrastructure is running, you can run the following command:
terraform apply -var tag=BRANCH_NAME -var loadtest_containers=8
With the variable loadtest_containers you can specify how many containers of 5,000 hosts you want to start. In the example above, it will run 40,000.