See every Flux cluster you run in one place. Jump anywhere with ⌘K, reconcile or suspend with a single key, and read logs, events and YAML without leaving the keyboard.
Watch changes ripple through a live dependency graph, and let Claude Code investigate for you over MCP.
Reconciliation finished in 285ms, next run in 10m0s
ReconciliationSucceeded 12m
Reconciliation finished in 266ms, next run in 10m0s
Search staging, or type : for commandsSearch… stagingAll clustersAll
Needs attention, staging
JOBnightly-report-29657955Job in reports · BackoffLimitExceeded: Job has reached the backoff limit staging
Clusters
PESwitch to prod-euProduction · eu-west-12
DVSwitch to devDevelopment · eu-west-13
STstagingStaging · eu-west-1current
Commands
Ask AI about nightly-report-29657955a
Jump to the owner of nightly-report-29657955CronJob/nightly-reportu
New thread about nightly-report-29657955c
Show what needs attentionstaging
↑↓ move↵ open1-9 switchTab all clusters: commands onlyesc close
An illustration built in HTML and CSS from the app's own design tokens. The colours mark the environment, and protected clusters carry a solid badge.
Production
Staging
Development
Who it's for
For teams that run Flux on more than one cluster
Platform and SRE teamsOne view of every cluster, without handing out kubeconfigs or exposing API servers.
People who live in the terminalA UI that keeps up with you. Search, reconcile, suspend and read logs from the keyboard.
Anyone who wants it openMulti-cluster is in the open-source edition, under Apache-2.0. Read it, run it, change it.
Features
Fast to use, hard to misuse
Multi-cluster, open source
A hub runs in your management cluster and a light agent runs in each workload cluster. Agents dial out to the hub, so no workload API server is exposed and the hub holds no cluster credentials.
dev
staging
prod-euprotected
Production
Staging
Development
Environment colours match the app: teal for development, violet for staging, orange for production. Protected clusters carry a solid badge and need a typed confirmation for writes.
Kubernetes RBAC is the permission model
Every read and action runs as the signed-in user, impersonated by the agent in each cluster. Each cluster decides what they may do. Eddy invents no roles, and it cannot do more than the user could with kubectl. Sign in with GitHub or OIDC (Google, Okta, Entra, Dex), and the agent's ServiceAccount stays read-only.
See sources, then each dependsOn layer, then what depends on them. When a reconcile starts, the change ripples through the graph live, so you can see what is blocked and why.
Add a cluster in a minute
The Add cluster wizard shows the install command with a one-time join token, then a live checklist ticks as the agent connects and syncs. No kubeconfig leaves your hands.
Fast
Agents stream summaries through informers and batched deltas, and the UI watches only the clusters on screen. Lists are virtualised and fleet search runs on the hub, so a big fleet stays responsive: we measure at 100 clusters × 15k resources.
Command palette and vim-style keys
⌘K searches every resource in every cluster. The rest of the keymap stays out of your way.
jmove down
kmove up
lopen
hback
rreconcile
Rreconcile with source
ssuspend
Llogs
aAsk AI
123switch cluster
?all keys
Keys shown are from the design prototype. Press ? in the app for the current list.
Threads and MCP for Claude Code
The hub serves an MCP endpoint. Claude Code, or any MCP client, can list clusters, find unhealthy resources across the fleet, read events and leave review threads that show up in the UI, marked via mcp. It acts with your identity, so it sees only what your RBAC allows. Create a token under Settings → Access tokens, then:
Then ask: "Review every failing HelmRelease across the fleet and leave a thread on each one with the likely cause."MCP and Claude Code docs
Ask AI
Ask AI: bring your model
Ask about a resource or a selection and get an answer grounded in what you can see. It is off by default.
v1.0 · ready
The Anthropic API.
AWS Bedrock through the Converse API, which is model-agnostic. Set any Bedrock model or inference profile that supports tool use as ai.bedrock.modelId: Claude, Amazon Nova (Lite, Pro, Premier), Meta Llama, Mistral and others.
Claude is the default and the model we test with. Others should work, and we would like to hear how it goes.
With Bedrock, data stays in your AWS account, with IAM through IRSA or Pod Identity.
Future · planned
OpenAI-compatible endpoints: self-hosted Ollama or vLLM, Azure OpenAI and others.
Guardrails, whichever model you use
Read-only tools only.
Answers are scoped to what the signed-in user can see (RBAC).
Secrets are redacted before anything reaches the model.
PostgreSQL (bring your own, for example CloudNativePG) with active/active hub replicas
Measured at 100 clusters × 15k resources: in our single-user benchmarks, fleet counts take about 10 ms, a 15k-row list about 100 ms and a fleet search about 35 ms
v1.1 · next
mTLS for agents (planned)
MCP OAuth (planned)
Hub-managed access: assign users to groups, with break-glass expiry (planned)