How it works
- Fleet repo — a git repository at
~/.harbor/fleet/containingharbor-fleet.toml. Only server definitions are committed: command, args, env var names (asvault:KEYreferences), URLs, headers, and tool filters. - Secrets stay local — raw values never leave your machine. Fleet configs use
vault:KEY_NAMEreferences that each teammate provisions independently. - 3-way merge — pulling the fleet merges upstream changes into your local config without overwriting per-machine settings (enabled state, host connections, tool overrides).
- Drift detection — Harbor tracks a SHA-256 hash of each server’s definition after every pull. If you hand-edit a fleet-managed server, it is flagged as
locally modifiedand skipped on the next pull until you resolve it.
Setup (one person per team)
1. Initialize the fleet and link a remote:harbor-fleet.toml to the fleet repo and pushes to the remote.
3. Invite teammates:
Send them the git URL. They run:
join clones the fleet and automatically runs pull, adding all fleet servers to their local config.
Day-to-day workflow
Provisioning secrets
Fleet servers reference secrets by name (vault:GITHUB_TOKEN, vault:SLACK_TOKEN). After pulling a fleet for the first time, run:
vault: references that aren’t yet in your keychain and prompts you to enter each value (input is hidden). Secrets are stored in your OS keychain — they never touch the git repo.
To preview what’s missing without entering values:
Resolving conflicts
Locally modified server
If you’ve edited a fleet-managed server since your last pull, Harbor skips it on the next pull to protect your changes:- Accept upstream —
harbor undock github && harbor crew pull - Share your version —
harbor crew push github
Source conflict
If a server exists locally with a non-fleet source (e.g., you docked it manually before the fleet existed), it will also be skipped:harbor undock github then harbor crew pull to let the fleet version take over.
Desktop app
The desktop app surfaces fleet state without requiring the CLI:- Fleet badge — server cards show a blue
fleetchip for fleet-managed servers. - Modified badge — an amber
modifiedchip appears when a server has drifted from its last-pulled definition. - Crew section — in Settings → Crew, you can see the fleet remote URL, git ahead/behind status, and trigger a pull with the Pull button.
The fleet config file
harbor-fleet.toml is human-readable TOML. You can edit it directly and push:
Never put raw secret values in
harbor-fleet.toml. Use vault:KEY_NAME references. Each teammate stows their own copy of the secret with harbor crew provision or harbor chest set KEY value.
