@skyhook-io/k8s-ui 1.8.10 → 1.8.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. package/package.json +7 -6
  2. package/src/assets/gitops/argocd.png +0 -0
  3. package/src/assets/gitops/flux.svg +7 -0
  4. package/src/components/applications/AppChips.tsx +10 -0
  5. package/src/components/applications/ApplicationDetail.test.tsx +697 -0
  6. package/src/components/applications/ApplicationDetail.tsx +3269 -474
  7. package/src/components/applications/ApplicationsView.tsx +62 -10
  8. package/src/components/applications/applications-view.test.tsx +47 -0
  9. package/src/components/applications/index.ts +1 -1
  10. package/src/components/audit/AuditAlerts.tsx +14 -10
  11. package/src/components/checks/ChecksView.tsx +2 -3
  12. package/src/components/checks/severity.ts +14 -10
  13. package/src/components/cluster-switcher/ClusterSwitcher.tsx +2 -2
  14. package/src/components/compare/CompareResourcePicker.tsx +2 -2
  15. package/src/components/gitops/GitOpsDetailLayout.tsx +13 -3
  16. package/src/components/gitops/GitOpsGraphFilterRail.tsx +2 -1
  17. package/src/components/gitops/GitOpsTableView.tsx +13 -6
  18. package/src/components/gitops/ManagedResourcesList.tsx +8 -11
  19. package/src/components/gitops/SyncCountdown.tsx +26 -17
  20. package/src/components/gitops/SyncOptionsDialog.test.ts +48 -0
  21. package/src/components/gitops/SyncOptionsDialog.tsx +190 -46
  22. package/src/components/gitops/insights/ArgoResourceDiff.tsx +172 -0
  23. package/src/components/gitops/insights/GitOpsInsightViews.tsx +474 -121
  24. package/src/components/gitops/insights/index.ts +1 -0
  25. package/src/components/gitops/insights/insights-helpers.test.ts +102 -1
  26. package/src/components/gitops/insights/insights-helpers.ts +74 -1
  27. package/src/components/gitops/tree/GitOpsTreeGraph.tsx +10 -2
  28. package/src/components/issues/IssuesView.tsx +91 -52
  29. package/src/components/issues/ResourceIssuesSection.test.tsx +39 -6
  30. package/src/components/issues/ResourceIssuesSection.tsx +46 -144
  31. package/src/components/issues/index.ts +3 -0
  32. package/src/components/issues/issue-timing.ts +53 -0
  33. package/src/components/issues/issues.test.ts +102 -1
  34. package/src/components/issues/severity.ts +3 -0
  35. package/src/components/logs/LogCore.tsx +14 -4
  36. package/src/components/logs/WorkloadLogsViewer.tsx +31 -6
  37. package/src/components/logs/useLogStream.ts +8 -1
  38. package/src/components/namespace-switcher/NamespacePicker.tsx +86 -107
  39. package/src/components/resources/ResourcesSidebar.test.tsx +71 -0
  40. package/src/components/resources/ResourcesSidebar.tsx +46 -46
  41. package/src/components/resources/ResourcesView.selected-kind.test.ts +143 -0
  42. package/src/components/resources/ResourcesView.tsx +233 -51
  43. package/src/components/resources/renderers/AWSMachineRenderer.tsx +3 -2
  44. package/src/components/resources/renderers/AWSManagedClusterRenderer.tsx +3 -2
  45. package/src/components/resources/renderers/AWSManagedControlPlaneRenderer.tsx +3 -2
  46. package/src/components/resources/renderers/AWSManagedMachinePoolRenderer.tsx +3 -2
  47. package/src/components/resources/renderers/AzureMachineRenderer.tsx +3 -2
  48. package/src/components/resources/renderers/AzureManagedControlPlaneRenderer.tsx +3 -2
  49. package/src/components/resources/renderers/AzureManagedMachinePoolRenderer.tsx +3 -2
  50. package/src/components/resources/renderers/CAPIClusterRenderer.tsx +3 -2
  51. package/src/components/resources/renderers/CAPIKubeadmControlPlaneRenderer.tsx +3 -2
  52. package/src/components/resources/renderers/CAPIMachineDeploymentRenderer.tsx +3 -2
  53. package/src/components/resources/renderers/CAPIMachineHealthCheckRenderer.tsx +3 -2
  54. package/src/components/resources/renderers/CAPIMachinePoolRenderer.tsx +3 -2
  55. package/src/components/resources/renderers/CAPIMachineRenderer.tsx +3 -2
  56. package/src/components/resources/renderers/CAPIMachineSetRenderer.tsx +3 -2
  57. package/src/components/resources/renderers/CertificateRenderer.tsx +3 -2
  58. package/src/components/resources/renderers/CertificateRequestRenderer.tsx +3 -2
  59. package/src/components/resources/renderers/ClusterComplianceReportRenderer.tsx +2 -2
  60. package/src/components/resources/renderers/CompositeRenderer.tsx +3 -2
  61. package/src/components/resources/renderers/CronWorkflowRenderer.tsx +99 -0
  62. package/src/components/resources/renderers/ExternalSecretRenderer.tsx +3 -2
  63. package/src/components/resources/renderers/GCPMachineRenderer.tsx +3 -2
  64. package/src/components/resources/renderers/GCPManagedControlPlaneRenderer.tsx +3 -2
  65. package/src/components/resources/renderers/GCPManagedMachinePoolRenderer.tsx +3 -2
  66. package/src/components/resources/renderers/GRPCRouteRenderer.tsx +7 -3
  67. package/src/components/resources/renderers/GatewayClassRenderer.tsx +3 -2
  68. package/src/components/resources/renderers/HTTPRouteRenderer.tsx +7 -3
  69. package/src/components/resources/renderers/JobRenderer.tsx +3 -1
  70. package/src/components/resources/renderers/KarpenterEC2NodeClassRenderer.tsx +3 -2
  71. package/src/components/resources/renderers/KarpenterNodeClaimRenderer.tsx +3 -2
  72. package/src/components/resources/renderers/KarpenterNodePoolRenderer.tsx +3 -2
  73. package/src/components/resources/renderers/KedaScaledJobRenderer.tsx +3 -2
  74. package/src/components/resources/renderers/KedaScaledObjectRenderer.tsx +3 -2
  75. package/src/components/resources/renderers/ManagedResourceRenderer.tsx +3 -2
  76. package/src/components/resources/renderers/PVCRenderer.tsx +3 -2
  77. package/src/components/resources/renderers/PrometheusRuleRenderer.tsx +2 -2
  78. package/src/components/resources/renderers/SbomReportRenderer.tsx +2 -2
  79. package/src/components/resources/renderers/SealedSecretRenderer.tsx +3 -2
  80. package/src/components/resources/renderers/SecretRenderer.tsx +2 -0
  81. package/src/components/resources/renderers/SecretStoreRenderer.tsx +3 -2
  82. package/src/components/resources/renderers/ServiceRenderer.tsx +58 -40
  83. package/src/components/resources/renderers/SimpleRouteRenderer.tsx +7 -3
  84. package/src/components/resources/renderers/VulnerabilityReportRenderer.tsx +2 -2
  85. package/src/components/resources/renderers/WorkflowRenderer.test.tsx +43 -0
  86. package/src/components/resources/renderers/WorkflowRenderer.tsx +60 -78
  87. package/src/components/resources/renderers/index.ts +1 -0
  88. package/src/components/resources/resource-utils-argo.test.ts +18 -1
  89. package/src/components/resources/resource-utils-argo.ts +8 -0
  90. package/src/components/resources/resource-utils-capi.ts +1 -1
  91. package/src/components/resources/resource-utils.ts +31 -0
  92. package/src/components/shared/DetailShell.tsx +2 -2
  93. package/src/components/shared/ResourceActionsBar.tsx +142 -111
  94. package/src/components/shared/ResourceRendererDispatch.tsx +33 -4
  95. package/src/components/shared/UnifiedDiff.tsx +51 -0
  96. package/src/components/shared/index.ts +1 -0
  97. package/src/components/timeline/TimelineList.tsx +375 -354
  98. package/src/components/timeline/TimelineStrip.test.tsx +194 -0
  99. package/src/components/timeline/TimelineStrip.tsx +836 -0
  100. package/src/components/timeline/TimelineSwimlanes.test.tsx +1028 -0
  101. package/src/components/timeline/TimelineSwimlanes.tsx +2498 -593
  102. package/src/components/timeline/TimelineToolbar.test.tsx +320 -0
  103. package/src/components/timeline/TimelineToolbar.tsx +759 -0
  104. package/src/components/timeline/TimelineToolbarState.test.tsx +88 -0
  105. package/src/components/timeline/index.ts +23 -0
  106. package/src/components/timeline/scrubber-math.test.ts +235 -0
  107. package/src/components/timeline/scrubber-math.ts +249 -0
  108. package/src/components/timeline/shared.test.tsx +219 -0
  109. package/src/components/timeline/shared.tsx +232 -447
  110. package/src/components/timeline/timeline-filters.test.ts +196 -0
  111. package/src/components/timeline/timeline-filters.ts +180 -0
  112. package/src/components/timeline/timeline-lane-sort.test.ts +97 -0
  113. package/src/components/timeline/timeline-lane-sort.ts +77 -0
  114. package/src/components/timeline/timeline-live.test.ts +131 -0
  115. package/src/components/timeline/timeline-live.ts +77 -0
  116. package/src/components/topology/GroupNode.tsx +9 -2
  117. package/src/components/topology/K8sResourceNode.test.ts +11 -0
  118. package/src/components/topology/K8sResourceNode.tsx +387 -243
  119. package/src/components/topology/TopologyBreadcrumb.tsx +30 -0
  120. package/src/components/topology/TopologyControls.tsx +3 -1
  121. package/src/components/topology/TopologyFilterSidebar.tsx +9 -0
  122. package/src/components/topology/TopologyGraph.tsx +149 -90
  123. package/src/components/topology/TopologyOverlayBar.tsx +30 -0
  124. package/src/components/topology/TopologySearch.tsx +25 -17
  125. package/src/components/topology/index.ts +2 -0
  126. package/src/components/topology/layout.ts +10 -2
  127. package/src/components/topology/topology.css +0 -92
  128. package/src/components/ui/Badge.tsx +6 -1
  129. package/src/components/ui/CodeViewer.tsx +2 -2
  130. package/src/components/ui/Collapse.tsx +59 -0
  131. package/src/components/ui/ConfirmDialog.tsx +7 -3
  132. package/src/components/ui/DialogPortal.tsx +31 -9
  133. package/src/components/ui/Input.tsx +24 -0
  134. package/src/components/ui/MultiSelectPicker.test.tsx +101 -0
  135. package/src/components/ui/MultiSelectPicker.tsx +167 -0
  136. package/src/components/ui/PaneLoader.tsx +10 -2
  137. package/src/components/ui/ResourceBar.tsx +68 -25
  138. package/src/components/ui/SearchBox.tsx +18 -4
  139. package/src/components/ui/SearchPillInput.tsx +2 -2
  140. package/src/components/ui/SelectMenu.tsx +81 -0
  141. package/src/components/ui/drawer-components.tsx +48 -32
  142. package/src/components/ui/index.ts +6 -0
  143. package/src/components/ui/severity-tone.ts +11 -4
  144. package/src/components/workload/ResourceDetailDrawer.tsx +6 -2
  145. package/src/components/workload/WorkloadView.tsx +2706 -475
  146. package/src/components/workload/index.ts +1 -1
  147. package/src/theme/tailwind-theme.css +1 -0
  148. package/src/theme/variables.css +2 -1
  149. package/src/types/core.ts +57 -4
  150. package/src/types/gitops-insights.ts +69 -1
  151. package/src/types/gitops.ts +3 -3
  152. package/src/utils/application-history.test.ts +538 -0
  153. package/src/utils/application-history.ts +257 -0
  154. package/src/utils/application-topology.test.ts +198 -0
  155. package/src/utils/application-topology.ts +261 -0
  156. package/src/utils/applications.test.ts +201 -1
  157. package/src/utils/applications.ts +1182 -393
  158. package/src/utils/index.ts +3 -0
  159. package/src/utils/navigation.test.ts +32 -1
  160. package/src/utils/navigation.ts +70 -0
  161. package/src/utils/resource-hierarchy.test.ts +1024 -1
  162. package/src/utils/resource-hierarchy.ts +925 -267
  163. package/src/utils/resource-icons.ts +2 -0
  164. package/src/utils/topology-neighborhood.test.ts +202 -1
  165. package/src/utils/topology-neighborhood.ts +194 -13
  166. package/src/utils/workflow-execution.test.ts +556 -0
  167. package/src/utils/workflow-execution.ts +814 -0
  168. package/src/utils/workload-colors.ts +2 -3
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skyhook-io/k8s-ui",
3
- "version": "1.8.10",
3
+ "version": "1.8.12",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/skyhook-io/radar",
@@ -61,14 +61,15 @@
61
61
  "./assets/radar/radar-icon-loading.svg": "./src/assets/radar/radar-icon-loading.svg"
