Skip to content

Deployment Overview

┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌──────────┐
│ Clients │──────▶│ Server │◀──────│ Agent │──────▶│ Database │
│ (CLI / MCP) │ HTTP │ (REST API) │ poll │ (executor) │ SQL │(PG / MY) │
└─────────────┘ └─────────────┘ └─────────────┘ └──────────┘
  • Clients never touch the database. They submit requests to the server and retrieve results.
  • Server never touches the database. It manages approval state, audit logs, and routes requests.
  • Agent polls the server. It runs in a network that can reach the database and fetches approved work via outbound HTTP.

Server on a central host, agent on a host with database access, CLI on developer machines.

Developer laptop ──▶ Server (cloud VM) ◀── Agent (DB subnet) ──▶ PostgreSQL

One server, multiple agents for different databases or environments.

┌── Agent (staging) ──▶ Staging DB
Server ◀────────────────┤
└── Agent (prod) ──▶ Production DB

Agents register with capabilities; the server matches requests to the appropriate agent.

MethodPageBest for
Binary / systemdserver.md + agent.mdBare metal / VM
Docker Composedocker.mdSmall teams, single host
ECS Fargateecs.mdAWS native
Kuberneteskubernetes.mdK8s clusters
Helmhelm.mdGitOps / Helm-managed clusters

Binary / systemd: Deploy the server first, obtain bootstrap tokens, then deploy the agent.

server.md and agent.md are component references. All platform-specific pages (Docker, ECS, K8s, Helm) link back to them for configuration details.

FromToPortProtocolPurpose
ClientServer3000HTTP/HTTPSSubmit requests, get results
AgentServer3000HTTP/HTTPSPoll for work, report results
AgentDatabase5432/3306PostgreSQL/MySQLExecute queries

The server needs no inbound access from the agent’s network — the agent initiates all connections outbound.

Transport security: The agent refuses to start if its [server].url is external HTTP (non-private IP, non-localhost). Use HTTPS for the agent→server connection, or set allow_insecure = true if TLS is handled at a network layer not visible in the URL.

  1. No DB credentials on clients — credentials exist only in the agent’s config
  2. Signed execution tokens — Ed25519 signatures prevent request tampering
  3. RBAC — admin, developer, readonly roles enforced by the server
  4. Audit log — every operation recorded with hash-chain integrity
  5. Fail-closed workflows — if policy evaluation fails, the request is denied (not auto-approved)