api: the subsystem is zt — a subsystem name IS an address
manifest.Apps "zero-trust" -> "zt", and plugin/zero-trust -> plugin/zt. This is the only hyphenated subsystem name in the fleet, and a subsystem name is not a label: serve.go:440 mints GET /v1/<name>/health for every subsystem, so `zero-trust` was publishing a live compound address, /v1/zero-trust/health. subsystem.go:78 derives the default prefix from the same string. The name is api surface whether or not anyone meant it to be. `zt` is not an abbreviation invented here — it is what the code has called this thing all along. The package is apps/zt, the Mount is zt.Mount, the upstream service is hanzoai/zt. The manifest row was the only place still spelling it out, and it forced a translation table to exist: gen-app-cmds carried a pkgOf entry "zero-trust"→"zt" purely to get from the app name back to the package it lives in, and openapi/synopsis.go and mk/plugin.mk each documented the same exception. All three lose it — the name-derived guess is now simply right, and one fewer name means one fewer mapping to keep true. OPERATOR-VISIBLE, and deliberate: the per-app env overrides are derived from the app name, so CLOUD_ZERO_TRUST_ADDR / CLOUD_ZERO_TRUST_BIN become CLOUD_ZT_ADDR / CLOUD_ZT_BIN. Anything setting the old names must move. TestPluginResolution asserts the new one. The four served routes do not move — /v1/networks[/:id], /v1/mesh/services and /v1/edge/nodes were never under the subsystem's name, which is what plugin/zt/main.go's comment exists to explain. Nothing in openapi.yaml changes: the health routes this name mints are not in the projection.
This commit is contained in:
Reference in New Issue
Block a user