Run everything on your runners

Keep all model traffic and every repository action inside your network: kanman's cloud keeps the board, decisions and the audit log, and your self-hosted runners do the rest.

With a self-hosted runner, the coding work of a run happens in your network. A few steps around the run still happen in kanman’s cloud by default: drafting stories from a requirement, the independent review, writing acceptance specs, the maintenance scans, and repository actions such as opening the pull request or posting the evidence pack.

Run everything on our runners moves all of these onto your runners as well. kanman’s cloud then never calls a model provider and never reads or writes one of your repositories for the workspace. Neither source code nor model traffic passes through kanman.

Turn it on

  1. Start at least one self-hosted runner and give it the model access and the code host token described below.
  2. Open Settings > Runners (/settings/runners).
  3. Turn on Run everything on our runners. Owners and admins can change it; the change is recorded in the audit log (export format).

Turning it on also switches the workspace to self-hosted runs, so the kanman Cloud switch under Settings > AI providers > Advanced stays off until you turn this setting off again.

What your runners need

Variable Meaning
KANMAN_API_KEY The workspace API token, as for every runner
Model access The provider variables of your account, for example Amazon Bedrock, Google Vertex AI, Microsoft Foundry, Azure OpenAI, or an Anthropic or OpenAI key. See Model access on self-hosted runners. Teams that use their own key in kanman get that key for each step instead.
GITHUB_TOKEN Token for GitHub or GitHub Enterprise repositories (GITHUB_API_URL for GitHub Enterprise)
GITLAB_TOKEN Token for gitlab.com or your self-managed GitLab (GITLAB_API_URL, for example https://gitlab.example.com/api/v4)
RUNNER_JOBS Optional. Comma-separated list of the step kinds this runner takes, for example to keep acceptance checks on one larger host. Default: all it can do.
RUNNER_JOB_CONCURRENCY Optional. How many short steps (drafts, reviews, repository actions) the runner works on next to its runs. Default 2.

The runner keeps the tokens to itself. kanman’s cloud does not need, and in this mode does not use, a token for your code host.

What runs where

Step Where it runs
Coding runs, local verification, push and the pull or merge request Your runner
Acceptance checks (spec run, fresh environment, clean checkout) Your runner
Writing the acceptance spec and the independent reviewer Your runner, with your model access. The runner reads the diff from your repository itself.
Drafting stories in Intake, and drafts from chat Your runner, with your model access
Comments with the evidence pack, commit statuses, CI results, merges Your runner, with its code host token
Acceptance manifest check and the starter pull request Your runner
Maintenance scans, the read-only reviewers, strategy proposals Your runner
Grouping review notes into conventions Your runner
Team context from links and repositories, and answers from team context Your runner
Log reads for incidents (Kubernetes and Loki) Your runner
Board, policies, decisions, the audit log, run status, reports kanman’s cloud

Exactly what reaches kanman’s cloud

kanman’s cloud stores only the orchestration state and what your runners send back:

  • the stories you write or approve (title, description, acceptance criteria, Demonstrate block), decisions, policies and settings,
  • run status, progress lines and the first line of each of the agent’s status messages (no tool inputs or outputs, no transcript of the agent’s work), cost and the evidence pack: test and check results, the reviewer’s verdict per criterion with file and line references, links to the pull request and to CI,
  • the names and line counts of changed files and the commit list of a run (no file contents),
  • the text a runner sends back for kanman’s own steps: drafted stories, the acceptance spec it wrote, the reviewer’s verdict, maintenance findings, strategy proposals and answers,
  • the audit log, including one entry for each step a runner completed (the step, the runner and the result).

To build the prompts for these steps, kanman sends your runner what it already stores (for example a story and its acceptance criteria) and the names of the files or refs to read. The runner adds the repository content itself. Code never travels to kanman, and kanman never calls a model provider for the workspace.

When no runner is online

Work waits. Nothing falls back to kanman’s cloud.

  • The team page shows Waiting for a runner with the number of waiting steps and a link to Settings > Runners.
  • A requirement sent to Intake shows that it waits for your runner. As soon as a runner answers, the draft opens on its own.
  • A run whose review waits for the runner is parked with Waiting for your runner; it continues when the runner answers, without using up an attempt.

Limits

  • Issue sync with GitHub Issues or GitLab Issues pauses in this mode, because the issues live on your code host. Use Jira or kanman’s own board as the tracker.
  • Team context from Confluence, Notion and uploaded files needs credentials or files that only kanman holds, so a runner cannot index them; links and repositories work.
  • Incident log reads from Datadog, CloudWatch and Sentry are not available on the runner yet; Kubernetes and Loki work.
  • Repository actions on hosts other than GitHub and GitLab are not supported in this mode yet.

Last updated: January 1, 0001

Open kanman