Deployment
Cloudflare Tunnel
Expose Mac-hosted k3s API endpoints through Cloudflare tunnel
Mac-hosted API environments are exposed over the internet through host-level cloudflared.
Local development tunnel (pnpm dev)
You can expose the local API server during development without running Kubernetes tunnel scripts:
DEV_CLOUDFLARE_TUNNEL_ENABLED=true pnpm devpnpm dev will start cloudflared automatically and stop it when dev processes exit.
Optional local-dev variables:
DEV_CLOUDFLARE_TUNNEL_URL(defaults tohttp://127.0.0.1:${API_PORT})DEV_CLOUDFLARE_TUNNEL_TOKEN(named tunnel mode; if set, URL mode is skipped)DEV_CLOUDFLARE_TUNNEL_LOG_FILE(default.data/cloudflared/dev-tunnel.log)DEV_CLOUDFLARE_TUNNEL_LOCK_DIR(default/tmp/tx-agent-kit-dev-tunnel.lock)DEV_CLOUDFLARE_TUNNEL_STALE_TIMEOUT_SECONDS(default120)DEV_CLOUDFLARE_TUNNEL_MISSING_PID_GRACE_SECONDS(default15)
Only one worktree can own dev tunnel startup at a time. If another worktree already owns the lock, pnpm dev skips tunnel startup and continues local dev processes.
Check lock ownership/status:
pnpm dev:tunnel:statusReconcile and health check
pnpm deploy:tunnel:reconcile dev
pnpm deploy:tunnel:reconcile staging
pnpm deploy:tunnel:reconcile prod
pnpm deploy:tunnel:reconcile both
pnpm deploy:tunnel:reconcile all
pnpm deploy:tunnel:check dev
pnpm deploy:tunnel:check staging
pnpm deploy:tunnel:check prod
pnpm deploy:tunnel:check both
pnpm deploy:tunnel:check allRequired environment variables
CLOUDFLARE_TUNNEL_IDCLOUDFLARE_TUNNEL_CREDENTIALS_FILECLOUDFLARE_TUNNEL_HOST_DEV(required when reconciling/checkingdevorall)CLOUDFLARE_TUNNEL_HOST_STAGINGCLOUDFLARE_TUNNEL_HOST_PROD
Optional environment variables
CLOUDFLARE_TUNNEL_UPSTREAM_DEV(defaulthttp://127.0.0.1:4000)CLOUDFLARE_TUNNEL_UPSTREAM_STAGING(defaulthttp://127.0.0.1:32080)CLOUDFLARE_TUNNEL_UPSTREAM_PROD(defaulthttp://127.0.0.1:32081)CLOUDFLARE_TUNNEL_CONFIG_PATHCLOUDFLARED_RESTART_COMMANDCLOUDFLARE_TUNNEL_MANAGE_DNS=1
Routing model
api-dev.your-domain.comroutes to your dev API upstream (defaulthttp://127.0.0.1:4000).api-staging.your-domain.comroutes to Mac staging API service.api.your-domain.comroutes to Mac prod API service.- Deploy scripts run tunnel reconciliation/check before smoke tests for Mac Kubernetes deploys.
Example host plan
api-dev.your-domain.com->CLOUDFLARE_TUNNEL_HOST_DEVapi-staging.your-domain.com->CLOUDFLARE_TUNNEL_HOST_STAGINGapi.your-domain.com->CLOUDFLARE_TUNNEL_HOST_PROD