Trust model
Ankra is a SaaS control plane; the work inside your cluster is done by the Ankra Agent. The agent makes outbound-only connections over NATS JetStream, authenticating with per-agent JWT credentials and rotating session tokens. Ankra never needs inbound network access to your cluster and there are no inbound ports to open. Desired state lives in Git - a repository you control is the source of truth, and the platform reconciles clusters towards it.- Outbound only - the agent initiates every connection; nothing on Ankra’s side can reach into your network. See Network Requirements for the exact endpoints.
- Per-agent identity - each agent holds its own JWT credentials, and session tokens rotate rather than living forever.
- Git is the source of truth - cluster definitions, Stacks, and add-on configuration are committed to your repository, so every change is diffable and revertable. See GitOps.
The agent’s privileges, honestly
The agent pod is hardened: it runs as non-root, with a read-only root filesystem, all Linux capabilities dropped, and seccompRuntimeDefault. It also runs with a cluster-admin service account - that is what lets Ankra deploy add-ons, reconcile Stacks, and proxy authenticated kubectl for the whole cluster. We state this plainly rather than hiding it, because any tool that manages arbitrary workloads needs equivalent reach.
What constrains that privilege:
- Draft, approval, commit - every AI-proposed write becomes a draft that a human approves before it is applied and recorded as an attributed Git commit. The AI never mutates a cluster directly.
- Drift detection with guardrails - reconciliation runs inside sync windows and prune guards, so Ankra converges clusters towards Git instead of making surprise deletions.
- Per-release lease serialisation - only one operation can mutate a given release at a time, and steps are idempotent and retry-safe.
- Append-only audit log - every administrative change is recorded and cannot be edited or deleted. See Audit Log.