-
01
No database to run.
Replicas agree on every change with the Raft consensus algorithm and keep their own encrypted copy of the state. No etcd, Consul, Redis or Postgres next to it.
RaftEncrypted at rest
-
02
Traffic never waits for a majority.
Lose most of the cluster and every surviving replica keeps routing with the last routes and certificates. Only changes pause, and the interface says so in plain words: “Changes are paused.”
Proxying needs no quorum
-
03
One secret. Then just docker stack deploy.
Create the root key once. Replica certificates, the cluster’s certificate authority and the data keys rotate by themselves. Deploying, upgrading and scaling is a stack file and docker stack deploy.
Self-rotating keysRolling updates
-
04
It never touches the Docker socket.
Access to the Docker API is root on your hosts, so Apiary doesn’t ask for it. Routes come from the interface, its API, your AI agents, or your stack files through your pipeline.
Least privilege
-
05
Routes live next to your services.
Declare routes as labels in the stack file. apiary apply sends them from your pipeline in one all-or-nothing write, with a dry run for merge requests. Fields set by labels are locked in the interface.
GitLabGitHub ActionsJenkinsAzure Pipelines
-
06
Your AI agent works with your permissions. No more.
A built-in MCP server, with Apiary as its own OAuth authorisation server. Agents sign in as you and get your role. Private keys and backups never pass through them.
MCPOAuth with PKCE
-
07
It refuses to route to itself.
Loopback, link-local and cloud metadata addresses, and Apiary’s own ports, are refused. It checks the address each connection actually reaches, so DNS rebinding doesn’t get through either.
SSRF protection
-
08
Every change is counted and audited.
A change and its audit entry are written in the same Raft entry, so nothing changes unrecorded: who, from where, through the interface, an agent or a pipeline.
Audit log1-year retention by default
-
09
Recovery without guesswork.
If most replicas are lost for good, a forced recovery picks the most recent survivor, shows what may be lost before it starts, and signs everyone out, so a lost revocation can’t give access back.
Never automatic