HydraIssues

Rename guard_type "citymesh" → "partner" across code + docs
open improvement Project: hydraguard Reporter: 11 May 2026 19:26

Description

**Doc/code drift:** the partner-network design (and downstream docs like site-types.md) describes the partner-managed guard pattern as `guard_type: partner` (generic, the correct long-term name). The hydraguard CLI / API still requires `--guard citymesh` and rejects `partner`:

```
hydraguard/pkg/api/handlers.go:497
return fmt.Errorf("invalid guard_type: must be omada, citymesh, linuxvm, or gateway")
```

Footnoted in 3 docs today (partner-network-design.md, site-types.md, citymesh-venue.md), but the underlying rename is not done.

## Fix

1. Accept `partner` as the canonical value in `pkg/api/handlers.go` validation, with `citymesh` kept as an accepted alias for back-compat with existing `mesh.yaml` files in the wild.
2. Update CLI flag help in `internal/cli/venue.go` to list `partner` first.
3. Migrate `mesh.yaml` on the Brussels hub from `citymesh` → `partner` (one-time edit; auto-backup #1 covers the rollback if needed).
4. Strip the `partner` vs `citymesh` footnote from partner-network-design.md, site-types.md, citymesh-venue.md once the code accepts the canonical name.

Keep `citymesh-venue.md` filename as-is (or rename to `partner-venue.md` — bikeshed).

## Verification

- `hydraguard venue add foo --guard partner` succeeds.
- Pre-existing entries with `guard_type: citymesh` in `mesh.yaml` still load and apply.
- All three doc footnotes can be removed.

Custom Fields

affected_repo
hydraguard
category_tag
cleanup
effort
small