Modellzugang auf Self-hosted Runnern
Lassen Sie den Coding-Agenten auf Ihrem Self-hosted Runner Ihr eigenes Cloud-Konto für Modelle nutzen, etwa Amazon Bedrock, Google Vertex AI oder Microsoft Foundry, damit Modellschlüssel nie über kanman laufen.
Auf einem Self-hosted Runner kann der Coding-Agent den Modellzugang nutzen, den Sie auf dem Runner selbst einrichten. kanman gibt dem Run dann überhaupt keine Zugangsdaten für Modelle: keinen eigenen Schlüssel und keinen in kanman gespeicherten. Was die Umgebung des Runners bereitstellt, nutzt der Coding-Agent.
Wir empfehlen dafür Ihr eigenes Cloud-Konto: Amazon Bedrock, Google Vertex AI oder Microsoft Foundry für Claude Code und Azure OpenAI für Codex. Die Zugangsdaten bleiben in Ihrer Infrastruktur, Modellaufrufe laufen unter Ihrem Cloud-Vertrag und in der Region Ihrer Wahl, und Sie nutzen die Identitätsmechanismen, die Sie schon haben (IAM-Rollen, Workload Identity, Managed Identity).
Betreiber sind dafür verantwortlich, beim Einrichten der Runner-Umgebung die Bedingungen ihres Modellanbieters einzuhalten.
Für ein Team einschalten
Die Einstellung gibt es nur für Workspaces, deren Runs auf eigenen Runnern laufen (Einstellungen > KI-Anbieter > Erweitert, kanman Cloud ausgeschaltet).
- Öffnen Sie die Einstellungen > Budgets des Teams.
- Wählen Sie unter Modellnutzung die Option Modellzugang aus der Runner-Umgebung. Bei der Einrichtung des Teams steht dieselbe Auswahl im Executor-Schritt.
- Legen Sie die Budgets in Minuten und Runs fest (siehe unten) und speichern Sie.
kanman sieht in diesem Modus keine Modellkosten. Statt Euro zählen die Budgets des Teams Zeit und Runs:
| Einstellung | Bedeutung |
|---|---|
| Minuten pro Run | Höchstdauer eines Versuchs, 1 bis 1440 Minuten (Standard 60). Ist sie erreicht, stoppt kanman den Run; es entsteht kein Pull Request. |
| Runs pro Tag | Wie viele Runs das Team pro Tag starten darf. Leer heißt kein Limit. |
| Runs pro Monat | Wie viele Runs das Team pro Monat starten darf. Leer heißt kein Limit. |
Expedite- und Störungsarbeit startet auch dann, wenn ein Run-Limit erreicht ist. Das Nachweispaket dieser Runs sagt, dass Modellkosten nicht erfasst werden. In der kanman Cloud wird diese Einstellung abgelehnt: Runs dort nutzen nie die Umgebung eines Runners.
Die Run-Seite zeigt die verbrauchte Zeit eines Runs im Verhältnis zu Minuten pro Run statt Kosten in Euro.
Review und Akzeptanzspezifikationen
Zwei Schritte des Outcome-Gates nutzen ebenfalls ein Modell: der unabhängige Reviewer und das Schreiben der Akzeptanzspezifikation einer Story. In diesem Modus hat kanman keinen Modellzugang, den es dafür aus seiner Cloud nutzen könnte, und weicht nie auf einen eigenen aus. Schalten Sie Alles auf Ihren Runnern ausführen ein, damit sie mit genau diesem Modellzugang auf Ihrem Runner laufen. Ohne diese Einstellung bleibt eine Story, die eine Akzeptanzspezifikation braucht, mit dem Hinweis Wartet auf deinen Runner in Verfeinerung, und ein Run, dessen Änderungen bereit für das Review sind, wird mit derselben Erklärung auf seiner Run-Seite geparkt. Dabei schlägt nichts fehl, und es werden keine Versuche verbraucht.
Was der Runner weitergibt
In diesem Modus sieht der Coding-Agent die Umgebung des Runners, außer den Tokens von kanman selbst. Setzen Sie die Variablen Ihres Anbieters am Runner-Container. Beim Start nennt das Log des Runners die gefundenen Anbieter (zum Beispiel bedrock), nie deren Werte.
Die folgenden Variablen lesen Claude Code und Codex. Um Modellversionen auf Bedrock, Vertex AI oder Foundry festzulegen, setzen Sie ANTHROPIC_DEFAULT_SONNET_MODEL, ANTHROPIC_DEFAULT_OPUS_MODEL und ANTHROPIC_DEFAULT_HAIKU_MODEL auf die in Ihrem Konto freigeschalteten Modell-IDs; kanmans Modellwahl pro Story löst sich dann auf diese auf.
Amazon Bedrock
| Variable | Wert |
|---|---|
CLAUDE_CODE_USE_BEDROCK |
1 |
AWS_REGION |
Region mit Bedrock-Modellzugang, zum Beispiel eu-central-1 |
| Zugangsdaten | Eine IAM-Rolle (Instance Profile, ECS-Task-Rolle, EKS Pod Identity) oder AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY und optional AWS_SESSION_TOKEN oder ein Bedrock-API-Schlüssel in AWS_BEARER_TOKEN_BEDROCK |
Google Vertex AI
| Variable | Wert |
|---|---|
CLAUDE_CODE_USE_VERTEX |
1 |
CLOUD_ML_REGION |
Region mit freigeschalteten Claude-Modellen, zum Beispiel europe-west1 |
ANTHROPIC_VERTEX_PROJECT_ID |
ID Ihres Google-Cloud-Projekts |
GOOGLE_APPLICATION_CREDENTIALS |
Pfad zu einer eingebundenen Schlüsseldatei eines Dienstkontos. Mit Workload Identity auf GKE nicht nötig. |
Microsoft Foundry
| Variable | Wert |
|---|---|
CLAUDE_CODE_USE_FOUNDRY |
1 |
ANTHROPIC_FOUNDRY_RESOURCE |
Name Ihrer Foundry-Ressource, oder stattdessen ANTHROPIC_FOUNDRY_BASE_URL mit der vollständigen Adresse |
| Zugangsdaten | ANTHROPIC_FOUNDRY_API_KEY oder Azure-Zugangsdaten wie eine Managed Identity |
Codex mit Azure OpenAI
| Variable | Wert |
|---|---|
AZURE_OPENAI_API_KEY |
Schlüssel Ihrer Azure-OpenAI-Ressource |
AZURE_OPENAI_BASE_URL |
https://<resource>.openai.azure.com/openai/v1 |
AZURE_OPENAI_DEPLOYMENT |
Name Ihres Modell-Deployments |
Beispiel mit Docker Compose
Ein Runner, der Claude Code über Amazon Bedrock mit der IAM-Rolle des Hosts anbietet:
services:
kanman-runner:
image: ghcr.io/kanman-ai/executor-host
restart: unless-stopped
environment:
KANMAN_API_KEY: ${KANMAN_API_KEY}
RUNNER_NAME: runner-fra-1
RUNNER_EXECUTORS: claude-code
CLAUDE_CODE_USE_BEDROCK: "1"
AWS_REGION: eu-central-1
ANTHROPIC_DEFAULT_SONNET_MODEL: eu.anthropic.claude-sonnet-4-5-20250929-v1:0
Derselbe Runner über Google Vertex AI mit eingebundenem Dienstkonto-Schlüssel:
services:
kanman-runner:
image: ghcr.io/kanman-ai/executor-host
restart: unless-stopped
environment:
KANMAN_API_KEY: ${KANMAN_API_KEY}
RUNNER_EXECUTORS: claude-code
CLAUDE_CODE_USE_VERTEX: "1"
CLOUD_ML_REGION: europe-west1
ANTHROPIC_VERTEX_PROJECT_ID: acme-ai-prod
GOOGLE_APPLICATION_CREDENTIALS: /secrets/gcp-key.json
volumes:
- ./gcp-key.json:/secrets/gcp-key.json:ro
Beispiel mit Kubernetes
Ein Runner mit Microsoft Foundry für Claude Code und Azure OpenAI für Codex. Die Schlüssel liegen in einem Kubernetes-Secret:
apiVersion: v1
kind: Secret
metadata:
name: kanman-runner
type: Opaque
stringData:
KANMAN_API_KEY: km_your_runner_token
ANTHROPIC_FOUNDRY_API_KEY: your_foundry_key
AZURE_OPENAI_API_KEY: your_azure_openai_key
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: kanman-runner
spec:
replicas: 1
selector:
matchLabels:
app: kanman-runner
template:
metadata:
labels:
app: kanman-runner
spec:
containers:
- name: runner
image: ghcr.io/kanman-ai/executor-host
envFrom:
- secretRef:
name: kanman-runner
env:
- name: RUNNER_EXECUTORS
value: claude-code,codex
- name: CLAUDE_CODE_USE_FOUNDRY
value: "1"
- name: ANTHROPIC_FOUNDRY_RESOURCE
value: acme-foundry
- name: AZURE_OPENAI_BASE_URL
value: https://acme-openai.openai.azure.com/openai/v1
- name: AZURE_OPENAI_DEPLOYMENT
value: gpt-5
Mit Workload Identity (Vertex AI auf GKE) oder einer Managed Identity (Foundry auf AKS) lassen Sie den Schlüssel aus dem Secret weg und hängen die Identität an das Dienstkonto des Pods.
Verwandte Seiten
Zuletzt aktualisiert: January 1, 0001
kanman öffnen