assets/loadtest/helm/resources/README.md
This Helm chart can be used to programmatically spawn an arbitary number of resources in a Teleport cluster given a resource manifest.
It assumes a pre-existing k8s Teleport cluster and correctly authenticated kubectl client.
note: This is an experimental tool used for internal testing, do not use in production.
All commands run from assets/loadtest/
Create join token for the app service:
make create-token TYPE=node,app
# Note the output and export it:
export TOKEN=<token value>
# Export proxy address:
export PROXY_SERVER=example.teleport-test.com:443
# Set the version
export TELEPORT_VERSION="18.1.8"
Deploy application service agent:
make deploy-app-service
Prepare a tbot and the correct token:
make create-tbot-resources
Deploy tbot and create applications:
# This will spawn batch jobs using tbot credentials to run backend commands on the cluster.
# By default each app job will spawn 10 applications for a total of 10*$COUNT items in the backend.
make create-app-resources COUNT=1000 PARALLELISM=10
In the teleport-kube-agent logs you should see:
2025-09-02T08:57:10.170Z INFO [APP:SERVI] New resource matches, creating kind:app name:app6-7.example services/reconciler.go:175
And the app resources should show up in the web UI after logging in, or alternatively using tctl:
kubectl --namespace teleport exec -i deploy/teleport-auth -- tctl apps ls
To clean up:
make delete-app-resources delete-app-service