C
Conductor by Devology
Get a demo

Agent Control Plane · Self-hosted

Assign an issue.
Get back a draft PR.

Conductor lets AI coding agents work as teammates inside the tracker you already use. Each task runs in an isolated Kubernetes sandbox with short-lived, scoped credentials — governed, audited, and on your infrastructure.

The full workflow: Linear issue → Conductor run with live logs → draft PR on GitHub

A guided tour, all real footage: setup in four screens, then a live run — Linear issue in, draft PR out in 15 seconds.

Coding agents are powerful.
Running them for a team is not.

Today, using agents means copy-pasting prompts, babysitting local runs, and handing long-lived credentials to autonomous software. That works for one developer. It does not survive contact with a team.

How it works

No new board. No daemons. One rule: when this issue is assigned, this bot works on this repo.

01
Assign in Linear

A teammate assigns an issue to the bot — exactly like assigning a person.

02
Route & queue

A signed webhook hits Conductor; routing rules pick the bot, repo, and limits.

03
Sandbox spins up

A throwaway Kubernetes pod with hard CPU/memory/time limits — one per run.

04
Agent works

Claude Code gets the issue as its task, scoped credentials injected only for this run.

05
Draft PR + report

Branch pushed, draft PR opened, the issue gets a comment — sandbox and secrets destroyed.

Routing rules read like a sentence
Routing rules read like sentences — teams and users pulled live from your Linear workspace.
Run history with logs, cost and PR links
Every run: status, duration, exact cost, the PR link, live logs, and which credentials it received (names only).

Not a mockup — receipts

Everything below is from our live system: a real Linear workspace, real sandboxes on Kubernetes, and real pull requests written by the agent.

Linear issue with the bot reporting start and finish with a draft PR link
The bot reports on the issue like a teammate — started, finished in 21s, draft PR attached.
The actual draft PR diff on GitHub
The actual PR: opened as a draft so nobody gets review-pinged until a human promotes it.
Dashboard with success rate and cost per bot

The operator view: active runs, success rate, and exact spend per bot against its monthly cap — with alerts before budgets blow.

Security isn't a feature here.
It's the architecture.

Letting autonomous agents touch git, registries, and APIs is a credential problem before it's anything else. Conductor was designed around that fact.

🔐

Secrets are write-only

Values are AES-256-GCM encrypted at rest, never returned by any API, never logged. A single broker component is the only code that can touch them.

🎯

Scoped at injection time

Each credential is limited to specific bots and repos — enforced in the backend the moment a run requests it, not hidden in a UI.

💥

Ephemeral by design

Secrets enter the sandbox via a per-run Kubernetes Secret that is destroyed on teardown — destroyed first, even if the pod refuses to die.

🧾

Everything audited

Every admin action and every credential injection is logged: which secret, which run, which bot, when.

🛡️

Prompt-injection resistant

Issue text is treated as untrusted task content. Permissions and scopes are enforced independently of anything the issue says.

🏠

Your infrastructure

Fully self-hosted — your cluster, your database, your keys. No third party ever holds your credentials. Minimal OAuth scopes (no admin access to your tracker).

The credentials vault UI

The vault: add once, scope tightly, rotate any time. Values never appear again — anywhere.

Architecture

A Go control plane, a Next.js console, Postgres, and your Kubernetes cluster.

Linear issue assigned to a bot Console admin & observability UI signed webhook CONTROL PLANE Go · Postgres · self-hosted Auth · RBAC · Audit log every action attributable Routing engine issue → bot + repo + limits Run orchestrator queue · concurrency · lifecycle 🔐 Secret broker AES-256-GCM · write-only · scoped provision + inject per-run YOUR KUBERNETES CLUSTER k3s, EKS, GKE — anything Sandbox pod — one per run ▸ Claude Code + git toolchain ▸ hard CPU / memory / time limits ▸ ephemeral secrets, this run only ▸ isolated network & filesystem destroyed after the run — secrets first GitHub draft PR ✓ status + PR link reported back to the issue
Self-hosted
k3s / any K8s
Pluggable agents
Claude Code today, more coming
Linear first
Jira on the roadmap
48+ integration tests
incl. against a live cluster

Want this for your team?

We're onboarding design partners now. Tell us about your stack — we'll show you a live run on your own issues and help you deploy Conductor on your infrastructure.

sales@devology.ai