62
62
  },
63
63
  "scripts": {
64
- "tsc": "tsc --noEmit",
64
+ "tsc": "node ../../node_modules/typescript-7/bin/tsc --noEmit",
65
+ "tsc:ts6": "tsc --noEmit",
65
66
  "test": "vitest run",
66
67
  "format": "prettier --write \"src/**/*.{ts,tsx}\""
67
68
  },
68
69
  "dependencies": {
69
70
  "@monaco-editor/react": "^4.7.0",
70
71
  "html-to-image": "^1.11.0",
71
- "react-virtuoso": "^4.18.7",
72
+ "react-virtuoso": "^4.18.10",
72
73
  "shiki": "^4.2.0"
73
74
  },
74
75
  "peerDependencies": {
@@ -91,15 +92,15 @@
91
92
  "@xterm/addon-fit": "^0.11.0",
92
93
  "@xterm/addon-web-links": "^0.12.0",
93
94
  "@xterm/xterm": "^6.0.0",
94
- "@xyflow/react": "^12.10.1",
95
+ "@xyflow/react": "^12.11.2",
95
96
  "clsx": "^2.1.1",
96
97
  "diff": "^9.0.0",
97
98
  "elkjs": "^0.11.1",
98
- "lucide-react": "^1.22.0",
99
+ "lucide-react": "^1.24.0",
99
100
  "react": "^19.2.7",
100
101
  "react-dom": "^19.2.7",
101
102
  "typescript": "^6.0.2",
102
- "vitest": "^4.1.8",
103
+ "vitest": "^4.1.10",
103
104
  "yaml": "^2.9.0"
104
105
  }
