Add "Support" default software category#47923
Conversation
Adds a new default self-service software category, rendered as "🛟 Support", alongside the existing six defaults. - Add to fleet.DefaultSelfServiceCategoryNames (seeds new fleets) and LegacySoftwareCategoryNames so GitOps/FMA manifests can reference the non-emoji "Support". - New migration backfills the global default and every existing fleet. - Allow "Support" in the maintained-apps (FMA) validator. - Add to the frontend SoftwareCategory type and fallback category list. - Document the new supported GitOps category. Placed between Security and Utilities so it matches the ORDER BY name collation order used by ListSoftwareCategories.
There was a problem hiding this comment.
Claude Code Review
This repository is configured for manual code reviews. Comment @claude review to trigger a review and subscribe this PR to future pushes, or @claude review once for a one-time review.
Tip: disable this comment in your organization's Code Review settings.
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #47923 +/- ##
=======================================
Coverage 67.25% 67.26%
=======================================
Files 3641 3642 +1
Lines 230237 230253 +16
Branches 11986 11988 +2
=======================================
+ Hits 154856 154870 +14
- Misses 61464 61465 +1
- Partials 13917 13918 +1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Warning
- Copilot's review of this pull request may be incomplete because some of the changed files are excluded by your Copilot content exclusion settings. See Excluding content from Copilot for details.
Pull request overview
Adds a new default self-service software category, 🛟 Support, and wires it through the backend defaults/migrations plus frontend and maintained-app validation so it can be referenced consistently (including via legacy non-emoji Support).
Changes:
- Backend: extend default/legacy category mappings and add a migration to seed/backfill 🛟 Support.
- Frontend: extend the category type union and the static fallback category list to include Support.
- Maintained apps: allow
Supportas a valid category in the validator allowlist.
Reviewed changes
Copilot reviewed 7 out of 9 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| server/fleet/software.go | Adds 🛟 Support to default seeded category names and legacy name translation map. |
| server/datastore/mysql/schema.sql | Regenerates schema seed data to include the new migration and Support category row. |
| server/datastore/mysql/migrations/tables/20260619120000_AddSupportSoftwareCategory.go | Migration to insert global default 🛟 Support and backfill per-team rows. |
| server/datastore/mysql/migrations/tables/20260619120000_AddSupportSoftwareCategory_test.go | Migration test verifying insertion/backfill and pinned timestamps. |
| frontend/pages/hosts/details/cards/Software/SelfService/helpers.ts | Adds 🛟 Support to the deprecated static fallback categories list. |
| frontend/interfaces/software.ts | Extends SoftwareCategory union with "Support". |
| cmd/maintained-apps/main.go | Allows Support in maintained-app category validation. |
| docs/Configuration/yaml-files.md | Excluded from diff (content not reviewed). |
| changes/add-support-software-category | Excluded from diff (content not reviewed). |
Files excluded by content exclusion policy (2)
- changes/add-support-software-category
- docs/Configuration/yaml-files.md
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (8)
WalkthroughAdds "🛟 Support" as a new default self-service software category. The backend domain model in Possibly related issues
Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
jkatz01
left a comment
There was a problem hiding this comment.
Looks good, consistent with all the new changes
Related issue: Resolves #
Adds a new default self-service software category, rendered as 🛟 Support, alongside the existing six defaults (Browsers, Communication, Developer tools, Productivity, Security, Utilities).
What changed
Backend (Go)
server/fleet/software.go— added🛟 SupporttoDefaultSelfServiceCategoryNames(seeds new fleets) and"Support": "🛟 Support"toLegacySoftwareCategoryNames(so GitOps/FMA manifests can reference the non-emojiSupport).20260619120000_AddSupportSoftwareCategory— inserts the global default (team_id=0) and backfills every existing fleet. Timestamps pinned for deterministic schema dumps;INSERT IGNOREguards the(team_id, name)unique key.schema.sqlregenerated viatools/dbutils.cmd/maintained-apps/main.go— addedSupportto the FMA validator allowlist.Frontend
frontend/interfaces/software.ts— added"Support"to theSoftwareCategoryunion.frontend/pages/hosts/details/cards/Software/SelfService/helpers.ts— added{ label: "🛟 Support", value: "Support" }to the fallback list.Docs
docs/Configuration/yaml-files.md— documentedSupportas a supported GitOps category.Note on sort order
ListSoftwareCategoriesdoesORDER BY nameunderutf8mb4_unicode_ci, which sorts by the word after the (ignorable) emoji.🛟 Supportis therefore placed between🔐 Securityand🛠️ Utilities.Checklist for submitter
Changes file added for user-visible changes in
changes/.Input data is properly validated,
SELECT *is avoided, SQL injection is prevented (using placeholders for values in statements), JS inline code is prevented especially for url redirects, and untrusted data interpolated into shell scripts/commands is validated against shell metacharacters.Testing
Verified against a dockerized MySQL:
TestUp_20260619120000TestSoftware/SoftwareCategoryCRUD(order-sensitive assertion)TestSelfServiceCategoriesCRUD+TestDeviceSelfServiceCategoriesintegration testscmd/maintained-appstests, ee categories test,go vet,make lint-go-incremental(0 issues)tools/dbutilsschema regeneration matchesDatabase migrations
COLLATE utf8mb4_unicode_ci).New Fleet configuration settings
categoriessupported values indocs/Configuration/yaml-files.md).Summary by CodeRabbit