EDM-4064: Deploy OS/apps cannot target fleets with an owner (ResourceSync) - #775
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Enterprise Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (3)
Included review availability: Your plan provides up to 12 included reviews per hour; 11 remain after this review. WalkthroughThe fleet API now supports unmanaged-fleet filtering. Catalog installation steps use this filter, rely on the API-provided eligible-fleet count, and update eligibility messages. ChangesUnmanaged fleet targeting
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to The PR makes a localized UI change to filter non-selectable fleets and explain why; no actionable merge-blocking risk remains after normal checks and review. Suggested labels: Suggested reviewers: 🚥 Pre-merge checks | ✅ 14 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (14 passed)
Full details: Docstring CoverageExplanation No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 3 files. Full details: No-Hardcoded-SecretsExplanation No hardcoded secret was introduced. The pull request adds only fleet-filter values and user-facing translation text. The added-line scan found no credential URLs, secret-like variable assignments, PEM private keys, or base64 string literals longer than 32 characters. Existing secret-related translation terms and example URLs are unchanged context, not secret values. Full details: No-Weak-CryptoExplanation The pull request adds fleet filtering, pagination handling, and user-facing text only. The added lines contain no MD5, SHA1, DES, RC4, 3DES, Blowfish, ECB, crypto API, custom cryptography, or secret/token comparison logic. The weak-crypto check has no applicable failure. Full details: No-Injection-VectorsExplanation PASS: The PR adds only fleet filtering, query-string construction, and translated UI text. The changed files contain no eval/exec, dangerouslySetInnerHTML, os.system, exec.Command, or yaml.load usage. The user-controlled fleet name is placed in URLSearchParams for an API fieldSelector; it is not passed to an evaluated, shell, HTML, or YAML sink. Full details: Container-PrivilegesExplanation PASS — The pull request changes only TypeScript fleet-selection logic and localization text. The diff introduces no container or Kubernetes manifest fields for Full details: No-Sensitive-Data-In-LogsExplanation PASS: The pull request adds no logging statements or logging integrations. The added code only builds a fleet API field selector, updates fleet filtering, and changes user-facing text. The shared fetch path stores errors in state but does not log them. No passwords, tokens, API keys, session IDs, PII, hostnames, or customer data are written to logs by the changed behavior. Full details: Resource-LeaksExplanation PASS: The pull request changes only TypeScript and translation files. The diff from Full details: Unchecked-ErrorsExplanation PASS. The pull request changes only Full details: Ai-AttributionExplanation The pull-request commit explicitly uses the acceptable trailer Full details: Generated-Files-Not-Hand-EditedExplanation The PR directly changes the generated file Full details: I18n-ComplianceExplanation PASS: The changed .tsx files wrap all added user-visible text in t(). The new fleet-disabled reason and fleet description use hardcoded string literals. Structural inspection found no t() call that uses a variable key. The other changes are filtering and state logic, not unwrapped UI text.
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Made-with: Cursor
cfa7c97 to
f18830d
Compare
Given that fleets owned by a RS are not eligible for deploying from catalog, we filter them out and add an explanation text.
If no fleets exist at all, or all that exist are owned by Resource Syncs:

Showing that only fleets without an owner are displayed - all are selectable.

Summary
libs/ui-components/to request only unmanaged fleets for catalog deployments.onlyUnmanagedfilter toFleetsEndpointArgs.libs/types/,libs/i18n/,libs/cypress/, the Go auth proxy, container builds, E2E tests, or CI configuration.