Skip to main content

Agent installation

The unified TensorCost agent runs inside your compute footprint and reports GPU + workload metrics back to TensorCost. This page is the customer-side install playbook.
If a step here doesn’t match what you see in the console, or a command fails in a way this page doesn’t cover, page support — that’s a documentation bug we want to fix.

What the agent does

  • Detects EC2 / EKS / GKE / AKS / bare-metal context automatically via IMDSv2 (where available).
  • Reports GPU health, MIG topology, NVML samples, container/pod context, and Spot interruption events back to TensorCost.
  • Talks to TensorCost over plain HTTPS by default. A long-lived gRPC stream (TCP/50051, TLS-terminated) is available as an opt-in transport for lower-latency delivery and inbound commands — see transport modes below.
  • Receives commands (start/stop/scale, drain, run-policy) only when both the gRPC transport is enabled and the tenant admin has explicitly granted the agent execution scope.

Requirements

Get your credentials

The agent authenticates with per-agent credentials minted from the console — there’s no CloudFormation stack or IAM role involved in the agent install itself (that pattern is used for the separate Bedrock connection, not for the GPU agent).
1

Open the agent page

In the console, go to Integrations → Agents → Add agent.
2

Pick a hostname and mint credentials

Name the agent (typically the host or node name) and confirm. The console mints a tenant ID, agent hostname, key ID, API key, and HMAC signing value.
The API key and HMAC value are shown once. Copy the generated install command before closing the dialog — TensorCost stores only a hash and cannot show you the plaintext again. If you lose it, rotate the credential from the same page.
3

Copy the install command

The console shows a ready-to-run command with your credentials already filled in. Copy it — that’s everything you need for the next step.

Install

The agent image is published publicly on Amazon ECR Public — no login required to pull it.
For GPU access, add --gpus all (or mount the NVIDIA driver libraries read-only if you’re not using the NVIDIA Container Toolkit).
The image is currently published under the latest tag only — there isn’t a pinned semver tag to reference yet. Re-pulling latest and restarting the container is today’s upgrade path; see upgrades.

Kubernetes

There’s no published Helm chart yet — a helm repo add for TensorCost doesn’t resolve today. Until one ships, run the same public image as a DaemonSet using your own manifest, mounting the credentials from the console as a Secret and setting the same environment variables as the Docker example above. Ask support if you’d like a starting-point manifest.

Terraform

Not currently offered. If Terraform-managed rollout matters to your team, tell us — it’ll inform whether we build and publish a module.

Transport modes

By default the agent talks to TensorCost over HTTPS, authenticated with AGENT_API_KEY. This works through standard corporate egress rules and is the simplest option. Setting COMM_MODE=grpc (or both, to run HTTPS and gRPC side by side) additionally opens a long-lived gRPC stream to a regional endpoint (shown in the console when you enable it) on TCP/50051, authenticated by an HMAC-SHA256-signed AgentHello built from AGENT_KEY_ID and AGENT_HMAC_PEPPER. gRPC is what enables inbound commands (pause/resize/drain) and is lower-latency, but it needs an extra egress rule most HTTPS-only environments don’t have open by default. Credential rotation today is manual and customer-driven: rotate from Integrations → Agents, then update the running container’s environment and restart it. There’s no fixed rotation schedule enforced automatically yet. For the full ingress design, see agent ingress in the SOC 2 readiness guide.

Verification — did the agent connect?

1

Open Agents

Integrations → Agents. Your agent should appear with a recent last-seen timestamp shortly after startup.
2

Confirm metrics flow

Sidebar → GPU fleet. GPU utilization, memory, and temperature should populate within a few minutes.
3

Check the container logs

Startup logs report which monitors initialized (NVML, cloud discovery, gRPC if enabled) and log a warning naming anything that failed to start — that’s the fastest way to tell “not connecting” from “connected but nothing to report.”

Configuration reference

The agent reads environment variables. These are the ones you’re most likely to need beyond what the console gives you:

Core

gRPC transport (only when COMM_MODE=grpc or both)

NVML / GPU sampling

Cloud discovery (optional)

Enable the clouds you want the agent to tag instances against. On EC2 with an instance profile, IMDS supplies most of this automatically.

Upgrades

There’s no versioned release channel today — the published image is public.ecr.aws/g2c6m0v1/agent:latest. To upgrade:
We’ll document a pinned-tag upgrade path once semver releases ship. Critical security patches are announced via your tenant’s notification channel.

Common day-1 failures

When stuck, page support via your shared Slack Connect channel, or email support@tensorcost.com with the container logs.

Data the agent collects

Outbound traffic is TLS-encrypted. No customer data is written to disk beyond the agent’s own rotating local log file.