Official website and developer workspace UI for Kranix IO — an open-source, AI-native control plane for Docker and Kubernetes.
Built as an IDE-inspired workspace: panel navigation, explorer sidebar, integrated terminal, command palette, and MDX-powered docs.
Live site: https://kranix.prodevopsguytech.com
Kranix gives you a single interface to deploy, manage, debug, and heal container infrastructure — whether you are running a local Docker container, a kind cluster, or production Kubernetes.
- MCP-compatible — AI agents operate infrastructure through the same API as the CLI
- GitOps-native —
KranixAppmanifests reconciled from Git - Multi-backend — Docker, Kubernetes, Podman, and remote nodes
Learn more: github.com/kranix-io · Documentation · Discussions
Kranix is split into focused repositories. Each layer has a single responsibility; nothing touches infrastructure except through the stack below.
kranix-cli ──┐
kranix-mcp ──┼──► kranix-api ──► kranix-core ──► kranix-runtime
│ │ │
│ │ ├──► kranix-operator
│ │ └──► kranix-packages (shared types)
│ │
kranix-web ─┘ (this repo — docs & portal UI)
| Repository | Role |
|---|---|
| kranix-core | Orchestration engine — reconciliation, scheduling, state, events |
| kranix-api | REST / gRPC front door — auth, validation, streaming |
| kranix-runtime | Docker / Kubernetes / remote node drivers |
| kranix-operator | GitOps operator — KranixApp, KranixPolicy, KranixSecret CRDs |
| kranix-cli | Human-facing CLI — deploy, logs, analyze, diff, rollback |
| kranix-mcp | MCP server for AI agents |
| kranix-packages | Shared types, SDKs (Go/TS/Python/Rust), mock API |
| kranix-charts | Helm charts — install full platform on Kubernetes |
| kranix-examples | Quickstarts, AI agent samples, GitOps, reference architectures |
| kranix-web | This repo — docs portal and workspace UI |
Full docs for each layer live on the site under Writing (/writing/kranix-*) or in each repo’s README.
The orchestration engine — state, scheduling, and reconciliation for the Kranix platform.
kranix-core is the brain of the ecosystem. It owns all business logic: reconciliation loops, workload scheduling, state management, event routing, and policy enforcement. Every other repo either sends work into core or gets driven by core.
- Maintains desired vs actual state for all managed workloads
- Runs continuous reconciliation (Git intent → runtime state)
- Schedules deployments across backends via kranix-runtime
- Routes events between API and runtime drivers on a typed event bus
- Enforces policies: resource limits, namespace isolation, rollout rules, workload priority, cron gates, aggregate quotas
- Supports drift detection, event sourcing, health gates, circuit breakers, and warm standby
Observe current state → Compare to desired → Compute diff → Apply → repeat
Desired state is merged from three sources:
| Source | Examples |
|---|---|
| Git manifests | KranixApp CRDs in a repo |
| API intent | POST /deploy from CLI or MCP |
| AI intent | Agent actions via kranix-mcp |
Every managed unit is a Workload with spec, status, and immutable history. Notable spec areas:
- Cron — five-field schedule, timezone, concurrency policy (
allow/forbid/replace) - Scheduling —
workload_priority(critical|high|normal|low), spot/preemption hints - Quotas — hard aggregate CPU/memory/workload limits per namespace or team (
kranix.io/team) - Cross-namespace traffic — peer namespace allow lists for NetworkPolicy
- Rollback history — versioned spec snapshots for instant revert
- Circuit breaker & warm standby — open circuit can auto-promote a linked standby workload
- Secret rotation — dependents marked
pending_restartwhen secrets rotate
API receives request
→ WorkloadDeployRequested
→ WorkloadScheduled
→ Runtime executes
→ WorkloadRunning / WorkloadFailed
git clone https://github.com/kranix-io/kranix-core
cd kranix-core
go mod download
go run ./cmd/core --config ./config/local.yamlREST / gRPC interface — the unified entry point for all Kranix clients.
kranix-api is intentionally thin: no scheduling or policy logic lives here. It authenticates clients, validates requests, and delegates to kranix-core.
kranix-cli ──┐
kranix-mcp ──┼──► kranix-api ──► kranix-core
- Versioned REST (
/api/v1/...) and gRPC - Authentication — API keys (
krane_...), JWT, OIDC - Request validation — cron, GPU, cross-namespace traffic, workload priority
- SSE / gRPC streams for logs and live events
- Audit logs for every mutating action
- Rate limiting and namespace quotas
- Dry-run —
?dryRun=truepreviews changes without applying - Cursor pagination, bulk ops, workload diff, changelog breaking-change notifications
http://localhost:8080/api/v1
| Area | Examples |
|---|---|
| Workloads | POST /workloads, GET /workloads, PATCH /workloads/:id, POST /workloads/:id/restart |
| Pods | GET /workloads/:id/pods, GET /pods/:id/logs (SSE) |
| Analysis | GET /workloads/:id/analyze, POST /manifests/generate |
| Quotas | GET/PUT /api/v1/quotas/{namespace}, usage endpoints |
| Streaming | GET /api/sse — live workload events |
| Audit | GET /api/v1/audit, resource history merged with core event sourcing |
| Bulk | POST /api/v1/workloads/bulk — deploy / restart / delete in one call |
Authorization: Bearer <token>| Type | Use case |
|---|---|
API key (krane_...) |
CI/CD, service accounts |
| JWT | Human users via kranix-cli |
| OIDC | SSO / enterprise IdP |
Optional IP allowlist on API keys (allowedIps at creation time).
git clone https://github.com/kranix-io/kranix-api
cd kranix-api
go mod download
go run ./cmd/api --config ./config/local.yamlFor kranix-web, CLI, or MCP client development:
cd ../kranix-packages
go run ./cmd/kranix-mock-api -addr :18080 -skip-auth=truePoint clients at http://localhost:18080.
Infrastructure drivers — Docker, Kubernetes, Podman, Compose, remote nodes.
Driven only by kranix-core. Implements RuntimeDriver from kranix-packages. Maps cron → CronJob, priority → PriorityClass, spot tolerations, and cross-namespace NetworkPolicy on Kubernetes.
| Backend | Status |
|---|---|
| Docker | Stable |
| Kubernetes | Stable |
| Podman / Compose | Stable |
| Remote SSH | Beta |
github.com/kranix-io/kranix-runtime
GitOps bridge —
KranixApp,KranixPolicy,KranixPipeline,KranixSecret,KranixDriftAlertCRDs.
Watches CRDs in-cluster, forwards to core, writes status back to .status. Supports canary/blue-green, federation, secret sync (Vault/AWS/Azure), drift alerts, and admission webhooks.
apiVersion: kranix.io/v1alpha1
kind: KranixApp
metadata:
name: api-server
spec:
image: myorg/api:v1.4.2
replicas: 3github.com/kranix-io/kranix-operator
Human terminal UX — pure API client.
kranix login --server http://localhost:8080 --api-key krane_...
kranix deploy --name my-app --image nginx:latest
kranix logs my-app --follow
kranix analyze my-app
kranix context profile switch stagingInstall: brew install kranix-io/tap/kranix or curl -fsSL https://get.kranix.io | sh
github.com/kranix-io/kranix-cli
MCP server for AI agents (Claude, GPT, custom).
Exposes deploy_workload, stream_logs, analyze_workload, natural_language_deploy, dry-run, healing, runbooks, multi-agent tasks, and per-agent audit. Agents cannot modify namespaces, RBAC, or read secrets directly.
KRANIX_API_URL=http://localhost:8080 KRANIX_API_KEY=... kranix-mcp startgithub.com/kranix-io/kranix-mcp
Shared SDK — types,
RuntimeDriverinterface, auth, errors, multi-language clients.
No business logic. Includes kranix-mock-api for local testing. All repos depend on packages; packages depend on nothing else in the ecosystem.
github.com/kranix-io/kranix-packages
Helm — one-command platform install on Kubernetes.
helm repo add kranix https://charts.kranix.io
helm install kranix kranix/kranix -n kranix-system --create-namespaceUmbrella chart: core + api + operator + optional MCP + CRDs + RBAC. Standalone sub-charts available.
github.com/kranix-io/kranix-charts
Runnable examples — quickstart → production blueprints.
| Path | Use case |
|---|---|
quickstart/docker-hello-world |
First deploy without Kubernetes |
ai-agents/claude-deploy-app |
MCP + Claude |
gitops/single-app-gitops |
KranixApp GitOps loop |
reference-architectures/microservices-platform |
Full platform pattern |
git clone https://github.com/kranix-io/kranix-examplesgithub.com/kranix-io/kranix-examples
kranix-web is not part of the runtime control plane. It is the public face of the project:
- Workspace UI (overview, projects, experiments, writing, notes, gallery, activity, contact)
- MDX documentation served under
/writingand/notes - SEO metadata, sitemap, and PWA manifest for kranix.prodevopsguytech.com
| Layer | Tools |
|---|---|
| Framework | Next.js 16 (App Router) |
| UI | React 19, Tailwind CSS 4 |
| Content | Fumadocs MDX |
| State | Zustand |
| Motion | Motion |
| Icons | Phosphor Icons |
git clone https://github.com/kranix-io/kranix-web.git
cd kranix-web
pnpm install
pnpm devOpen http://localhost:3000.
pnpm build # Production build
pnpm start # Serve production build
pnpm lint # Run ESLint
pnpm lint:fix # Auto-fix lint issueskranix-web/
├── content/
│ ├── writing/ # Guides (Fumadocs MDX)
│ └── notes/ # Architecture notes
├── public/ # sitebanner.png, fonts, favicons
├── src/
│ ├── app/ # Next.js routes & metadata
│ ├── components/panels/
│ └── components/workspace/
└── source.config.ts
| Route | Purpose |
|---|---|
/overview |
Platform dashboard |
/projects |
All 10 ecosystem repos (core, api, runtime, operator, cli, mcp, packages, charts, examples, web) |
/experiments |
Roadmap & research |
/writing |
MDX docs |
/notes |
Internal architecture |
/gallery |
Diagrams & visuals |
/activity |
Dev activity feed |
/contact |
Links & install |
| Shortcut | Action |
|---|---|
⌘K / Ctrl+K |
Command palette |
Terminal help |
Built-in shell commands |
Add MDX under content/writing/:
---
title: My Guide
description: Short summary
date: 2026-05-19
tags: ["api", "core"]
category: "Platform"
---pnpm build
pnpm startProduction URLs are configured in src/app/layout.tsx, src/app/sitemap.ts, and src/app/robots.ts (https://kranix.prodevopsguytech.com).
| Variable | Description |
|---|---|
NEXT_PUBLIC_APP_VERSION |
From package.json via next.config.ts |
- Every CLI action is available via the API
- Every API action can be exposed as an MCP tool
- Git is the source of truth for declared state (with API/AI overlay)
- Composable — use only the layers you need (MCP standalone, drivers without K8s, etc.)
MIT — Copyright (c) 2026 KranixIO