fleet/infrastructure/loadtesting/terraform/osquery_perf/main.tf
Jorge Falcon e952ef06c0
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](0c254bca40/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](0c254bca40/infrastructure/loadtesting/terraform/osquery_perf)
to reflect new steps
2025-10-08 15:31:37 -04:00

23 lines
1.3 KiB
HCL

data "aws_caller_identity" "current" {}
data "aws_region" "current" {}
data "git_repository" "tf" {
path = "${path.module}/../../../../"
}
module "osquery_perf" {
source = "github.com/fleetdm/fleet-terraform//addons/osquery-perf?ref=tf-mod-addon-osquery-perf-v1.2.0"
customer_prefix = local.customer
ecs_cluster = data.terraform_remote_state.infra.outputs.ecs_cluster
loadtest_containers = local.loadtest_containers
subnets = data.terraform_remote_state.shared.outputs.vpc.private_subnets
security_groups = data.terraform_remote_state.infra.outputs.security_groups
ecs_iam_role_arn = data.terraform_remote_state.infra.outputs.ecs_arn
ecs_execution_iam_role_arn = data.terraform_remote_state.infra.outputs.ecs_execution_arn
server_url = "http://${data.terraform_remote_state.infra.outputs.internal_alb_dns_name}"
osquery_perf_image = "${data.aws_ecr_repository.fleet.repository_url}:loadtest-${local.loadtest_tag}-${split(":", data.docker_registry_image.dockerhub.sha256_digest)[1]}"
extra_flags = var.extra_flags
logging_options = data.terraform_remote_state.infra.outputs.logging_config
enroll_secret_arn = data.terraform_remote_state.infra.outputs.enroll_secret_arn
}