Configuration reference
config.yaml
The main configuration file.
Resolved from $DIFFLAB_CONFIG env var if set, otherwise ./config.yaml in the working directory.
machines: # optional
myserver: [email protected] # name: ssh-destination
targets: # required; at least one entry
- name: my-local-repo
machine: local # "local" (default) or a machines key
repo: /path/to/repo
- name: my-remote-repo
machine: myserver
repo: /srv/repos/my-remote-repo
- name: my-windows-repo
machine: winbox
repo: C:/Users/alice/projects/myrepo
machines
Optional mapping of machine names to SSH destinations (user@host).
-
The name
localis reserved and cannot be used. -
Destinations must not start with
-.
targets
List of repositories to watch. Each entry must have:
| Field | Required | Description |
|---|---|---|
|
yes |
Identifier used in URLs ( |
|
yes |
Absolute path to the repository root.
Must not start with |
|
no (default: |
|
registry.yaml
Automatically managed by the /register endpoint.
Stored in $DIFFLAB_DATA/registry.yaml (default: ./data/registry.yaml).
Do not edit by hand while difflab is running.
Enrolled targets are merged with config.yaml targets at startup; config-file targets take
priority when names conflict.
Environment variables
| Variable | Default | Description |
|---|---|---|
|
|
Path to the configuration file. |
|
|
Directory for runtime data: SSH keypair, |
|
(unset) |
Required to enable |
Routes
| Route | Description |
|---|---|
|
Index: repos with uncommitted changes listed first, errored targets marked, clean repos hidden. |
|
Colorized, collapsible HTML diff for the named target. |
|
Plain-text diff ( |
|
Container’s SSH public key formatted as a ready-to-paste |
|
Enroll a machine. Token-gated via |