fc-desktop: add phase 1 capacity guards #23

Open
bluejay wants to merge 1 commits from sprint44/cx-9-fc-desktop-cpu-phase-1 into main
Owner

What changed

  • Adds apps/fc-desktop/resourcequota.yaml for the live-adoptable ResourceQuota/fc-desktop-session-cap.
  • Preserves the cap=15 guard and existing CPU/RAM request ceiling, then adds the Sprint 44 Phase 1 PVC/storage backstops.
  • Adds apps/fc-desktop/limitrange.yaml for the per-container CPU/RAM default/request/max/min shape.
  • Adds focused fc-desktop capacity-policy lint coverage and refreshes stale lint expectations for current bluejay-infra manifest shapes.

Scope split

bluejay-infra only owns fc-desktop infra manifests. FairShareEvaluator, TenantResourceQuota, REST/MCP/Razor parity, and TenantQuotaOverrideAuditEvent remain a follow-up in FlowerCore.RemoteDesktop rather than fabricated in this repo.

Validation

  • dotnet.exe test tests\bluejay-infra-lint\BluejayInfraLint.Tests.csproj --nologo -v minimal --filter FullyQualifiedName~FcDesktopCapacityPolicyTests -> 30/30 passed.
  • CI-shaped isolated clone full lint -> 90/90 passed.
  • Full local workspace lint after edits -> 89/90 passed; remaining failure is pre-existing in sibling workspace file FlowerCore.Updater/k8s/ingressroute.yaml, not in bluejay-infra changed manifests.
  • kubectl.exe --kubeconfig ... apply --dry-run=client -f apps\fc-desktop\resourcequota.yaml -f apps\fc-desktop\limitrange.yaml passed.
  • git diff --check passed.
  • Read-only live checks confirmed RemoteDesktop__PoolWarmupEnabled=false and live ResourceQuota/fc-desktop-session-cap currently has count/pods=15, requests.cpu=8, requests.memory=16Gi.

Deploy posture

Phase A is manifest-only and has no image bump. Phase B should happen only after the FlowerCore.RemoteDesktop service-code follow-up lands.

## What changed - Adds `apps/fc-desktop/resourcequota.yaml` for the live-adoptable `ResourceQuota/fc-desktop-session-cap`. - Preserves the cap=15 guard and existing CPU/RAM request ceiling, then adds the Sprint 44 Phase 1 PVC/storage backstops. - Adds `apps/fc-desktop/limitrange.yaml` for the per-container CPU/RAM default/request/max/min shape. - Adds focused fc-desktop capacity-policy lint coverage and refreshes stale lint expectations for current bluejay-infra manifest shapes. ## Scope split `bluejay-infra` only owns fc-desktop infra manifests. `FairShareEvaluator`, `TenantResourceQuota`, REST/MCP/Razor parity, and `TenantQuotaOverrideAuditEvent` remain a follow-up in `FlowerCore.RemoteDesktop` rather than fabricated in this repo. ## Validation - `dotnet.exe test tests\bluejay-infra-lint\BluejayInfraLint.Tests.csproj --nologo -v minimal --filter FullyQualifiedName~FcDesktopCapacityPolicyTests` -> 30/30 passed. - CI-shaped isolated clone full lint -> 90/90 passed. - Full local workspace lint after edits -> 89/90 passed; remaining failure is pre-existing in sibling workspace file `FlowerCore.Updater/k8s/ingressroute.yaml`, not in bluejay-infra changed manifests. - `kubectl.exe --kubeconfig ... apply --dry-run=client -f apps\fc-desktop\resourcequota.yaml -f apps\fc-desktop\limitrange.yaml` passed. - `git diff --check` passed. - Read-only live checks confirmed `RemoteDesktop__PoolWarmupEnabled=false` and live `ResourceQuota/fc-desktop-session-cap` currently has `count/pods=15`, `requests.cpu=8`, `requests.memory=16Gi`. ## Deploy posture Phase A is manifest-only and has no image bump. Phase B should happen only after the `FlowerCore.RemoteDesktop` service-code follow-up lands.
bluejay added 1 commit 2026-05-20 20:50:09 +00:00
This pull request has changes conflicting with the target branch.
  • tests/bluejay-infra-lint/FleetManifestLintTests.cs
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin sprint44/cx-9-fc-desktop-cpu-phase-1:sprint44/cx-9-fc-desktop-cpu-phase-1
git checkout sprint44/cx-9-fc-desktop-cpu-phase-1
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: bluejay/bluejay-infra#23