fleet/infrastructure/loadtesting/terraform/osquery_perf/enroll.sh
Jorge Falcon 34cb7ab6d1
Loadtest internal alb logging and osquery-perf scaling updates (#42581)
- Configures internal alb to log to the same bucket as the public alb
- Adds support for osquery-perf task size (cpu/memory) configuration
- Updates defaults for osquery-perf extra_flags
- Updates default enroll.sh loop sleep_time from 60s -> 300s
2026-03-31 11:15:07 -04:00

37 lines
1 KiB
Bash
Executable file

#!/bin/bash
set -e
# Script for enrolling osquery-perf hosts by `terraform apply`ing in increments of 8 `loadtest` containers.
# NOTE(lucas): This is the currently known configuration that won't tip the loadtest environment,
# but maybe in the future we can be more aggressive (and reduce enroll time).
#
# ./enroll.sh my-branch 8 240
BRANCH_NAME=$1
TASK_SIZE=${2:?}
START_INDEX=$3
END_INDEX=$4
SLEEP_TIME_SECONDS=${5:-60}
INCREMENT=${6:-8}
if [ -z "$BRANCH_NAME" ]; then
echo "Missing BRANCH_NAME"
fi
if [ -z "$START_INDEX" ]; then
echo "Missing START_INDEX"
fi
if [ -z "$END_INDEX" ]; then
echo "Missing END_INDEX"
fi
if [ -z "$TASK_SIZE" ]; then
echo "Missing TASK_SIZE"
fi
# We add this check to avoid terraform (error-prone) locking in case of typos.
# read -p "You will use BRANCH_NAME=$BRANCH_NAME. Continue? "
set -x
for (( c=$START_INDEX; c<=$END_INDEX; c+=$INCREMENT )); do
terraform apply -var git_tag_branch=$BRANCH_NAME -var task_size="$TASK_SIZE" -var loadtest_containers=$c -auto-approve
sleep $SLEEP_TIME_SECONDS
done