fix(fleet): drop tier gate from stack and container list endpoints (#1012)

Community tier opened the Fleet Overview drilldown (node card → stack
list → container list) but two read-only metadata endpoints in
fleet.ts kept their requirePaid gate. Stack names still rendered
because they ride on the un-gated /api/fleet/overview payload, but
expanding a stack always re-fetched containers and hit the orphan
gate, surfacing as a "Failed to load containers for X" toast on every
node card on Community.

Drop requirePaid from GET /node/:nodeId/stacks and
GET /node/:nodeId/stacks/:stackName/containers. Both handlers stay
behind authMiddleware, validate inputs, and proxy to the per-node
api_token for remote nodes. Paid mutations (bulk update, scheduled
snapshots, label bulk actions, Fleet Actions cards) keep their gates
in fleetActions.ts. Add positive Community-tier tests in fleet.test.ts
and clear the stale "Requires Skipper or Admiral license" line from
the OpenAPI descriptions.
This commit is contained in:
Anso
2026-05-09 01:55:56 -04:00
committed by GitHub
parent 412d3696c8
commit 693f9b4495
3 changed files with 18 additions and 6 deletions
+2 -2
View File
@@ -1888,7 +1888,7 @@ paths:
operationId: getFleetNodeStacks
tags: [Fleet]
summary: List stacks on a fleet node
description: Returns stack names from a specific fleet node. Requires Skipper or Admiral license.
description: Returns stack names from a specific fleet node.
parameters:
- name: nodeId
in: path
@@ -1928,7 +1928,7 @@ paths:
operationId: getFleetNodeStackContainers
tags: [Fleet]
summary: List containers in a fleet node stack
description: Returns containers for a specific stack on a specific fleet node. Requires Skipper or Admiral license.
description: Returns containers for a specific stack on a specific fleet node.
parameters:
- name: nodeId
in: path