105
106
  }
Binary file
@@ -0,0 +1,7 @@
1
+ <svg width="64" height="64" viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg">
2
+ <g transform="translate(11 2)" fill="none" fill-rule="evenodd">
3
+ <path fill="#326CE5" d="M.803 15.779c-1.049-.682-1.049-2.219 0-2.901L20.182.28a1.73 1.73 0 0 1 1.886 0l19.379 12.599c1.05.682 1.05 2.218 0 2.901L22.068 28.378a1.73 1.73 0 0 1-1.886 0L.803 15.779Z"/>
4
+ <path fill="#C1D2F7" d="M24.185 18.002h1.344a1.02 1.02 0 0 0 .884-1.529l-4.405-7.629a1.02 1.02 0 0 0-1.766 0l-4.404 7.629a1.02 1.02 0 0 0 .883 1.529h1.345c.563 0 1.019.457 1.019 1.02v8.708l.902.587a2.08 2.08 0 0 0 2.276 0l.902-.587v-8.708c0-.563.456-1.02 1.02-1.02Z"/>
5
+ <path fill="#326CE5" d="m27.839 34.838-4.674-3.039v1.44c1.525.653 3.094 1.162 4.674 1.599Zm-4.674.99v2.022c1.545.471 3.107.858 4.654 1.239 5.052 1.246 9.823 2.421 13.659 6.259.195.194.378.392.559.592.394-.752.197-1.744-.59-2.255l-7.591-4.936c-1.843-.608-3.72-1.073-5.575-1.53-1.75-.432-3.461-.862-5.116-1.391Zm-4.08-1.658a22.93 22.93 0 0 1-1.922-1.121l-1.736 1.128a20.12 20.12 0 0 0 3.658 2.145V34.17Zm5.809 6.435c-.58-.143-1.157-.285-1.729-.431v1.987c.424.106.847.211 1.268.315 5.051 1.245 9.822 2.421 13.659 6.258l.019.02 1.641-1.067c-.1-.105-.194-.212-.298-.315-4.216-4.217-9.475-5.513-14.56-6.767Zm-5.809-1.614c-2.195-.752-4.276-1.72-6.174-3.178l-1.699 1.105c2.416 1.993 5.107 3.202 7.873 4.099v-2.026Zm0 4.39c-3.778-.99-7.332-2.199-10.367-4.843l-1.671 1.087c3.566 3.285 7.807 4.658 12.038 5.746v-1.99Zm4.08 3.013c3.953 1.02 7.67 2.24 10.817 5.044l1.662-1.08c-3.679-3.458-8.093-4.839-12.479-5.954v1.99ZM4.579 41.23 2.93 42.302c.058.06.11.121.17.18 4.216 4.217 9.474 5.513 14.56 6.767 4.404 1.085 8.594 2.12 12.139 4.91l1.69-1.1c-3.993-3.362-8.75-4.543-13.367-5.68-5.001-1.233-9.726-2.403-13.543-6.149Zm-3.503 3.276a14.75 14.75 0 0 1-.552-.584c-.752.753-.663 2.05.28 2.663l5.706 3.71c2.525 1.046 5.166 1.7 7.764 2.34 4.054.999 7.927 1.957 11.284 4.281l1.725-1.123c-3.815-2.869-8.242-3.968-12.548-5.029-5.051-1.245-9.822-2.421-13.659-6.258Zm18.568 14.328c.38.185.756.38 1.125.588.44.093.908.016 1.299-.238l.958-.623c-3.077-2.058-6.498-3.1-9.906-3.968l6.524 4.241Z"/>
6
+ </g>
7
+ </svg>
@@ -2,6 +2,7 @@ import { Tooltip } from '../ui/Tooltip'
2
2
  import {
3
3
  type AppRow,
4
4
  type AppWorkloadClass,
5
+ type BatchSignal,
5
6
  CHIP,
6
7
  CHIP_TONE,
7
8
  CLASS_META,
@@ -69,6 +70,15 @@ export function CategoryChip({ category, addonReason }: { category?: string; add
69
70
  )
70
71
  }
71
72
 
73
+ export function BatchSignalChip({ signal }: { signal: BatchSignal | null }) {
74
+ if (!signal) return null
75
+ return (
76
+ <Tooltip content={signal.detail} delay={150}>
77
+ <span className={`${CHIP} ${CHIP_TONE[signal.tone]}`}>{signal.label}</span>
78
+ </Tooltip>
79
+ )
80
+ }
81
+
72
82
  /** The version display: appVersion when the workloads agree on one upstream
73
83
  * version, the single image tag, or "N versions" (amber only on real skew).
74
84
  * `cell` = table chip styling, `fact` = the detail context strip. */