fleet/infrastructure/loadtesting/terraform/osquery_perf/providers.tf

85 lines
3 KiB
Terraform
Raw Normal View History

Loadtesting IAC updates (#32629) # Github Actions (New) - New workflow to deploy/destroy loadtest infrastructure with one-click (Needs to be tested) - Common inputs drive configuration and deployment of loadtest infrastructure - tag - fleet_task_count - fleet_task_memory - fleet_task_cpu - fleet_database_instance_size - fleet_database_instance_count - fleet_redis_instance_size - fleet_redis_instance_count - terraform_workspace - terraform_action - New workflow to deploy/destroy osquery-perf to loadtest infrastructure with one-click (Needs to be tested) - Common inputs drive configuration and deployment of osquery-perf resources - tag - git_branch - loadtest_containers - extra_flags - terraform_workspace - terraform_action - New workflow to deploy shared loadtest resources with one-click (Needs to be tested) # Loadtest Infrastructure (New) - New directory (`infrastructure/loadtesting/terraform/infra`) for one-click deployment - Loadtest environment updated to use [fleet-terraform modules](https://github.com/fleetdm/fleet-terraform) - [Deployment documentation updated](https://github.com/fleetdm/fleet/blob/0c254bca4018bcf2421ae37f652f9191fb028adf/infrastructure/loadtesting/terraform/infra/README.md) to reflect new steps # Osquery-perf deployment (New) - New directory (`infrastructure/loadtesting/terraform/osquery-perf`) for the deployment of osquery-perf - osquery-perf updated to use [fleet-terraform modules](https://github.com/fleetdm/fleet-terraform) - [Deployment documentation updated](https://github.com/fleetdm/fleet/tree/0c254bca4018bcf2421ae37f652f9191fb028adf/infrastructure/loadtesting/terraform/osquery_perf) to reflect new steps
2025-10-08 19:31:37 +00:00
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = ">= 5.68.0"
}
docker = {
source = "kreuzwerker/docker"
version = "~> 3.6.0"
Loadtesting IAC updates (#32629) # Github Actions (New) - New workflow to deploy/destroy loadtest infrastructure with one-click (Needs to be tested) - Common inputs drive configuration and deployment of loadtest infrastructure - tag - fleet_task_count - fleet_task_memory - fleet_task_cpu - fleet_database_instance_size - fleet_database_instance_count - fleet_redis_instance_size - fleet_redis_instance_count - terraform_workspace - terraform_action - New workflow to deploy/destroy osquery-perf to loadtest infrastructure with one-click (Needs to be tested) - Common inputs drive configuration and deployment of osquery-perf resources - tag - git_branch - loadtest_containers - extra_flags - terraform_workspace - terraform_action - New workflow to deploy shared loadtest resources with one-click (Needs to be tested) # Loadtest Infrastructure (New) - New directory (`infrastructure/loadtesting/terraform/infra`) for one-click deployment - Loadtest environment updated to use [fleet-terraform modules](https://github.com/fleetdm/fleet-terraform) - [Deployment documentation updated](https://github.com/fleetdm/fleet/blob/0c254bca4018bcf2421ae37f652f9191fb028adf/infrastructure/loadtesting/terraform/infra/README.md) to reflect new steps # Osquery-perf deployment (New) - New directory (`infrastructure/loadtesting/terraform/osquery-perf`) for the deployment of osquery-perf - osquery-perf updated to use [fleet-terraform modules](https://github.com/fleetdm/fleet-terraform) - [Deployment documentation updated](https://github.com/fleetdm/fleet/tree/0c254bca4018bcf2421ae37f652f9191fb028adf/infrastructure/loadtesting/terraform/osquery_perf) to reflect new steps
2025-10-08 19:31:37 +00:00
}
git = {
source = "metio/git"
version = "2025.10.10"
Loadtesting IAC updates (#32629) # Github Actions (New) - New workflow to deploy/destroy loadtest infrastructure with one-click (Needs to be tested) - Common inputs drive configuration and deployment of loadtest infrastructure - tag - fleet_task_count - fleet_task_memory - fleet_task_cpu - fleet_database_instance_size - fleet_database_instance_count - fleet_redis_instance_size - fleet_redis_instance_count - terraform_workspace - terraform_action - New workflow to deploy/destroy osquery-perf to loadtest infrastructure with one-click (Needs to be tested) - Common inputs drive configuration and deployment of osquery-perf resources - tag - git_branch - loadtest_containers - extra_flags - terraform_workspace - terraform_action - New workflow to deploy shared loadtest resources with one-click (Needs to be tested) # Loadtest Infrastructure (New) - New directory (`infrastructure/loadtesting/terraform/infra`) for one-click deployment - Loadtest environment updated to use [fleet-terraform modules](https://github.com/fleetdm/fleet-terraform) - [Deployment documentation updated](https://github.com/fleetdm/fleet/blob/0c254bca4018bcf2421ae37f652f9191fb028adf/infrastructure/loadtesting/terraform/infra/README.md) to reflect new steps # Osquery-perf deployment (New) - New directory (`infrastructure/loadtesting/terraform/osquery-perf`) for the deployment of osquery-perf - osquery-perf updated to use [fleet-terraform modules](https://github.com/fleetdm/fleet-terraform) - [Deployment documentation updated](https://github.com/fleetdm/fleet/tree/0c254bca4018bcf2421ae37f652f9191fb028adf/infrastructure/loadtesting/terraform/osquery_perf) to reflect new steps
2025-10-08 19:31:37 +00:00
}
}
backend "s3" {
bucket = "fleet-terraform-state20220408141538466600000002"
key = "loadtesting/loadtesting/osqp/terraform.tfstate" # This should be set to account_alias/unique_key/terraform.tfstate
workspace_key_prefix = "loadtesting" # This should be set to the account alias
region = "us-east-2"
encrypt = true
kms_key_id = "9f98a443-ffd7-4dbe-a9c3-37df89b2e42a"
dynamodb_table = "tf-remote-state-lock"
assume_role = {
role_arn = "arn:aws:iam::353365949058:role/terraform-loadtesting"
}
}
}
provider "aws" {
region = "us-east-2"
default_tags {
tags = {
environment = "loadtest"
terraform = "https://github.com/fleetdm/fleet/tree/main/infrastructure/loadtesting"
state = "s3://fleet-terraform-state20220408141538466600000002/loadtesting/${terraform.workspace}/loadtesting/loadtesting/osqp/terraform.tfstate"
workspace = "${terraform.workspace}"
}
}
}
data "terraform_remote_state" "infra" {
backend = "s3"
workspace = terraform.workspace
config = {
bucket = "fleet-terraform-state20220408141538466600000002"
key = "loadtesting/loadtesting/terraform.tfstate" # This should be set to account_alias/unique_key/terraform.tfstate
workspace_key_prefix = "loadtesting" # This should be set to the account alias
region = "us-east-2"
encrypt = true
kms_key_id = "9f98a443-ffd7-4dbe-a9c3-37df89b2e42a"
dynamodb_table = "tf-remote-state-lock"
assume_role = {
role_arn = "arn:aws:iam::353365949058:role/terraform-loadtesting"
}
}
}
data "terraform_remote_state" "shared" {
backend = "s3"
config = {
bucket = "fleet-terraform-state20220408141538466600000002"
key = "loadtesting/loadtesting/shared/terraform.tfstate" # This should be set to account_alias/unique_key/terraform.tfstate
workspace_key_prefix = "loadtesting" # This should be set to the account alias
region = "us-east-2"
encrypt = true
kms_key_id = "9f98a443-ffd7-4dbe-a9c3-37df89b2e42a"
dynamodb_table = "tf-remote-state-lock"
assume_role = {
role_arn = "arn:aws:iam::353365949058:role/terraform-loadtesting"
}
}
}
provider "docker" {
# Configuration options
registry_auth {
address = "${data.aws_caller_identity.current.account_id}.dkr.ecr.us-east-2.amazonaws.com"
username = data.aws_ecr_authorization_token.token.user_name
password = data.aws_ecr_authorization_token.token.password
}
}
provider "git" {}