chore(ui): hide Mesh, Fleet Secrets, and Host Console behind experimental discovery (#1624)

Gate Routing, Secrets, Host Console, and Mesh dashboard/settings surfaces on the existing useExperimental readiness flag so immature operator surfaces stay out of the default UI while paid and admin backend gates remain unchanged.
This commit is contained in:
Anso
2026-07-13 11:55:50 -04:00
committed by GitHub
parent 9b3f5c5a90
commit 0cd03c6f87
23 changed files with 578 additions and 62 deletions
+3 -3
View File
@@ -12,7 +12,7 @@ The unit of work is the **bundle**. One bundle has one current `kv` payload; pus
</Frame>
<Note>
Fleet Secrets is an Admiral feature. Every action requires an admin user role.
Fleet Secrets is a limited-availability surface. When it is enabled on an instance, it requires an Admiral license and an admin user role.
</Note>
## What Fleet Secrets covers (and what it doesn't)
@@ -38,7 +38,7 @@ A **push** is a separate action. It reads the bundle's current version, walks ev
| Requirement | Why it matters |
|---|---|
| Admiral license on the control instance | Fleet Secrets is an Admiral feature |
| Admiral license on the control instance | Fleet Secrets requires Admiral when the surface is enabled |
| Admin user role | Bundle CRUD and push run as the signed-in operator and write authored-by rows into the audit log |
| At least one stack on at least one node | Pushes target an existing stack directory; the wizard does not create stacks |
| The target stack's compose declares the env file via `env_file:` | The env-file dropdown in the push wizard reads `env_file:` entries from a representative node's compose; a stack with only an inline `environment:` block will not show up |
@@ -46,7 +46,7 @@ A **push** is a separate action. It reads the bundle's current version, walks ev
## Create a bundle
1. Open **Fleet → Secrets**.
1. Open **Fleet → Secrets** (when that tab is available on the instance).
2. Click **New bundle**.
3. Give it a name. Names are 2-64 characters, alphanumerics plus space, dot, dash, and underscore, and must start and end with an alphanumeric.
4. Optionally add a description; the description is a free-text field and is shown in the bundle list.