- Introduced KubernetesAffectedResource and KubernetesResourceBreakdown interfaces to enhance metric monitoring capabilities.
- Updated MetricMonitorResponse to include kubernetesResourceBreakdown.
- Enhanced AreaChart, BarChart, and LineChart components with onValueChange prop for better interactivity.
- Added new Dashboard components: Gauge and Table, with respective configuration arguments.
- Implemented DashboardVariableSelector for dynamic variable selection in dashboards.
- Added warning and critical thresholds to DashboardValueComponent and DashboardChartComponent for improved data visualization.
- Updated DashboardChartComponentUtil to support additional queries and chart types.
- Enhanced error handling and loading states in Dashboard components.
- Introduced AreaChart component for area visualization.
- Updated MetricCharts to use AREA chart type instead of LINE for non-bar charts.
- Enhanced ChartGroup to support AreaChart alongside existing Line and Bar charts.
- Modified ChartColors utility to include hex values for color mapping.
- Adjusted LineChart to utilize dynamic curve types based on props.
- Refactored KubernetesYamlTab for improved styling and responsiveness.
- Updated tooltip and legend functionalities for better user interaction.
- Added support for notification rule conditions and filters in incident and alert summaries.
- Introduced utility functions for bold text and links in markdown formatting.
- Updated incident and alert value builders to include labels and descriptions.
- Enhanced summary blocks with improved formatting for total counts, severity, and state breakdowns.
- Refactored detailed incident and alert listings to use new formatting utilities.
- Improved overall readability and consistency of markdown output for notifications.
- Introduced a new column `sendFirstReportAt` to the `WorkspaceNotificationSummary` table.
- Updated default values for `rotation` and `restrictionTimes` columns in the `OnCallDutyPolicyScheduleLayer` table.
- Adjusted the logic in SendSummary.ts to calculate the next send time based on the recurring interval before updating the nextSendAt field.
- Implemented WorkspaceNotificationSummaryAPI to handle notification summary requests.
- Created WorkspaceNotificationSummaryService for business logic related to notification summaries.
- Added enums for WorkspaceNotificationSummaryItem and WorkspaceNotificationSummaryType to define summary items and types.
- Developed a cron job to send workspace notification summaries at regular intervals.
- Enhanced error handling and logging for summary sending process.
- Improved formatting and consistency in various Kubernetes view files, including HPADetail, HPAs, Index, Jobs, Layout, Namespaces, NodeDetail, Nodes, PersistentVolumes, Pods, ServiceMesh, SideMenu, StatefulSets, VPADetail, and VPAs.
- Removed unnecessary line breaks and adjusted indentation for better readability.
- Simplified conditional checks and array methods for clarity.
- Enhanced the overall structure of the code to follow best practices.
- Added KubernetesTemplatePicker and KubernetesMetricPicker components for selecting alert templates and metrics.
- Updated KubernetesMonitorStepForm to support quick setup, custom metrics, and advanced configurations.
- Integrated query parameters for pre-filling template and cluster selections.
- Improved user experience with tabs for different setup modes (Quick, Custom, Advanced).
- Updated descriptions and functionality in MonitorStep and Alerts pages to reflect new features.
- Introduced KubernetesMetricCatalog for managing Kubernetes metrics and their properties.
- Implemented KubernetesClusterServiceMesh component to display Istio and Linkerd metrics.
- Created KubernetesClusterVPADetail component for detailed views of Vertical Pod Autoscalers (VPA).
- Added KubernetesClusterVPAs component to list all VPAs in a cluster.
- Introduced KubernetesAlertTemplates for monitoring various Kubernetes conditions, including CrashLoopBackOff, Pod Pending, Node Not Ready, and more.
- Developed MonitorStepKubernetesMonitor interface for Kubernetes monitoring configurations.
- Added StatusBadge component for consistent status representation across the dashboard.
- Introduced AlertBanner component for displaying cluster health and node pressure alerts.
- Implemented FilterButtons component for improved event filtering options.
- Created ResourceUsageBar for visualizing resource usage in pods.
- Developed StackedProgressBar for displaying pod health breakdown.
- Added ConditionsTable for displaying conditions with improved styling and functionality.
- Enhanced existing components (DeploymentDetail, Events, Index, PodDetail) to utilize new UI components and improve overall user experience.
- Added top CPU and memory pod consumers to the Kubernetes cluster overview.
- Implemented node pressure indicators for memory, disk, and PID pressure.
- Introduced recent warning events section in the cluster overview.
- Added YAML tab for viewing resource specifications in Job, Namespace, Node, Pod, PVC, PV, and StatefulSet details.
- Updated side menu to display resource counts for various Kubernetes objects.
- Enhanced node detail view with roles, internal IP, and pressure conditions.
- Improved error handling and loading states in the YAML tab component.
Replace inadequate <script> tag regex with proper sanitization:
- Server-side: override marked's html renderer to escape raw HTML tokens
- Client-side: sanitize preview output with DOMPurify before rendering
- Implemented KubernetesClusterPVCDetail and KubernetesClusterPVCs components to display PVC details and list.
- Created KubernetesClusterPVs component to list all Persistent Volumes in the cluster.
- Updated routing and page mapping for PVCs and PVs.
- Enhanced existing Kubernetes components to utilize new utility functions for better data handling.
- Removed unused InfoCard components for a cleaner UI.
- Added yAxisValueFormatter to metric queries for better chart representation.
- Updated Helm chart to include PVC and PV data collection.
TypeORM sorts migrations by the timestamp in the last 13 chars of the
class name. Migration 1773761409952 (ALTER TABLE) had a lower timestamp
than 1774000000000 (CREATE TABLE), causing it to run first on a
non-existent table and crash the app during startup.
Renamed 1773761409952 → 1774000000001 so the CREATE TABLE migration
executes first.
- Simplified error handling in KubernetesEventsTab and KubernetesLogsTab by removing unnecessary line breaks.
- Consolidated import statements in KubernetesMetricsTab for better readability.
- Improved JSX formatting in KubernetesOverviewTab, KubernetesClusterContainerDetail, and other components for consistency.
- Enhanced code clarity in KubernetesObjectFetcher and KubernetesObjectParser by removing redundant line breaks and comments.
- Streamlined API response handling in IPWhitelistAPI for better readability.
- Updated PageSEO configuration for improved formatting.