Vintner

Tendrils

Registering, monitoring, and managing Tendril execution agents.

Tendrils

Tendrils are the execution agents that run Terraform on behalf of users. The Tendrils page manages their lifecycle. For how Tendrils work internally, see the Tendril Agent documentation.

Tendrils Page

Located at /dashboard/tendrils, showing:

Status Filters

  • All, ONLINE, OFFLINE, DRAINING

Filter by Tendril name.

Data Table

ColumnDescription
NameTendril identifier
Typecloud-hosted or self-hosted
RegionAWS region (cloud-hosted only)
StatusBadge: ONLINE (green), DRAINING (yellow), OFFLINE (red)
VersionTendril release version
CreatedRegistration timestamp
ActionsDeploy, update, remove buttons

Active Jobs Section

A separate table showing jobs currently assigned to Tendrils (QUEUED, CLAIMED, or PROCESSING).

Update Alert

If outdated Tendrils are detected (version < latest release), an alert appears with an "Update All" button that queues UPDATE_WORKER jobs for each outdated Tendril.

Adding a Tendril

Click "Add Tendril" to open the registration sheet with two tabs:

Provisions a Tendril automatically in ECS Fargate:

  1. Select a cloud identity and region
  2. Click Deploy → queues a DEPLOY_WORKER job
  3. The job provisions: ECS task definition, IAM roles, CloudWatch log group, security groups
  4. After ~2 minutes, the Tendril appears as ONLINE

Cloud-hosted Tendrils support scale-to-zero — they shut down when no jobs are queued and restart automatically when needed.

For running Tendril on your own infrastructure:

  1. Enter a name for the Tendril
  2. Click Register → generates a worker_id and worker_token
  3. Copy the credentials (shown once, never stored in plaintext)
  4. Set the environment variables on your machine and run the Tendril binary

See Self-Hosted Mode for full setup instructions.

The worker token is shown only once at registration. If lost, the Tendril must be re-registered. See Authentication Flows for how token verification works.

Status Indicators

Status is determined by heartbeat recency:

StatusMeaningHeartbeat
ONLINEReady to accept jobsWithin last 60 seconds
DRAININGFinishing current job, not accepting new onesSent with DRAINING flag
OFFLINEMissed heartbeat, jobs will be requeued> 60 seconds ago

Real-time Updates

The Tendrils page subscribes to workers table changes and provision_jobs changes via Supabase Realtime. Status changes, new registrations, and job assignments appear instantly.

Version Tracking

Each Tendril reports its version on heartbeat. The page shows:

  • Current version per Tendril
  • Latest available version (from worker_releases table)
  • Release Notes dialog showing the changelog for each version

When a new Tendril release is published via the CI pipeline, existing cloud-hosted Tendrils are updated via UPDATE_WORKER jobs that trigger ECS force-new-deployment.

On this page