Automate enrollment today. Full API next.
Provision devices into your mesh without a human in the loop — setup keys and a scriptable CLI agent are live now. A token-authenticated REST API and a Terraform provider for the rest of the platform are on the roadmap.
- Setup keys for unattended device enrollment
- Scriptable CLI agent — install & connect
- REST API + API tokens Coming soon
- Terraform provider & webhooks Coming soon
# Provision a device with a setup key — no browser
$ curl -fsSL get.meshr.to | \
sudo MESHR_KEY=msk_ab12...c9f3 bash
✓ Joined as runner-ci-04 (100.64.0.41)
✓ auto-added to group: ci-runners
# Or drive the agent directly in a pipeline
$ meshr up --key $MESHR_SETUP_KEY
✓ Connected · 24 peers reachable What you can automate today.
Everything you need to get devices onto the mesh from a pipeline — no clicking, no manual approval.
Setup keys
Mint reusable or single-use enrollment keys with an expiry, a usage cap, and a default group. Drop one into any provisioning flow and devices join unattended.
Available nowCLI agent
Install, connect, and manage from the command line. Scriptable in any shell, any pipeline — bake it into a VM image, a container, or a one-line bootstrap.
Drop a key into your pipeline.
Register ephemeral runners as mesh devices and tear them down when the job ends. Works with the CI you already run.
GitHub Actions
Enroll the runner with a setup key at the start of the job; it joins the mesh, runs, and disappears.
- name: Join meshr
run: |
curl -fsSL get.meshr.to | \
sudo MESHR_KEY=${{ secrets.MESHR_KEY }} bash GitLab CI
Use a setup key in your .gitlab-ci.yml for unattended enrollment and tunnel provisioning.
deploy:
script:
- meshr up --key $MESHR_SETUP_KEY
- ./run-integration-tests.sh VPN as code — what's next.
The pieces that turn the whole platform into something you can declare and apply. In progress, not shipped yet.
REST API + API tokens
A public REST surface for devices, policies, groups, and tunnels — authenticated with long-lived, scoped API tokens you can issue per integration. Not available yet.
Terraform provider
Declare your mesh — devices, policies, setup keys — as code and apply it from your existing IaC pipeline. Planned alongside the REST API.
Webhooks
Subscribe to events — device enrolled, policy changed, tunnel opened — and fan them out to Slack, PagerDuty, or your own automation.
Want one of these sooner? Tell us what you'd build — early-access feedback shapes the order.
Provision your first device from a script.
Free for every feature while we're in beta. Mint a setup key and enroll a headless device in minutes — no browser required.