From 9f160c058f4edf56e3c9aaadc784071b161fa37c Mon Sep 17 00:00:00 2001 From: RachelElysia <71795832+RachelElysia@users.noreply.github.com> Date: Fri, 4 Nov 2022 09:21:37 -0400 Subject: [PATCH] Fleet UI: Surface how to override modifying agent options that are invalid (#8561) --- ...nform-user-override-agent-options-validation | 1 + .../OrgSettingsForm/OrgSettingsForm.tsx | 17 ++++++++++++++++- .../AgentOptionsPage/AgentOptionsPage.tsx | 17 ++++++++++++++++- 3 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 changes/issue-8002-inform-user-override-agent-options-validation diff --git a/changes/issue-8002-inform-user-override-agent-options-validation b/changes/issue-8002-inform-user-override-agent-options-validation new file mode 100644 index 0000000000..fc1dbb3fec --- /dev/null +++ b/changes/issue-8002-inform-user-override-agent-options-validation @@ -0,0 +1 @@ +- When submitting invalid agent options, inform user how to override agent options using fleetctl force flag diff --git a/frontend/pages/admin/AppSettingsPage/components/OrgSettingsForm/OrgSettingsForm.tsx b/frontend/pages/admin/AppSettingsPage/components/OrgSettingsForm/OrgSettingsForm.tsx index a6415a4da7..f518ffbc54 100644 --- a/frontend/pages/admin/AppSettingsPage/components/OrgSettingsForm/OrgSettingsForm.tsx +++ b/frontend/pages/admin/AppSettingsPage/components/OrgSettingsForm/OrgSettingsForm.tsx @@ -82,9 +82,24 @@ const OrgSettingsForm = ({ "Could not connect to SMTP server. Please try again." ); } else if (response?.data.errors) { + const agentOptionsInvalid = + response.data.errors[0].reason.includes( + "unsupported key provided" + ) || + response.data.errors[0].reason.includes("invalid value type"); + renderFlash( "error", - `Could not update settings. ${response.data.errors[0].reason}` + <> + Could not update settings. {response.data.errors[0].reason} + {agentOptionsInvalid && ( + <> +
+ If you’re not using the latest osquery, use the fleetctl + apply --force command to override validation. + + )} + ); } }) diff --git a/frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/AgentOptionsPage/AgentOptionsPage.tsx b/frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/AgentOptionsPage/AgentOptionsPage.tsx index 14e8733b49..492b67be40 100644 --- a/frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/AgentOptionsPage/AgentOptionsPage.tsx +++ b/frontend/pages/admin/TeamManagementPage/TeamDetailsWrapper/AgentOptionsPage/AgentOptionsPage.tsx @@ -109,9 +109,24 @@ const AgentOptionsPage = ({ }) .catch((response: { data: IApiError }) => { console.error(response); + + const agentOptionsInvalid = + response.data.errors[0].reason.includes("unsupported key provided") || + response.data.errors[0].reason.includes("invalid value type"); + return renderFlash( "error", - `Could not update ${teamName} team agent options. ${response.data.errors[0].reason}` + <> + Could not update {teamName} team agent options.{" "} + {response.data.errors[0].reason} + {agentOptionsInvalid && ( + <> +
+ If you’re not using the latest osquery, use the fleetctl apply + --force command to override validation. + + )} + ); }) .finally(() => {