#!/bin/bash # Staircase load test against the tokamak public API (prod or dev). # Usage: ./scripts/tokamak-load.sh [env] # Example (gentle first run): # ./scripts/tokamak-load.sh 2 2 1m 4 set -euo pipefail START=${1:?start rps required} STEP=${2:?step rps required} DUR=${3:?step duration required, e.g. 2m} STEPS=${4:?number of steps required} ENVIRONMENT=${5:-prod} NAME="tokamak-$(date +%s)" PROM_RW="http://prometheus.monitoring.svc:9090/api/v1/write" case "$ENVIRONMENT" in prod) BASE="https://api.blueocean.ai/public/v1" ;; dev) BASE="https://api.dev.blueocean.ai/public/v1" ;; *) echo "env must be prod or dev"; exit 1 ;; esac kubectl -n loadtest apply -f - < $MAX rps (+$STEP each), $DUR holds" echo " auth: k8s secret tokamak-api-key" echo "Watch: Grafana -> 'k6 Step Load' dashboard (filter testid=$NAME)" echo "Logs: kubectl -n loadtest logs -f job/$NAME" echo "Stop: kubectl -n loadtest delete job $NAME"