Loading...
Loading...
Deploys applications to TrueFoundry. Handles single HTTP services, async/queue workers, multi-service projects, and declarative manifest apply. Supports `tfy apply`, `tfy deploy`, docker-compose translation, and CI/CD pipelines. Use when deploying apps, applying manifests, shipping services, or orchestrating multi-service deployments.
npx skill4agent add truefoundry/tfy-agent-skills deployRouting note: For ambiguous user intents, use the shared clarification templates in references/intent-clarification.md.
| User Intent | Action | Reference |
|---|---|---|
| "deploy", "deploy my app", "ship this" | Single HTTP service | deploy-service.md |
| "attach this deployment to mcp gateway", "register deployed mcp service", "connect deployment to mcp gateway" | Post-deploy MCP registration | Use |
| "mount this file", "mount config file", "mount certificate file", "mount key file" | Single service with file mounts (no image rebuild) | deploy-service.md |
| "tfy apply", "apply manifest", "deploy from yaml" | Declarative manifest apply | deploy-apply.md |
| "deploy everything", "full stack", docker-compose | Multi-service orchestration | deploy-multi.md |
| "async service", "queue consumer", "worker" | Async/queue service | deploy-async.md |
| "deploy LLM", "serve model" | Model serving intent (may be ambiguous) | Ask user: dedicated model serving ( |
| "deploy helm chart" | Helm chart intent | Confirm Helm path and collect chart details, then proceed with |
| "deploy postgres docker", "dockerized postgres", "deploy redis docker", "database in docker/container" | Containerized database intent | Proceed with |
| "deploy database", "deploy postgres", "deploy redis" | Ambiguous infra intent | Ask user: Helm chart ( |
# 1. Check credentials
grep '^TFY_' .env 2>/dev/null || true
env | grep '^TFY_' 2>/dev/null || true
# 2. Derive TFY_HOST for CLI (MUST run before any tfy command)
export TFY_HOST="${TFY_HOST:-${TFY_BASE_URL%/}}"
# 3. Check CLI
tfy --version 2>/dev/null || echo "Install: pip install truefoundry"
# 4. Check for existing manifests
ls tfy-manifest.yaml truefoundry.yaml 2>/dev/nullTFY_BASE_URLTFY_API_KEY.envTFY_HOSTtfyTFY_WORKSPACE_FQNreferences/prerequisites.mdreferences/prerequisites.mdWARNING: Never use. Thesource .envscript handlestfy-api.shparsing automatically. For shell access:.envgrep KEY .env | cut -d= -f2-
# tfy CLI expects TFY_HOST when TFY_API_KEY is set
export TFY_HOST="${TFY_HOST:-${TFY_BASE_URL%/}}"
# Preview changes
tfy apply -f tfy-manifest.yaml --dry-run --show-diff
# Apply
tfy apply -f tfy-manifest.yaml# tfy CLI expects TFY_HOST when TFY_API_KEY is set
export TFY_HOST="${TFY_HOST:-${TFY_BASE_URL%/}}"
# tfy deploy builds remotely — use for local code or git sources
tfy deploy -f truefoundry.yaml --no-waitdoes NOT supporttfy apply. Usebuild_sourcefor source-based deployments.tfy deploy -f
name: my-service
type: service
image:
type: image
image_uri: docker.io/myorg/my-api:v1.0
ports:
- port: 8000
expose: true
app_protocol: http
resources:
cpu_request: 0.5
cpu_limit: 1
memory_request: 512
memory_limit: 1024
ephemeral_storage_request: 1000
ephemeral_storage_limit: 2000
env:
LOG_LEVEL: info
replicas: 1
workspace_fqn: "WORKSPACE_FQN_HERE"TFY_API_SH=~/.claude/skills/truefoundry-deploy/scripts/tfy-api.sh
bash $TFY_API_SH GET '/api/svc/v1/apps?workspaceFqn=WORKSPACE_FQN&applicationName=SERVICE_NAME'applicationstfy_applications_list(filters={"workspace_fqn": "WORKSPACE_FQN", "application_name": "SERVICE_NAME"})TFY_API_SH=~/.claude/skills/truefoundry-deploy/scripts/tfy-api.sh
bash $TFY_API_SH GET '/api/svc/v1/apps?workspaceFqn=WORKSPACE_FQN&applicationName=SERVICE_NAME'BUILDINGDEPLOYINGDEPLOY_SUCCESSDEPLOY_FAILEDmcp-servershttps://.../mcpstreamable-httpsseheaderoauth2passthroughreferences/cli-fallback.mdtfy-api.shdocker-compose.ymlcompose.yamlDockerfileservices/apps/frontend/backend/references/deploy-service.mdreferences/deploy-multi.mdtfy-secret://env:
LOG_LEVEL: info # plain text OK
DB_PASSWORD: tfy-secret://my-org:my-service-secrets:DB_PASSWORD # sensitivetfy-secret://<TENANT_NAME>:<SECRET_GROUP_NAME>:<SECRET_KEY>TFY_BASE_URLsecretsreferences/deploy-service.mdmountstype: secrettype: config_maptype: volumereferences/deploy-service.md| Reference | Contents |
|---|---|
| Complete YAML field reference (single source of truth) |
| Per-service-type defaults with YAML templates |
| CLI detection and REST API fallback pattern |
| Extract cluster ID, base domains, available GPUs |
| CPU, memory, GPU sizing rules of thumb |
| Startup, readiness, liveness probe configuration |
| GPU types and VRAM reference |
| Pinned container image versions |
| Credential setup and .env configuration |
| Full REST API manifest reference |
| Reference | Used By |
|---|---|
| deploy-service |
| deploy-service |
| deploy-service |
| deploy-service |
| deploy-service |
| deploy-apply |
| deploy-apply |
| deploy-multi |
| deploy-multi |
| deploy-multi |
| deploy-multi |
| deploy-multi |
| deploy-async |
| deploy-async |
| deploy-async |
| deploy-async |
workspacesapplicationslogssecretshelmllm-deploymcp-serversservice-test