refactor!: rebrand MeshCentral to Vervain across the workspace #64

Merged
David merged 1 commit from feature/refactor-vervain into main 2026-06-21 03:30:41 +02:00
Owner

Summary

Renames every MeshCentral, meshctrl, mesh, msh, and MC identifier to the Vervain naming scheme. After this change, rg -i mesh returns a single hit: the attribution line in the README.

This is a breaking change and backwards compatibility is not preserved. It requires lockstep updates in the sibling vervain-agent and vervain-apps repositories (see "Cross-repo impact" below).

What changed

Crates and binaries

  • All workspace crates renamed meshcentral-* to vervain-* (package names, dependency keys, use paths, module files).
  • Main binary meshcentral to vervain; CLI crate meshctrl to vervain-ctrl with binary vervainctl.

Domain vocabulary

  • The device-group concept mesh/meshes/meshid is now group/groups/groupid throughout, including protocol action names, DB field names, and wire paths.
  • meshagent to vervainagent, meshcore to vervaincore, the mc_ cookie prefix to vervain_, and the /mc chatops alias dropped in favor of /vervain.
  • Agent config file extension .msh renamed to .vagent (download filename, installer flag, embedded identity).

External and behavioral identifiers (full rename, no compat shims)

  • Env vars MESHCENTRAL_* to VERVAIN_*, Prometheus metrics meshcentral_* to vervain_*, config prefix/keys, default datapath, cert CNs, recording magic string, and the .mcrec recording extension to .vrec. Also the TOTP/WebAuthn issuer, email From, and chat verification text.

Legacy web UI

  • Deleted the vendored legacy SPA (public/ and views/) and excised its compile-time embed. embedded_assets is now disk-only and GET / serves a minimal placeholder; the browser frontend is the separate vervain-apps project.

Docs

  • README rebranded with a single attribution line crediting MeshCentral by Ylianst and Simon (si458); ROADMAP rebranded; stale upstream-file citations in code comments reworded to neutral phrasing.

Cross-repo impact (requires lockstep changes)

  • vervain-agent: the agent control/relay wire paths, the renamed mc_ to vervain_ cookies, and the agent config download (.vagent extension / --vagent flag) must be updated to match.
  • vervain-apps: the browser client must follow the renamed protocol action names, DB-backed field names, and cookies; it is now the sole frontend (the in-tree SPA fallback was removed).

Verification

cargo check, clippy, cargo fmt --check, and the full test suite (1037 tests) all pass. The pre-commit hook (CI parity) passed on commit.

🤖 Generated with Claude Code

## Summary Renames every `MeshCentral`, `meshctrl`, `mesh`, `msh`, and `MC` identifier to the Vervain naming scheme. After this change, `rg -i mesh` returns a single hit: the attribution line in the README. **This is a breaking change and backwards compatibility is not preserved.** It requires lockstep updates in the sibling `vervain-agent` and `vervain-apps` repositories (see "Cross-repo impact" below). ## What changed **Crates and binaries** - All workspace crates renamed `meshcentral-*` to `vervain-*` (package names, dependency keys, `use` paths, module files). - Main binary `meshcentral` to `vervain`; CLI crate `meshctrl` to `vervain-ctrl` with binary `vervainctl`. **Domain vocabulary** - The device-group concept `mesh`/`meshes`/`meshid` is now `group`/`groups`/`groupid` throughout, including protocol action names, DB field names, and wire paths. - `meshagent` to `vervainagent`, `meshcore` to `vervaincore`, the `mc_` cookie prefix to `vervain_`, and the `/mc` chatops alias dropped in favor of `/vervain`. - Agent config file extension `.msh` renamed to `.vagent` (download filename, installer flag, embedded identity). **External and behavioral identifiers (full rename, no compat shims)** - Env vars `MESHCENTRAL_*` to `VERVAIN_*`, Prometheus metrics `meshcentral_*` to `vervain_*`, config prefix/keys, default datapath, cert CNs, recording magic string, and the `.mcrec` recording extension to `.vrec`. Also the TOTP/WebAuthn issuer, email From, and chat verification text. **Legacy web UI** - Deleted the vendored legacy SPA (`public/` and `views/`) and excised its compile-time embed. `embedded_assets` is now disk-only and `GET /` serves a minimal placeholder; the browser frontend is the separate `vervain-apps` project. **Docs** - README rebranded with a single attribution line crediting MeshCentral by Ylianst and Simon (si458); ROADMAP rebranded; stale upstream-file citations in code comments reworded to neutral phrasing. ## Cross-repo impact (requires lockstep changes) - `vervain-agent`: the agent control/relay wire paths, the renamed `mc_` to `vervain_` cookies, and the agent config download (`.vagent` extension / `--vagent` flag) must be updated to match. - `vervain-apps`: the browser client must follow the renamed protocol action names, DB-backed field names, and cookies; it is now the sole frontend (the in-tree SPA fallback was removed). ## Verification `cargo check`, `clippy`, `cargo fmt --check`, and the full test suite (1037 tests) all pass. The pre-commit hook (CI parity) passed on commit. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
refactor!: rebrand MeshCentral to Vervain across the workspace
All checks were successful
Check / fmt + clippy + build + tests (pull_request) Successful in 1m48s
Create release / Create release from merged PR (pull_request) Has been skipped
906e1766f6
Rename every "MeshCentral", "meshctrl", "mesh", "msh", and "MC" identifier to the Vervain naming scheme. Backwards compatibility is explicitly not preserved; this is a breaking change that requires lockstep updates in the sibling vervain-agent and vervain-apps repositories.

Crates and binaries:
- All workspace crates renamed meshcentral-* to vervain-* (package names, dependency keys, use paths, module files).
- Main binary meshcentral renamed to vervain; CLI crate meshctrl renamed to vervain-ctrl with binary vervainctl.

Domain vocabulary:
- The device-group concept "mesh"/"meshes"/"meshid" is now "group"/"groups"/"groupid" throughout, including protocol action names, DB field names, and wire paths.
- meshagent to vervainagent, meshcore to vervaincore, the mc_ cookie prefix to vervain_, and the /mc chatops alias dropped in favor of /vervain.
- Agent config file extension .msh renamed to .vagent (download filename, installer flag, embedded identity).

External and behavioral identifiers (full rename, no compat shims):
- Env vars MESHCENTRAL_* to VERVAIN_*, Prometheus metrics meshcentral_* to vervain_*, config prefix/keys, default datapath, cert CNs, recording magic string, and the .mcrec recording extension to .vrec, plus TOTP/WebAuthn issuer, email From, and chat verification text.

Legacy web UI:
- Deleted the vendored legacy SPA (public/ and views/) and excised its compile-time embed. embedded_assets is now disk-only and GET / serves a minimal placeholder; the browser frontend is the separate vervain-apps project.

Docs:
- README rebranded with a single attribution line crediting MeshCentral by Ylianst and Simon (si458); ROADMAP rebranded; stale upstream-file citations in comments reworded to neutral phrasing.

Verification: cargo check, clippy, fmt, and the full test suite (1037 tests) all pass.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
David merged commit 4d07dded30 into main 2026-06-21 03:30:41 +02:00
David deleted branch feature/refactor-vervain 2026-06-21 03:30:42 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
psa-systems/vervain-server!64
No description provided.