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.