The donmai daemon is configured via ~/.donmai/daemon.yaml (YAML format).
Run donmai daemon setup to generate an initial file interactively, or create
the file manually using the schema described below.
The authoritative Go struct is
daemon/config.go .
Key Type Required Default Description apiVersionstring no donmai.dev/v1Schema version. kindstring no LocalDaemonResource kind. Must be LocalDaemon. machineobject yes — Machine identity block. capacityobject yes see below Resource envelope. orchestratorobject yes — Orchestrator URL and auth token. projectsarray no []Allowlisted project definitions. autoUpdateobject no see below Auto-update preferences. observabilityobject no — Log and metrics tuning. workareaobject no see below Workarea surface settings. kitobject no see below Kit scan path settings. trustobject no see below Signature-verification policy.
Key Type Required Description idstring yes Unique identifier for this machine. Used in session attribution and logs. regionstring no Optional region hint (e.g. us-west-2). Informational only.
Key Type Default Description maxConcurrentSessionsint 8Maximum number of agent sessions that may run in parallel on this daemon. maxVCpuPerSessionint 4vCPU budget granted to each session. maxMemoryMbPerSessionint 8192Memory budget (MiB) granted to each session. reservedForSystem.vCpuint 4vCPUs reserved for the host OS and daemon process. reservedForSystem.memoryMbint 16384Memory (MiB) reserved for the host OS. poolMaxDiskGbint 0Trigger LRU eviction of the workarea pool when total disk usage (GiB) exceeds this. 0 means no limit.
Key Type Required Description urlstring yes Base URL of the orchestrator (e.g. https://platform.donmai.dev). authTokenstring no Bearer token used to authenticate with the orchestrator. Supports ${ENV_VAR} substitution. Can also be set via the DONMAI_DAEMON_TOKEN environment variable.
Each entry in the projects array declares a repository that this daemon is
allowed to run sessions for.
Key Type Required Description idstring yes Project identifier (matches the orchestrator project ID). repositorystring yes Git remote URL or URL pattern for this project. cloneStrategystring no One of shallow (default), full, or reference. git.credentialHelperstring no Git credential helper override for this project. git.sshKeystring no Path to the SSH key to use when cloning.
Example:
projects :
- id : my-project-id
repository : github.com/myorg/myrepo
cloneStrategy : shallow
Key Type Default Description channelstring stableUpdate channel. One of stable, beta, or main. schedulestring nightlyWhen to apply updates. One of nightly, on-release, or manual. drainTimeoutSecondsint 600How long (seconds) to wait for sessions to drain before applying an update.
Key Type Default Description logFormatstring — Log output format. One of json or text. logPathstring — Override for the daemon log file path. metricsPortint — Port to expose Prometheus-compatible metrics. Omit to disable.
Key Type Default Description archiveRootstring ~/.rensei/workareasDirectory the daemon scans for archived workareas. diffStreamingThresholdint 1000Entry count above which the diff endpoint switches to NDJSON streaming.
Key Type Default Description scanPathsstring[] [~/.donmai/kits]Ordered list of directories the kit registry walks to discover installed kits. Leading ~/ is expanded to the user home directory.
Key Type Default Description modestring permissiveSignature-verification policy. One of permissive, signed-by-allowlist, or attested.
apiVersion : donmai.dev/v1
kind : LocalDaemon
machine :
id : my-macbook
orchestrator :
url : https://platform.donmai.dev
authToken : ${DONMAI_DAEMON_TOKEN}
capacity :
maxConcurrentSessions : 4
projects :
- id : my-project-id
repository : github.com/myorg/myrepo
See also: Environment variables