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.
What's in the box
Every Agentina deployment ships with these four surfaces working together.
Agent runtime
Control plane
Distribution
Observability
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.
[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
# /v1/portal/tokens ─ JSON API
POST {
"valid_for_seconds": 1209600
}
# customer portal ─ same operation
https://agentina.example.com/portal
→ Activation
→ Mint token
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.
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.
{
"sub": "agt_01H7Z...",
"customer": "01926...",
"max_agents": 25,
"fingerprint":"sha256:e1ad...",
"exp": 1748131200,
"iat": 1745539200,
"iss": "https://cp.agentina.example.com"
}# 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 \
shOne-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.
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
Reviewer
Tester
Planner
UI tester
Indexer
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.
{
"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.