# Fleet Portable Config

> Adapt the Megingjord harness to a new operator's fleet topology without hand-editing inventory files. Use when first activating the harness on a new host or onboarding a new fleet.

- Skill: `chf3198/fleet-portable-config` (Agent Skill)
- Install (CLI): `npx skillmds@latest add chf3198/fleet-portable-config`
- Raw SKILL.md: https://api.skillmd.com/api/skills/chf3198/fleet-portable-config/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: chf3198 (https://skillmd.com/u/chf3198)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/chf3198/fleet-portable-config

---


# Fleet Portable Configuration

The harness ships **generic** `inventory/*.example.json` templates. Operator-specific topology lives in `~/.megingjord/` overlays merged by `scripts/global/resolve-inventory.js`.

## Workflow

```
1. Install Tailscale + authenticate:
     tailscale up

2. Run discovery (IT-allowed):
     bash scripts/global/fleet-discover.sh
   → writes ~/.megingjord/devices.json

3. Verify merged inventory:
     node scripts/global/fleet-config.js fleet
   → resolveInventory: example → overlay → FLEET_IP_* env

4. Bootstrap + doctor:
     npm run harness:setup
     npm run harness:doctor

5. Dashboard Fleet Setup wizard (Fleet view):
     /api/fleet/setup/* — credentials to keychain or .env (never localStorage)

6. (Optional) Cloud + probe:
     npm run capability:probe
```

## Reference files

- `inventory/devices.example.json` — generic 2-node template (committed)
- `~/.megingjord/devices.json` — operator overlay (never committed)
- `docs/howto/fleet-it-setup.md` — IT runbook (#3175)

## Related skills

- `network-platform-resources` — compute platform inventory; local overlay at `~/.megingjord/`
- `openrouter-free-failover` — OpenRouter cloud fallback

