Deploy a Tentacle
Deploy a tentacle from local development to a running Kubernetes cluster.
Prerequisites
Section titled “Prerequisites”tntcCLI installed and configured with an MCP endpoint- A tentacle project that passes
tntc validate - Docker installed (for image builds)
- Secrets configured (
.secrets.yamlor.secrets/)
1. Validate the Tentacle
Section titled “1. Validate the Tentacle”tntc validatetntc testtntc secrets checkEnsure no validation errors, all tests pass, and all secrets are provisioned.
2. Check Cluster Readiness
Section titled “2. Check Cluster Readiness”tntc cluster checkThis validates:
- MCP server is reachable
- Namespace can be created
- gVisor RuntimeClass exists (warning if missing)
- NetworkPolicy support is available
3. Build the Image
Section titled “3. Build the Image”Option A: Full build + push
tntc build --pushCreates a workflow-specific image with the Deno engine embedded and pushes to your configured registry.
Option B: Reuse existing image
tntc deploy --image ghcr.io/yourorg/tentacular-engine:latestSkips the build step — only updates the ConfigMap with code changes. ~5-10 second deployment.
4. Deploy
Section titled “4. Deploy”tntc deployThis:
- Parses and validates
workflow.yaml - Resolves the base image
- Generates ConfigMap with
workflow.yaml+nodes/*.ts - Generates K8s manifests (Deployment, Service, NetworkPolicy)
- Provisions secrets to K8s
- Ensures enclave exists (via MCP
enclave_provisionif needed) - Applies all manifests (via MCP
wf_apply)
5. Verify Deployment
Section titled “5. Verify Deployment”# Check deployment statustntc status my-tentacle --detail
# View logstntc logs my-tentacle --tail 20
# Trigger a manual runtntc run my-tentacle
# Security audittntc audit my-tentacleVerification
Section titled “Verification”tntc statusshows healthy deployment with ready replicastntc logsshows clean startup with no errorstntc runreturns expected outputtntc auditshows clean RBAC, NetworkPolicy, and PSA
Failure Modes
Section titled “Failure Modes”| Failure | Cause | Resolution |
|---|---|---|
MCP not configured | Missing endpoint in config | Run tntc configure with --env |
image pull error | Wrong registry or tag | Check --image flag or .tentacular/base-image.txt |
secret not found | Secrets not provisioned | Run tntc secrets check and fix |
NetworkPolicy deny | Contract missing dependency | Add dependency to contract.dependencies |
RuntimeClass not found | gVisor not installed | Deploy with --runtime-class "" or install gVisor |
namespace not ready | MCP server permissions | Check MCP server RBAC |