Polycrate API

Overview of the Polycrate API: web UI and backend for workspaces, Kubernetes resources, monitoring and team operations. Components, feature areas, UI sections, first steps and the technology stack.

Polycrate API

Web UI and backend for workspaces, Kubernetes resources, monitoring and team operations. Complements the local CLI; blocks continue to come from the Polycrate Hub.

Component Role
CLI Local actions, blocks, Git, operator in the cluster
API UI, reconciliation, alerts, audit, multi-tenancy
Hub OCI registry / marketplace for blocks
graph TB
    CLI[Polycrate CLI] -->|ActionRuns / Sync| API[Polycrate API]
    CLI -->|Pull / Push| Hub[Polycrate Hub]
    Agent[Monitoring Agent] -->|Checks| API
    Op[Operator] -->|CRs| API

Audience

Platform and ops teams that want to see and control many workspaces and clusters centrally — including MSP scenarios with multiple organizations.

Features (overview)

Area Content
Workspaces & Blocks Status, versions, action run history
Kubernetes Clusters, apps, volumes, backups (Velero/CNPG), Addons
Networking LoadBalancers, endpoints, Domains & DNS
Storage S3 clusters and buckets
Operations Conditions, Criticality, maintenances, incidents, Operations Dashboard
Security / Compliance Credentials, audit, Vulnerability Management
Observability Endpoint checks, VictoriaMetrics/VictoriaLogs, Metrics API
AI / MCP Read-only access from the IDE: MCP (platform) · local: CLI MCP · chat in the UI: Assistant
HTTP SDKs Go, Python, JS from GitHub: HTTP SDKs
IaaS Provider Accounts for compute and OpenAI-compatible connections

Action runs: the CLI reports executions to the API (audit, logs, exit codes) when API access is configured.

Backups in the UI are usually read-only (status from the cluster); trigger/restore stays with Velero/CNPG or the blocks.

Web UI areas

  • Dashboard — alerts, recent runs, cluster health, maintenances
  • Workspaces / Blocks — configuration, APM hints, run history
  • Kubernetes / Storage / Networking — as in the table above
  • Monitoring — endpoints, agents, alerts, log explorer
  • Collaboration — tasks, notes, knowledge base, conversations
  • Credentials / Administration — secrets, users, orgs, API keys, SystemConfig

Getting started

Connect the CLI (~/.polycrate/polycrate.yml):

api:
  enabled: true
  url: https://<your-api-host>
  api_key: <your-api-key>
  submit_action_runs: true

After that a polycrate run <block> <action> is typically enough — the workspace and its runs appear in the UI.

Stack

Django application with PostgreSQL, Redis (cache/queue), VictoriaMetrics/VictoriaLogs, Keycloak (SSO) and Alpine.js in the UI.

graph TB
    CLI[CLI] -->|ActionRuns| API[API]
    Agent[Agent] -->|Checks| API
    API --> DB[(PostgreSQL)]
    API --> Redis[(Redis)]
    API --> VL[(VictoriaLogs)]
    API --> VM[(VictoriaMetrics)]
    API --> KC[Keycloak]

Topics