refactor: purge mesh/MeshCentral naming, rename .msh to .vagent (VS-42) #70

Merged
David merged 1 commit from feature/refactor-vervain into main 2026-06-21 14:19:11 +02:00
Owner

Renames every "mesh"/MeshCentral-derived identifier in the agent to the vervain naming the paired vervain-server now uses, so the two repos stay wire-compatible across the rebrand. Tracked as VS-42.

Wire contracts (mirrored from vervain-server, exact byte-for-byte match)

  • Relay endpoint */meshrelay.ashx becomes */api/v1/relay; relay query params p becomes usage and nodeid becomes agent_id (server VS-24 redesign). These appear in the agent only in comments and tests: the agent receives the relay/control URLs from the server at runtime and dials them opaquely, so there is no runtime-logic change.
  • Published binary filename meshagent-<id> becomes vervainagent-<id> (e.g. vervainagent-6), matching the server fetcher's /vervainagents/:id route. The build workflow now publishes vervainagent-6 + .sig.
  • Cross-repo crate/file references: meshcentral-agent-fetch to vervain-agent-fetch, meshcentral-web to vervain-web, meshsettings.rs to groupsettings.rs, meshctrl to vervainctl.

Local config: .msh to .vagent

  • File extension and names (vervain-agent.msh, .msh.bak, .msh.template, seed.msh), the --vagent CLI flag, the ensure-vagent justfile recipes, and .gitignore scratch globs.
  • Rust identifiers: MshConfig to VagentConfig, from_msh* to from_vagent*, parse_msh_text, seal_from_msh, MissingMsh, msh_policy_guid, msh_len/msh_stripped_len, plus LEGACY_MSH_FILENAME to VAGENT_FILENAME and legacy_vagent() to vagent_path().

"legacy" / "rebrand" wording removed

All occurrences (85) removed from comments, docs, and identifiers, reworded to preserve meaning: "legacy Vervain" is now just "Vervain", "legacy C agent" to "the C agent", "legacy .vagent" to ".vagent".

Verification

just pre-commit passes (clippy --deny warnings, fmt, full test suite). The shared cross-repo signing known-answer vector already matched the server byte-for-byte and is untouched. Repo-wide greps for mesh, msh, legacy, and rebrand return zero hits.

Renames every "mesh"/MeshCentral-derived identifier in the agent to the vervain naming the paired `vervain-server` now uses, so the two repos stay wire-compatible across the rebrand. Tracked as VS-42. ## Wire contracts (mirrored from vervain-server, exact byte-for-byte match) - Relay endpoint `*/meshrelay.ashx` becomes `*/api/v1/relay`; relay query params `p` becomes `usage` and `nodeid` becomes `agent_id` (server VS-24 redesign). These appear in the agent only in comments and tests: the agent receives the relay/control URLs from the server at runtime and dials them opaquely, so there is no runtime-logic change. - Published binary filename `meshagent-<id>` becomes `vervainagent-<id>` (e.g. `vervainagent-6`), matching the server fetcher's `/vervainagents/:id` route. The build workflow now publishes `vervainagent-6` + `.sig`. - Cross-repo crate/file references: `meshcentral-agent-fetch` to `vervain-agent-fetch`, `meshcentral-web` to `vervain-web`, `meshsettings.rs` to `groupsettings.rs`, `meshctrl` to `vervainctl`. ## Local config: `.msh` to `.vagent` - File extension and names (`vervain-agent.msh`, `.msh.bak`, `.msh.template`, `seed.msh`), the `--vagent` CLI flag, the `ensure-vagent` justfile recipes, and `.gitignore` scratch globs. - Rust identifiers: `MshConfig` to `VagentConfig`, `from_msh*` to `from_vagent*`, `parse_msh_text`, `seal_from_msh`, `MissingMsh`, `msh_policy_guid`, `msh_len`/`msh_stripped_len`, plus `LEGACY_MSH_FILENAME` to `VAGENT_FILENAME` and `legacy_vagent()` to `vagent_path()`. ## "legacy" / "rebrand" wording removed All occurrences (85) removed from comments, docs, and identifiers, reworded to preserve meaning: "legacy Vervain" is now just "Vervain", "legacy C agent" to "the C agent", "legacy `.vagent`" to "`.vagent`". ## Verification `just pre-commit` passes (clippy `--deny warnings`, fmt, full test suite). The shared cross-repo signing known-answer vector already matched the server byte-for-byte and is untouched. Repo-wide greps for `mesh`, `msh`, `legacy`, and `rebrand` return zero hits.
refactor: purge mesh/MeshCentral naming, rename .msh to .vagent
All checks were successful
Check / fmt + clippy + tests (pull_request) Successful in 3m47s
Create release / Create release from merged PR (pull_request) Has been skipped
596b15def3
Renames every "mesh"-derived identifier in the agent to the vervain naming the paired vervain-server now uses, so the two repos stay wire-compatible. Relay path meshrelay.ashx becomes /api/v1/relay (query params p to usage, nodeid to agent_id); the published binary filename meshagent-<id> becomes vervainagent-<id>; cross-repo crate references meshcentral-agent-fetch to vervain-agent-fetch, meshcentral-web to vervain-web, meshsettings.rs to groupsettings.rs, and meshctrl to vervainctl.

Renames the local config extension .msh to .vagent everywhere: file names, .bak/.template suffixes, the justfile ensure-vagent recipes, the --vagent CLI flag, and the Rust identifiers (MshConfig to VagentConfig, from_msh* to from_vagent*, parse_msh_text, seal_from_msh, MissingMsh, VAGENT_FILENAME, vagent_path, etc.).

Removes all "legacy" and "rebrand" wording from comments, docs, and identifiers; "legacy Vervain" is now just "Vervain".

No functional change: the agent receives relay/control URLs from the server at runtime, so the renamed paths and params appear only in comments and tests. The shared cross-repo signing known-answer vector already matched the server byte-for-byte and is untouched. just pre-commit passes (clippy -D warnings, fmt, full test suite).

#VS-42

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
David merged commit 4a87812333 into main 2026-06-21 14:19:11 +02:00
David deleted branch feature/refactor-vervain 2026-06-21 14:19:11 +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-agent!70
No description provided.