mirror of
https://github.com/fleetdm/fleet
synced 2026-04-29 01:17:35 +00:00
For #27301 # Checklist for submitter <!-- Note that API documentation changes are now addressed by the product design team. --> - [X] Changes file added for user-visible changes in `changes/`, `orbit/changes/` or `ee/fleetd-chrome/changes`. See [Changes files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/Committing-Changes.md#changes-files) for more information. - [X] Input data is properly validated, `SELECT *` is avoided, SQL injection is prevented (using placeholders for values in statements) - [X] Added/updated automated tests - [X] A detailed QA plan exists on the associated ticket (if it isn't there, work with the product group's QA engineer to add it) - [X] Manual QA for all new/changed functionality # Details This PR adds the ability to set/unset labels on policies via GitOps. It builds on https://github.com/fleetdm/fleet/pull/27575 (back end for policy labels) and updates the `PolicySpec` type and `ApplyPolicySpecs` methods to update the `policy_labels` table where needed. ## Testing 1. Create a few labels in the UI 1. Create a global policy "foo" in the UI without labels 2. Create a global policy "bar" in the UI with labels 2. Create a global policy "baz" in the UI with labels 4. Use `fleetctl gitops` with a global .yml file, and under `policies:` add "foo", "bar", "baz" and "boop". * Add labels to "foo" with `labels_include_any:` * Don't add `labels_include_any:` to "bar" * Add labels to "baz" with `labels_include_any:`, but different labels than what you added in the UI * Add labels to "boop" with `labels_include_any:` The expected outcome when viewing the queries in the UI (on the "edit query" screen) * Foo, Baz and Boop should have the labels specified in gitops * Bar should have no labels Repeat testing with _excluded_ labels. --------- Co-authored-by: dantecatalfamo <dante.catalfamo@gmail.com> Co-authored-by: Dante Catalfamo <43040593+dantecatalfamo@users.noreply.github.com> |
||
|---|---|---|
| .. | ||
| gitops | ||
| convert_input.conf | ||
| convert_output.yml | ||
| expectedGetConfigAppConfigJson.json | ||
| expectedGetConfigAppConfigTeamMaintainerJson.json | ||
| expectedGetConfigAppConfigTeamMaintainerYaml.yml | ||
| expectedGetConfigAppConfigYaml.yml | ||
| expectedGetConfigIncludeServerConfigJson.json | ||
| expectedGetConfigIncludeServerConfigYaml.yml | ||
| expectedGetTeamsJson.json | ||
| expectedGetTeamsText.txt | ||
| expectedGetTeamsYaml.yml | ||
| expectedHostDetailResponseJson.json | ||
| expectedHostDetailResponseYaml.yml | ||
| expectedListHostsJson.json | ||
| expectedListHostsMDM.json | ||
| expectedListHostsYaml.yml | ||
| macosSetupExpectedAppConfigEmpty.yml | ||
| macosSetupExpectedAppConfigSet.yml | ||
| macosSetupExpectedTeam1And2Empty.yml | ||
| macosSetupExpectedTeam1And2Set.yml | ||
| macosSetupExpectedTeam1Empty.yml | ||
| macosSetupExpectedTeam1Set.yml | ||