Skip to content

Open sourceKradle

Kradle. A Git forge runtime for agents.

Kubernetes-native. Argo CD GitOps, Gitea-backed hosting, a per-org dispatchable assistant. Agent work lands as resources the cluster tools you already run can read, watch, and audit.

v6.0.0Kubernetes

01The runtime

A forge described in Git.

Kradle is a Kubernetes-native Git forge runtime: Argo CD GitOps and Gitea-backed Git hosting, with a per-org dispatchable assistant. It ships as @a5c-ai/kradle and @a5c-ai/kradle-cli, versioned with the monorepo at 6.0.0; the runtime itself is an executable MVP that we operate in our own engagements today; APIs and CRDs may change.

  • 01A Node runtime and HTTP API server
  • 02Helm charts and CRDs
  • 03A Next.js console
  • 04A controller container

There is no end-user install yet; the docs are the entry point.

02The forge

The forge is custom resources.

Repositories, pull requests, issues, reviews, pipelines: each is a Kubernetes custom resource, reconciled through Argo CD and hosted on Gitea. The state of the forge is declarative and auditable. What the cluster runs is what Git says it should.

RepositoryPullRequestIssueReviewPipelineJobRunnerPoolWebhookSubscriptionRefPolicyBranchProtection

03Dispatch

Agent work is custom resources too.

Definitions, dispatch runs, sessions, approvals, personas, skills, memory operations, workspaces, artifacts, inference: agent work is modeled with the same CRD discipline as the forge. An approval is a resource in the cluster. A session is a resource. So is every dispatch. Your existing kubectl and audit tooling already reads all of it.

AgentDefinitionAgentDispatchRunAgentSessionAgentApprovalAgentStackAgentPersonaAgentSkillAgentMemoryQueryAgentMemorySnapshotAgentMemoryUpdateKradleWorkspaceRuntimeKradleWorkspacePolicyKradleArtifactKradleInferenceServiceKradleModelRoute

04Entrypoints

Serve, speak MCP, watch, dispatch.

kradle serve
The HTTP API server, default port 3080.
kradle mcp
An MCP server over stdio.
SSE watch streams
Live resource streams at /api/watch/orgs/:org/:resource.
Per-org dispatch
POST /api/orgs/:org/agents/dispatch sends work to the org's assistant.

05Walkthrough

One dispatch, API call to artifact.

Everything the console shows is a resource the API created. Here is one dispatch, end to end.

CLUSTERDISPATCHRESOURCES, RECONCILEDARTIFACT
Dispatch in, resources reconciled, artifact out. The journal below traces the same path.
dispatch org/assistant: resource trailillustrative
dispatch.posted

POST /api/orgs/:org/agents/dispatch hands the org's assistant a task. The console issues the same call.

run.created

The dispatch lands as an AgentDispatchRun in the cluster. kubectl and the console read the same resource.

session.watched

The run's AgentSession holds its state; progress streams over the SSE watch endpoint as the run moves.

approval.holding

The run's breakpoint, modeled as an AgentApproval resource: a consequential step creates it and the run waits.

artifact.recorded

The result lands as a KradleArtifact. The run's record stays in the cluster after the run ends.

An illustrative sample. Each step is a custom resource you can read back out of the cluster.

06The assistant

One assistant per org.

Each org namespace gets its own dispatchable assistant, deployed from its own charts. The Next.js console sits over the API: runs, resources, and approvals, in one surface.

07Where it fits

The solutions run here: each one dispatches its processes onto a Kradle cluster.

Want this operated for your domain? Request a demo.