Agentina
Built for production agent fleets

Everything you need to run agents that don't stop

Most AI runtimes assume one process, one task, one machine. Agentina is the opposite — long-lived agents, distributed across hardware you own, observed and controlled from one place.

The four pillars

What's in the box

Every Agentina deployment ships with these four surfaces working together.

Agent runtime

The binary that lives on your machines. Crash-recoverable, reboot-safe, signed updates, structured logs out of the box.

Control plane

The brain. Issues licenses, mints activation tokens, receives heartbeats, applies revocations, exposes audit history.

Distribution

Signed tarballs + manifests served from a CDN you can self-host. One-line installer. Channel-aware (stable / beta / enterprise-lts).

Observability

OTel traces, structured logs, scheduler activity events, sprint dependency graphs — the whole fleet, in real time.
Long-running runtime

Built to survive everything that breaks long-running processes

Agents start with systemd on Linux and resume their last task on reboot. Heartbeats every 60 seconds keep the control plane up to date; missed heartbeats trigger automatic re-registration, never silent drift.

When the network drops, agents queue work locally and reconcile on reconnect — no lost state, no double-execution. Every run streams structured events to disk first, then to the control plane.

Updates are pulled from the signed distribution channel of your choice. Agents verify the signature against a baked-in public key before launching the new binary, then atomically swap. No mid-update window, no half-running state.

agent.service
[Unit]
Description=Agentina agent
After=network-online.target

[Service]
Type=simple
User=agentina
ExecStart=/usr/local/bin/agentina-agent
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target
control-plane
# /v1/portal/tokens ─ JSON API
POST {
  "valid_for_seconds": 1209600
}

# customer portal ─ same operation
https://agentina.example.com/portal
  → Activation
  → Mint token
Control plane

One operator surface, every machine you own

The Control Plane runs as a single Fastify process backed by Postgres + Redis. Launch it with npm start, deploy it under pm2, or drop it into Docker — same binary, same surfaces.

The customer portal is a server-rendered Next.js app with a left-sidebar layout. Manage agents, mint activation tokens, invite teammates, see your subscription — all in one place.

Every JSON endpoint that powers the portal is also a public API. Mint a token from the UI or from a CI script — same audit trail, same signature, same lifecycle.

Signed everything

Cryptographic identity from manifest to license

Every release tarball has an attached .sig file signed with an Ed25519 key the agent holds in its baked-in trust set. The agent refuses to launch a binary whose signature doesn't verify.

Licenses are RS256-signed JWTs — fingerprint-bound, time-bound, revocation-aware. The agent verifies them locally on every start; the control plane verifies them on every heartbeat. Tampered or copied licenses are rejected without a network round-trip.

Activation tokens (act_*) are single-use, time-bound, scoped to a specific customer + org. Reused tokens are rejected and audited.

license.jwt
{
  "sub":        "agt_01H7Z...",
  "customer":   "01926...",
  "max_agents": 25,
  "fingerprint":"sha256:e1ad...",
  "exp":        1748131200,
  "iat":        1745539200,
  "iss":        "https://cp.agentina.example.com"
}
install.sh
# default: stable channel
curl -fsSL https://install.agentina.example.com \
  | AGENTINA_TOKEN=act_xxx sh

# enterprise-lts channel, custom install dir
curl -fsSL https://install.agentina.example.com \
  | AGENTINA_TOKEN=act_xxx \
    AGENTINA_CHANNEL=enterprise-lts \
    AGENTINA_PREFIX=/opt/agentina \
    sh
Distribution

One-line install, channel-aware updates

The installer is a 200-line bash script — no curl-pipe-bash surprises, you can read it before you run it. It downloads the manifest for your chosen channel, verifies the signature, drops the binary at /usr/local/bin/agentina-agent, and registers the systemd unit.

Pick from four channels: stable (default), beta, dev, enterprise-lts (12-month support window). Switch any time by re-running the installer with --channel.

Self-host the distribution endpoint on your own CDN if you want every byte to flow through infrastructure you control. The manifest format is documented and stable.

Specialized roles

Pre-built agent personas

Compose them into pipelines, swap them for your own, or run a single role across an entire fleet. Each one ships as a feature flag on your license.

Coder

Implements the work item. Reads the repo, plans changes, writes the diff, runs the test suite, opens the PR.

Reviewer

Reads diffs, asks for revisions, approves when standards are met. Catches the common mistakes before a human looks.

Tester

Writes test cases for new code, runs the full suite, isolates regressions, files reproduction bugs.

Planner

Decomposes feature requests into work items with dependencies. Maintains the sprint board.

UI tester

Drives a real browser via Playwright. Verifies visual + interaction behavior, screenshots regressions.

Indexer

Maintains an embedding index of your repos so other agents find context fast. Tree-sitter chunking, incremental updates.
Observability

Know what your fleet is doing right now

OpenTelemetry traces from agent → control plane → database, with the request-id propagated end-to-end. Plug your own collector or use ours.

Structured pino logs (level/time/service/version/...) ready for any log pipeline. Sensitive fields (auth headers, cookies, tokens) auto-redacted.

Real-time scheduler activity events stream to your portal so you can watch capacity decisions as they happen — no F5, no log-tailing dance.

log.json
{
  "level":   "info",
  "time":    "2026-05-10T02:34:11.521Z",
  "service": "agentina-agent",
  "agent_id":"agt_01H7Z...",
  "task_id": "tsk_01H7Z...",
  "duration_ms": 1843,
  "msg":     "task completed"
}

Ready to put one in production?

Pick a plan, run the installer, watch your first agent come online — about 90 seconds end to end.