Provision devices headlessly.
Issue a token. Drop it into a curl command, a Terraform module, or an Ansible playbook. The device joins your mesh, picks up its policies, and starts serving — no browser, no human, no manual click.
- One-line curl installer with embedded token
- Set expiry, usage limits, default group per key
- Reusable (fleets) or ephemeral (CI runners)
Default group · ci-runners
Install on any host
# One line, any Linux / macOS host
$ curl -fsSL get.meshr.to | \
sudo MESHR_KEY=msk_ab12...c9f3 bash
✓ Joined as runner-ci-04 (10.0.0.41) Recent uses
Built for the workflows you already have.
Stop SSH-ing into every new box to run a setup command. Bake the key in, boot the box, done.
Terraform & Ansible
Inject the setup key as a variable. Every EC2 / VM / droplet your IaC provisions joins the mesh automatically on first boot.
user_data = "curl get.meshr.to | MESHR_KEY=${var.meshr_key} sh"CI runners
Spin an ephemeral CI runner per job. Single-use key, 10-minute TTL — the runner joins, runs, terminates.
docker run -e MESHR_KEY=msk_... ghcr.io/meshr/runnerEdge & air-gapped
Pre-bake the key into a Raspberry Pi image. Ship the unit. It calls home over LTE and joins the mesh — zero on-site config.
echo MESHR_KEY=msk_... > /etc/meshr.envTokens that behave themselves.
Every key carries its own guardrails — expiry, usage caps, a default group, and a full audit trail.
Expiry + usage limits
Every key has a TTL and an optional usage cap. A leaked key automatically becomes useless once the timer or the counter runs out.
Reusable or single-use
Reusable keys for steady-state fleets (a long-lived edge cluster). Ephemeral keys for one-shot jobs (a CI runner that lives for 10 minutes).
Reusable
Fleets, IaC-provisioned VMs, edge devices
Ephemeral
CI runners, scratch debug VMs, one-off jobs
Default group baked into the key
Pick a default group at key creation. Every device that uses the key auto-joins that group — and inherits the policies that already exist there.
# Key tagged with default-group=ci-runners
$ curl ... | MESHR_KEY=msk_... bash
✓ runner-ci-04 joined
✓ auto-added to group: ci-runners
✓ policies applied: 4 Every use, recorded
Each device that joined via a setup key is tagged with the key ID. When a key gets compromised, you know exactly which devices to revoke — and Audit Logs show every use.
One token, a whole fleet on the mesh.
Free for every feature while we're in beta. Mint a setup key and provision your first headless device in minutes.