diff --git a/web/locales/en/plugin__monitoring-plugin.json b/web/locales/en/plugin__monitoring-plugin.json
index 49b7a3101..89da82f43 100644
--- a/web/locales/en/plugin__monitoring-plugin.json
+++ b/web/locales/en/plugin__monitoring-plugin.json
@@ -1,72 +1,10 @@
{
- "Recreate silence": "Recreate silence",
- "Edit silence": "Edit silence",
- "Expire silence": "Expire silence",
- "Starts": "Starts",
- "Ends": "Ends",
- "Expired": "Expired",
- "Name": "Name",
- "Firing alerts": "Firing alerts",
- "State": "State",
- "Creator": "Creator",
- "Alerts": "Alerts",
- "Silences": "Silences",
- "Alerting rules": "Alerting rules",
- "Alerting": "Alerting",
- "Severity": "Severity",
- "Namespace": "Namespace",
- "Source": "Source",
- "Cluster": "Cluster",
- "Silence alert": "Silence alert",
- "View AI Investigation": "View AI Investigation",
- "Loading investigations...": "Loading investigations...",
- "User": "User",
- "Platform": "Platform",
- "Export as CSV": "Export as CSV",
- "Description": "Description",
- "Active since": "Active since",
- "Value": "Value",
- "{{name}} details": "{{name}} details",
- "Alerting rule details": "Alerting rule details",
- "Summary": "Summary",
- "Message": "Message",
- "Runbook": "Runbook",
- "For": "For",
- "Expression": "Expression",
- "Labels": "Labels",
- "Active alerts": "Active alerts",
- "None found": "None found",
- "Filter by Name": "Filter by Name",
- "Alert State": "Alert State",
- "Filter by State": "Filter by State",
+ "Error loading silences from Alertmanager. Some of the alerts below may actually be silenced.": "Error loading silences from Alertmanager. Some of the alerts below may actually be silenced.",
"Firing": "Firing",
"Pending": "Pending",
"Silenced": "Silenced",
"Not Firing": "Not Firing",
- "Filter by Severity": "Filter by Severity",
- "Critical": "Critical",
- "Warning": "Warning",
- "Info": "Info",
- "None": "None",
- "Filter by Source": "Filter by Source",
- "Label": "Label",
- "Filter by Label": "Filter by Label",
- "Alert Rules Table": "Alert Rules Table",
- "No alerting rules found": "No alerting rules found",
- "Alert details": "Alert details",
- "Alerting rule": "Alerting rule",
- "Silenced by": "Silenced by",
- "Pending: ": "Pending: ",
- "The alert is active but is waiting for the duration that is specified in the alerting rule before it fires.": "The alert is active but is waiting for the duration that is specified in the alerting rule before it fires.",
- "Firing: ": "Firing: ",
- "The alert is firing because the alert condition is true and the optional `for` duration has passed. The alert will continue to fire as long as the condition remains true.": "The alert is firing because the alert condition is true and the optional `for` duration has passed. The alert will continue to fire as long as the condition remains true.",
- "Silenced: ": "Silenced: ",
- "The alert is now silenced for a defined time period. Silences temporarily mute alerts based on a set of label selectors that you define. Notifications will not be sent for alerts that match all the listed values or regular expressions.": "The alert is now silenced for a defined time period. Silences temporarily mute alerts based on a set of label selectors that you define. Notifications will not be sent for alerts that match all the listed values or regular expressions.",
- "Alert Name": "Alert Name",
- "Total": "Total",
- "Filter by Cluster": "Filter by Cluster",
- "No alerts found": "No alerts found",
- "Error loading silences from Alertmanager. Some of the alerts below may actually be silenced.": "Error loading silences from Alertmanager. Some of the alerts below may actually be silenced.",
+ "Ends": "Ends",
"Since": "Since",
"Inspect": "Inspect",
"The condition that triggered the alert could have a critical impact. The alert requires immediate attention when fired and is typically paged to an individual or to a critical response team.": "The condition that triggered the alert could have a critical impact. The alert requires immediate attention when fired and is typically paged to an individual or to a critical response team.",
@@ -78,9 +16,22 @@
"Platform-level alerts relate only to OpenShift namespaces. OpenShift namespaces provide core OpenShift functionality.": "Platform-level alerts relate only to OpenShift namespaces. OpenShift namespaces provide core OpenShift functionality.",
"User: ": "User: ",
"User workload alerts relate to user-defined namespaces. These alerts are user-created and are customizable. User workload monitoring can be enabled post-installation to provide observability into your own services.": "User workload alerts relate to user-defined namespaces. These alerts are user-created and are customizable. User workload monitoring can be enabled post-installation to provide observability into your own services.",
- "Create silence": "Create silence",
- "Overwriting current silence": "Overwriting current silence",
- "When changes are saved, the currently existing silence will be expired and a new silence with the new configuration will take its place.": "When changes are saved, the currently existing silence will be expired and a new silence with the new configuration will take its place.",
+ "Platform": "Platform",
+ "User": "User",
+ "Severity": "Severity",
+ "Critical": "Critical",
+ "Warning": "Warning",
+ "Info": "Info",
+ "None": "None",
+ "Recreate silence": "Recreate silence",
+ "Edit silence": "Edit silence",
+ "Expire silence": "Expire silence",
+ "Starts": "Starts",
+ "Expired": "Expired",
+ "Name": "Name",
+ "Firing alerts": "Firing alerts",
+ "State": "State",
+ "Creator": "Creator",
"Invalid date / time": "Invalid date / time",
"Datetime": "Datetime",
"Select the negative matcher option to update the label value to a not equals matcher.": "Select the negative matcher option to update the label value to a not equals matcher.",
@@ -110,6 +61,7 @@
"regular expression": "regular expression",
"Label name": "Label name",
"Label value": "Label value",
+ "Value": "Value",
"Select all that apply:": "Select all that apply:",
"RegEx": "RegEx",
"Negative matcher": "Negative matcher",
@@ -119,6 +71,66 @@
"Comment": "Comment",
"Silence": "Silence",
"Cancel": "Cancel",
+ "Active": "Active",
+ "Expire Silence": "Expire Silence",
+ "Are you sure you want to expire this silence?": "Are you sure you want to expire this silence?",
+ "An error occurred": "An error occurred",
+ "Source": "Source",
+ "Filter by Name": "Filter by Name",
+ "Alert State": "Alert State",
+ "Filter by State": "Filter by State",
+ "Filter by Severity": "Filter by Severity",
+ "Filter by Source": "Filter by Source",
+ "Label": "Label",
+ "Filter by Label": "Filter by Label",
+ "Alerting": "Alerting",
+ "Alert Rules Table": "Alert Rules Table",
+ "No alerting rules found": "No alerting rules found",
+ "Alerts": "Alerts",
+ "Silences": "Silences",
+ "Alerting rules": "Alerting rules",
+ "Description": "Description",
+ "Active since": "Active since",
+ "Silence alert": "Silence alert",
+ "{{name}} details": "{{name}} details",
+ "Alerting rule details": "Alerting rule details",
+ "Summary": "Summary",
+ "Message": "Message",
+ "Runbook": "Runbook",
+ "For": "For",
+ "Expression": "Expression",
+ "Labels": "Labels",
+ "Active alerts": "Active alerts",
+ "None found": "None found",
+ "Namespace": "Namespace",
+ "Cluster": "Cluster",
+ "Alert Name": "Alert Name",
+ "Total": "Total",
+ "Filter by Cluster": "Filter by Cluster",
+ "No alerts found": "No alerts found",
+ "Always review AI-generated content prior to use.": "Always review AI-generated content prior to use.",
+ "View AI Investigation": "View AI Investigation",
+ "Loading investigations...": "Loading investigations...",
+ "Export as CSV": "Export as CSV",
+ "Alert details": "Alert details",
+ "Alerting rule": "Alerting rule",
+ "Silenced by": "Silenced by",
+ "Pending: ": "Pending: ",
+ "The alert is active but is waiting for the duration that is specified in the alerting rule before it fires.": "The alert is active but is waiting for the duration that is specified in the alerting rule before it fires.",
+ "Firing: ": "Firing: ",
+ "The alert is firing because the alert condition is true and the optional `for` duration has passed. The alert will continue to fire as long as the condition remains true.": "The alert is firing because the alert condition is true and the optional `for` duration has passed. The alert will continue to fire as long as the condition remains true.",
+ "Silenced: ": "Silenced: ",
+ "The alert is now silenced for a defined time period. Silences temporarily mute alerts based on a set of label selectors that you define. Notifications will not be sent for alerts that match all the listed values or regular expressions.": "The alert is now silenced for a defined time period. Silences temporarily mute alerts based on a set of label selectors that you define. Notifications will not be sent for alerts that match all the listed values or regular expressions.",
+ "Create silence": "Create silence",
+ "Overwriting current silence": "Overwriting current silence",
+ "When changes are saved, the currently existing silence will be expired and a new silence with the new configuration will take its place.": "When changes are saved, the currently existing silence will be expired and a new silence with the new configuration will take its place.",
+ "Silence State": "Silence State",
+ "Silences Table": "Silences Table",
+ "Error loading silences from Alertmanager. Alertmanager may be unavailable.": "Error loading silences from Alertmanager. Alertmanager may be unavailable.",
+ "No silences found": "No silences found",
+ "Error": "Error",
+ "Expire {{count}} silence_one": "Expire {{count}} silence",
+ "Expire {{count}} silence_other": "Expire {{count}} silences",
"Silence details": "Silence details",
"Actions": "Actions",
"Matchers": "Matchers",
@@ -129,41 +141,49 @@
"Created by": "Created by",
"No Alerts found": "No Alerts found",
"View alerting rule": "View alerting rule",
- "Silence State": "Silence State",
- "Active": "Active",
- "Silences Table": "Silences Table",
- "Error loading silences from Alertmanager. Alertmanager may be unavailable.": "Error loading silences from Alertmanager. Alertmanager may be unavailable.",
- "No silences found": "No silences found",
- "Error": "Error",
- "Expire {{count}} silence_one": "Expire {{count}} silence",
- "Expire {{count}} silence_other": "Expire {{count}} silences",
- "Expire Silence": "Expire Silence",
- "Are you sure you want to expire this silence?": "Are you sure you want to expire this silence?",
- "An error occurred": "An error occurred",
- "Restricted access": "Restricted access",
- "You don't have access to this section due to cluster policy": "You don't have access to this section due to cluster policy",
- "Error details": "Error details",
- "No {{label}} found": "No {{label}} found",
- "Not found": "Not found",
- "Try again": "Try again",
- "Error loading {{label}}": "Error loading {{label}}",
- "404: Not Found": "404: Not Found",
- "{{labels}} content is not available in the catalog at this time due to loading failures.": "{{labels}} content is not available in the catalog at this time due to loading failures.",
- "No datapoints found.": "No datapoints found.",
- "Filter {{label}}...": "Filter {{label}}...",
- "Create new option \"{{option}}\"": "Create new option \"{{option}}\"",
- "Filter options": "Filter options",
- "Clear input value": "Clear input value",
- "No results found": "No results found",
+ "Alerts Timeline": "Alerts Timeline",
+ "To view alerts, select an incident from the chart above or from the filters.": "To view alerts, select an incident from the chart above or from the filters.",
+ "Component": "Component",
+ "Start": "Start",
+ "End": "End",
+ "Resolved": "Resolved",
+ "Unknown": "Unknown",
+ "Incidents Timeline": "Incidents Timeline",
+ "ID": "ID",
+ "Component(s)": "Component(s)",
+ "Alert": "Alert",
+ "No incident selected.": "No incident selected.",
+ "The incident is critical.": "The incident is critical.",
+ "The incident might lead to critical.": "The incident might lead to critical.",
+ "Informative": "Informative",
+ "The incident is not critical.": "The incident is not critical.",
+ "The incident is currently firing.": "The incident is currently firing.",
+ "The incident is not currently firing.": "The incident is not currently firing.",
+ "Incidents": "Incidents",
+ "Incident data is updated every few minutes. What you see may be up to 5 minutes old. Refresh the page to view updated information.": "Incident data is updated every few minutes. What you see may be up to 5 minutes old. Refresh the page to view updated information.",
+ "Clear all filters": "Clear all filters",
+ "Filter type selection": "Filter type selection",
+ "Incident ID": "Incident ID",
+ "Severity filters": "Severity filters",
+ "State filters": "State filters",
+ "Incident ID filters": "Incident ID filters",
+ "Last 1 day": "Last 1 day",
+ "Last 3 days": "Last 3 days",
+ "Last 7 days": "Last 7 days",
+ "Last 15 days": "Last 15 days",
+ "Show graph": "Show graph",
+ "Hide graph": "Hide graph",
+ "component": "component",
+ "components": "components",
"Custom time range": "Custom time range",
"From": "From",
"To": "To",
"Save": "Save",
"Dashboards": "Dashboards",
"Metrics dashboards": "Metrics dashboards",
- "Error Loading Dashboards": "Error Loading Dashboards",
"Loading": "Loading",
"Error loading card": "Error loading card",
+ "Dashboard": "Dashboard",
"Error loading options": "Error loading options",
"Select a dashboard from the dropdown": "Select a dashboard from the dropdown",
"panel.styles attribute not found": "panel.styles attribute not found",
@@ -179,6 +199,47 @@
"Time range": "Time range",
"Refresh interval": "Refresh interval",
"Could not parse JSON data for dashboard \"{{dashboard}}\"": "Could not parse JSON data for dashboard \"{{dashboard}}\"",
+ "Error Loading Dashboards": "Error Loading Dashboards",
+ "Expression (press Shift+Enter for newlines)": "Expression (press Shift+Enter for newlines)",
+ "Access restricted.": "Access restricted.",
+ "Failed to load metrics list.": "Failed to load metrics list.",
+ "Clear query": "Clear query",
+ "Queries": "Queries",
+ "Select query": "Select query",
+ "Add query": "Add query",
+ "Collapse all query tables": "Collapse all query tables",
+ "Expand all query tables": "Expand all query tables",
+ "Delete all queries": "Delete all queries",
+ "Show series": "Show series",
+ "Hide series": "Hide series",
+ "Disable query": "Disable query",
+ "Enable query": "Enable query",
+ "Hide all series": "Hide all series",
+ "Show all series": "Show all series",
+ "Query must be enabled": "Query must be enabled",
+ "Delete query": "Delete query",
+ "Duplicate query": "Duplicate query",
+ "Error loading values": "Error loading values",
+ "No datapoints found.": "No datapoints found.",
+ "Unselect all": "Unselect all",
+ "Select all": "Select all",
+ "Error loading custom data source": "Error loading custom data source",
+ "An error occurred while loading the custom data source.": "An error occurred while loading the custom data source.",
+ "No query entered": "No query entered",
+ "Enter a query in the box below to explore metrics for this cluster.": "Enter a query in the box below to explore metrics for this cluster.",
+ "Insert example query": "Insert example query",
+ "Run queries": "Run queries",
+ "Bytes Binary (KiB, MiB)": "Bytes Binary (KiB, MiB)",
+ "Bytes Decimal (kb, MB)": "Bytes Decimal (kb, MB)",
+ "Bytes Binary Per Second (KiB/s, MiB/s)": "Bytes Binary Per Second (KiB/s, MiB/s)",
+ "Bytes Decimal Per Second (kB/s, MB/s)": "Bytes Decimal Per Second (kB/s, MB/s)",
+ "Packets Per Second": "Packets Per Second",
+ "Miliseconds": "Miliseconds",
+ "Seconds": "Seconds",
+ "Percentage": "Percentage",
+ "No Units": "No Units",
+ "Metrics": "Metrics",
+ "This dropdown only formats results.": "This dropdown only formats results.",
"Rename Dashboard": "Rename Dashboard",
"Dashboard name": "Dashboard name",
"Renaming...": "Renaming...",
@@ -198,8 +259,6 @@
"? This action can not be undone.": "? This action can not be undone.",
"Deleting...": "Deleting...",
"Delete": "Delete",
- "Must be 75 or fewer characters long": "Must be 75 or fewer characters long",
- "Dashboard name '{{dashboardName}}' already exists in '{{projectName}}' project!": "Dashboard name '{{dashboardName}}' already exists in '{{projectName}}' project!",
"Checking permissions...": "Checking permissions...",
"Create": "Create",
"Dashboard actions": "Dashboard actions",
@@ -229,38 +288,63 @@
"Perses dashboard detected.": "Perses dashboard detected.",
"2. Select project": "2. Select project",
"Importing...": "Importing...",
+ "No Dashboard Available in Selected Project": "No Dashboard Available in Selected Project",
+ "To explore data, create a dashboard for this project": "To explore data, create a dashboard for this project",
+ "No Perses Project Available": "No Perses Project Available",
+ "To explore data, create a Perses Project": "To explore data, create a Perses Project",
+ "No projects found": "No projects found",
+ "No results match the filter criteria.": "No results match the filter criteria.",
+ "Clear filters": "Clear filters",
+ "Select project...": "Select project...",
+ "Projects": "Projects",
+ "All Projects": "All Projects",
+ "Project": "Project",
+ "useToast must be used within ToastProvider": "useToast must be used within ToastProvider",
+ "Project is required for fetching project dashboards": "Project is required for fetching project dashboards",
+ "Add To Dashboard": "Add To Dashboard",
+ "Add to dashboard": "Add to dashboard",
+ "Query: {{query}}": "Query: {{query}}",
"Rename dashboard": "Rename dashboard",
"Duplicate dashboard": "Duplicate dashboard",
"Delete dashboard": "Delete dashboard",
"You don't have permissions for dashboard actions": "You don't have permissions for dashboard actions",
- "Dashboard": "Dashboard",
- "Project": "Project",
+ "Tags": "Tags",
"Created on": "Created on",
"Last Modified": "Last Modified",
"Filter by name": "Filter by name",
"Filter by project": "Filter by project",
+ "No results found": "No results found",
"No dashboards found": "No dashboards found",
"No results match the filter criteria. Clear filters to show results.": "No results match the filter criteria. Clear filters to show results.",
"No Perses dashboards are currently available in this project.": "No Perses dashboards are currently available in this project.",
- "Clear all filters": "Clear all filters",
"Dashboard not found": "Dashboard not found",
"The dashboard \"{{name}}\" was not found in project \"{{project}}\".": "The dashboard \"{{name}}\" was not found in project \"{{project}}\".",
"Empty Dashboard": "Empty Dashboard",
"To get started add something to your dashboard": "To get started add something to your dashboard",
"Edit": "Edit",
"You don't have permission to edit this dashboard": "You don't have permission to edit this dashboard",
- "No Dashboard Available in Selected Project": "No Dashboard Available in Selected Project",
- "To explore data, create a dashboard for this project": "To explore data, create a dashboard for this project",
- "No Perses Project Available": "No Perses Project Available",
- "To explore data, create a Perses Project": "To explore data, create a Perses Project",
- "Project is required for fetching project dashboards": "Project is required for fetching project dashboards",
- "No projects found": "No projects found",
- "No results match the filter criteria.": "No results match the filter criteria.",
- "Clear filters": "Clear filters",
- "Select project...": "Select project...",
- "Projects": "Projects",
- "All Projects": "All Projects",
- "useToast must be used within ToastProvider": "useToast must be used within ToastProvider",
+ "Must be 75 or fewer characters long": "Must be 75 or fewer characters long",
+ "Dashboard name '{{dashboardName}}' already exists in '{{projectName}}' project!": "Dashboard name '{{dashboardName}}' already exists in '{{projectName}}' project!",
+ "Up": "Up",
+ "Down": "Down",
+ "Target details": "Target details",
+ "Targets": "Targets",
+ "Error loading service monitor data": "Error loading service monitor data",
+ "Error loading pod monitor data": "Error loading pod monitor data",
+ "Endpoint": "Endpoint",
+ "Last scrape": "Last scrape",
+ "Scrape failed": "Scrape failed",
+ "Status": "Status",
+ "Monitor": "Monitor",
+ "Text": "Text",
+ "Last Scrape": "Last Scrape",
+ "Scrape Duration": "Scrape Duration",
+ "Search by endpoint or namespace...": "Search by endpoint or namespace...",
+ "Filter by Status": "Filter by Status",
+ "Metrics targets": "Metrics targets",
+ "Error loading latest targets data": "Error loading latest targets data",
+ "Targets Table": "Targets Table",
+ "No metrics targets found": "No metrics targets found",
"Refresh off": "Refresh off",
"{{count}} second_one": "{{count}} second",
"{{count}} second_other": "{{count}} seconds",
@@ -270,82 +354,7 @@
"{{count}} hour_other": "{{count}} hours",
"{{count}} day_one": "{{count}} day",
"{{count}} day_other": "{{count}} days",
- "Alerts Timeline": "Alerts Timeline",
- "To view alerts, select an incident from the chart above or from the filters.": "To view alerts, select an incident from the chart above or from the filters.",
- "Component": "Component",
- "Start": "Start",
- "End": "End",
- "Resolved": "Resolved",
- "Unknown": "Unknown",
- "Incidents Timeline": "Incidents Timeline",
- "ID": "ID",
- "Component(s)": "Component(s)",
- "Alert": "Alert",
- "Incidents": "Incidents",
- "Incident data is updated every few minutes. What you see may be up to 5 minutes old. Refresh the page to view updated information.": "Incident data is updated every few minutes. What you see may be up to 5 minutes old. Refresh the page to view updated information.",
- "Filter type selection": "Filter type selection",
- "Incident ID": "Incident ID",
- "Severity filters": "Severity filters",
- "State filters": "State filters",
- "Incident ID filters": "Incident ID filters",
- "Last 1 day": "Last 1 day",
- "Last 3 days": "Last 3 days",
- "Last 7 days": "Last 7 days",
- "Last 15 days": "Last 15 days",
- "Show graph": "Show graph",
- "Hide graph": "Hide graph",
- "No incident selected.": "No incident selected.",
- "The incident is critical.": "The incident is critical.",
- "The incident might lead to critical.": "The incident might lead to critical.",
- "Informative": "Informative",
- "The incident is not critical.": "The incident is not critical.",
- "The incident is currently firing.": "The incident is currently firing.",
- "The incident is not currently firing.": "The incident is not currently firing.",
- "component": "component",
- "components": "components",
"No labels": "No labels",
- "Expression (press Shift+Enter for newlines)": "Expression (press Shift+Enter for newlines)",
- "Access restricted.": "Access restricted.",
- "Failed to load metrics list.": "Failed to load metrics list.",
- "Clear query": "Clear query",
- "Queries": "Queries",
- "Select query": "Select query",
- "Add query": "Add query",
- "Collapse all query tables": "Collapse all query tables",
- "Expand all query tables": "Expand all query tables",
- "Delete all queries": "Delete all queries",
- "Show series": "Show series",
- "Hide series": "Hide series",
- "Disable query": "Disable query",
- "Enable query": "Enable query",
- "Hide all series": "Hide all series",
- "Show all series": "Show all series",
- "Query must be enabled": "Query must be enabled",
- "Delete query": "Delete query",
- "Duplicate query": "Duplicate query",
- "Error loading values": "Error loading values",
- "Unselect all": "Unselect all",
- "Select all": "Select all",
- "Error loading custom data source": "Error loading custom data source",
- "An error occurred while loading the custom data source.": "An error occurred while loading the custom data source.",
- "No query entered": "No query entered",
- "Enter a query in the box below to explore metrics for this cluster.": "Enter a query in the box below to explore metrics for this cluster.",
- "Insert example query": "Insert example query",
- "Run queries": "Run queries",
- "Bytes Binary (KiB, MiB)": "Bytes Binary (KiB, MiB)",
- "Bytes Decimal (kb, MB)": "Bytes Decimal (kb, MB)",
- "Bytes Binary Per Second (KiB/s, MiB/s)": "Bytes Binary Per Second (KiB/s, MiB/s)",
- "Bytes Decimal Per Second (kB/s, MB/s)": "Bytes Decimal Per Second (kB/s, MB/s)",
- "Packets Per Second": "Packets Per Second",
- "Miliseconds": "Miliseconds",
- "Seconds": "Seconds",
- "Percentage": "Percentage",
- "No Units": "No Units",
- "Metrics": "Metrics",
- "This dropdown only formats results.": "This dropdown only formats results.",
- "Add To Dashboard": "Add To Dashboard",
- "Add to dashboard": "Add to dashboard",
- "Query: {{query}}": "Query: {{query}}",
"graph timespan": "graph timespan",
"Reset zoom": "Reset zoom",
"Displaying with reduced resolution due to large dataset.": "Displaying with reduced resolution due to large dataset.",
@@ -367,24 +376,17 @@
"Current page": "Current page",
"Pagination": "Pagination",
"of": "of",
- "Up": "Up",
- "Down": "Down",
- "Target details": "Target details",
- "Targets": "Targets",
- "Error loading service monitor data": "Error loading service monitor data",
- "Error loading pod monitor data": "Error loading pod monitor data",
- "Endpoint": "Endpoint",
- "Last scrape": "Last scrape",
- "Scrape failed": "Scrape failed",
- "Status": "Status",
- "Monitor": "Monitor",
- "Text": "Text",
- "Last Scrape": "Last Scrape",
- "Scrape Duration": "Scrape Duration",
- "Search by endpoint or namespace...": "Search by endpoint or namespace...",
- "Filter by Status": "Filter by Status",
- "Metrics targets": "Metrics targets",
- "Error loading latest targets data": "Error loading latest targets data",
- "Targets Table": "Targets Table",
- "No metrics targets found": "No metrics targets found"
-}
+ "Restricted access": "Restricted access",
+ "You don't have access to this section due to cluster policy": "You don't have access to this section due to cluster policy",
+ "Error details": "Error details",
+ "No {{label}} found": "No {{label}} found",
+ "Not found": "Not found",
+ "Try again": "Try again",
+ "Error loading {{label}}": "Error loading {{label}}",
+ "404: Not Found": "404: Not Found",
+ "{{labels}} content is not available in the catalog at this time due to loading failures.": "{{labels}} content is not available in the catalog at this time due to loading failures.",
+ "Filter {{label}}...": "Filter {{label}}...",
+ "Create new option \"{{option}}\"": "Create new option \"{{option}}\"",
+ "Filter options": "Filter options",
+ "Clear input value": "Clear input value"
+}
\ No newline at end of file
diff --git a/web/src/features/alerts/pages/alerts-page/AlertTableRow.tsx b/web/src/features/alerts/pages/alerts-page/AlertTableRow.tsx
index ed8299e8c..8f12cf658 100644
--- a/web/src/features/alerts/pages/alerts-page/AlertTableRow.tsx
+++ b/web/src/features/alerts/pages/alerts-page/AlertTableRow.tsx
@@ -6,7 +6,16 @@ import {
ResourceIcon,
ResourceLink,
} from '@openshift-console/dynamic-plugin-sdk';
-import { DropdownItem, Flex, FlexItem, Spinner } from '@patternfly/react-core';
+import {
+ Content,
+ ContentVariants,
+ Divider,
+ DropdownItem,
+ Flex,
+ FlexItem,
+ Spinner,
+} from '@patternfly/react-core';
+import { InfoCircleIcon } from '@patternfly/react-icons';
import { Td, Tr } from '@patternfly/react-table';
import type { FC } from 'react';
import { useTranslation } from 'react-i18next';
@@ -64,11 +73,22 @@ const AlertTableRow: FC<{ alert: Alert }> = ({ alert }) => {
if (runName) {
const runUrl = getAgenticRunUrl(run.metadata.namespace, runName);
dropdownItems.push(
+ ,
}
onClick={() => navigate(runUrl)}
data-test={DataTestIDs.ViewAIInvestigationDropdownItem}
+ description={
+
+
+
+
+
+ {t('Always review AI-generated content prior to use.')}
+
+
+ }
>
{t('View AI Investigation')}
,