Deployment
Deploy with Kubernetes
Helm-based deployment to Mac Studio k3s staging/prod and optional GKE
Kubernetes deploys use a single chart (deploy/k8s/chart) with target-specific values overlays.
Targets
| Target | Namespace | Release | Values file |
|---|---|---|---|
mac-staging | tx-staging | tx-agent-kit-staging | deploy/k8s/chart/values.mac-staging.yaml |
mac-prod | tx-prod | tx-agent-kit-prod | deploy/k8s/chart/values.mac-prod.yaml |
gke-staging | tx-agent-kit-loadtest (default) | tx-agent-kit-loadtest | deploy/k8s/chart/values.gke.staging.yaml |
gke-prod | tx-agent-kit-loadtest (default) | tx-agent-kit-loadtest | deploy/k8s/chart/values.gke.prod.yaml |
Commands
# Deploy Mac k3s staging/prod
pnpm deploy:k8s:mac:staging deploy/artifacts/images-<sha>.env
pnpm deploy:k8s:mac:prod deploy/artifacts/images-<sha>.env
# Dedicated Mac staging verification lane (not part of default integration suites)
pnpm deploy:k8s:verify:staging deploy/artifacts/images-<sha>.env
# Optional GKE deployment from the same artifact
pnpm deploy:k8s:gke deploy/artifacts/images-<sha>.envWhat the deploy script does
- Renders environment values from 1Password templates with
op inject. - Combines rendered env + image artifact into Helm runtime values.
- Runs
helm upgrade --installfor the selected target. - Waits for rollout status of
api,worker, and optional collector. - For Mac targets, reconciles and checks Cloudflare tunnel routing.
- Runs smoke checks against
API_EXTERNAL_BASE_URLwhen configured.
Optional tunnel-check controls for deploy scripts:
RUN_TUNNEL_RECONCILE=0skips tunnel reconcile/check.RUN_TUNNEL_CHECK=0reconciles tunnel but skips health checks.RUN_TUNNEL_CHECK_SOFT_FAIL=1keeps deploy green when tunnel health checks fail.
Status and rollback
pnpm deploy:k8s:status mac-staging
pnpm deploy:k8s:status mac-prod
pnpm deploy:k8s:status gke
pnpm deploy:k8s:rollback mac-staging <revision>
pnpm deploy:k8s:rollback mac-prod <revision>
pnpm deploy:k8s:rollback gke <revision>Assumptions and Defaults
- Mac Studio runner has
k3s,kubectl,helm,op, andcloudflared.