Repository navigation
Commit 0b4d90b
authored
Remove six columns that cannot say anything, and fix two that can (#1658)
Seven curated table columns audited against the upstream CRD schemas
rather than against Radar's own accessors. Six could not report anything
about the object and are removed; two more turned out to be wrong rather
than empty, and are fixed.
## Removed
Each of these rendered the same value on every row of every cluster, or
repeated the cell beside it.
- **NodeClaim — Namespace.** `nodeclaims` is `scope=Cluster`, so the
cell was a literal `-` everywhere while spending `w-36` the Name column
could use.
- **Calico NetworkPolicy / StagedNetworkPolicy — Namespace Selector.**
`namespaceSelector` is declared on `GlobalNetworkPolicySpec`, not on the
namespaced `NetworkPolicySpec`. The two Global kinds keep their column.
The namespaced kinds already carry every selector field their schema
does define — `selector`, `serviceAccountSelector`, `tier`, `order`.
- **ResourceFlavor — Status.** The kind has no status field in v1beta1
or v1beta2; the accessor returned the constant `Configured`, so the
badge reported the kind, not the object.
- **JobTemplate — Status.** Same shape: the accessor returned the
constant `Template`.
- **RayCronJob — Suspend.** `getRayCronJobStatus` reads `spec.suspend`
and nothing else, so the Status badge beside it already carried the bit.
- **ExternalSecret — Provider.** Rendered the store's *name*, which the
adjacent Store column already shows. The provider lives on the
referenced SecretStore, which this row cannot reach.
Dead cell cases, unused imports and the two filter branches reading
removed columns go with them. The accessors all stay: `package.json`
maps `./components/resources/*` onto every file in that directory, so
each is reachable through a supported import path whether or not the
barrel names it, and dropping one would be an API break rather than a
cleanup.
## Fixed
**SecretStore / ClusterSecretStore — Provider** named the wrong product.
The column matched on the `aws` key and stopped, labelling Parameter
Store and Certificate Manager stores as "AWS Secrets Manager".
`spec.provider.aws.service` is a required enum with three values and is
the only field that distinguishes them. An AWS store declaring no
service now falls back to the vendor alone rather than naming a product
that cannot be confirmed.
The same map keyed Bitwarden on `bitwarden` — a field name in neither v1
nor v1beta1 — so those stores fell through to the raw-key fallback and
rendered `bitwardensecretsmanager`. Nineteen providers added upstream
since the map was written now have labels; `device42` and `alibaba` are
kept for clusters still serving v1beta1, the only version that carries
them.
**RayCronJob gains Time Zone**, the column KubeRay itself prints by
default. A cron expression is ambiguous without it. An unset zone is not
UTC: KubeRay reads the schedule in the operator pod's own local zone,
which the object cannot report — so the cell says that rather than
implying a default.
## Testing
`make tsc` clean. `npx vitest run
packages/k8s-ui/src/components/resources/` — 1665 pass; the single
failure is `resource-utils-hpa.test.ts` resolving its fixture path
relative to `process.cwd()`, which is pre-existing and unrelated.
11 new tests pin the two fixes to their upstream contracts: the three
AWS service labels and their vendor-only fallback, Bitwarden's real
field name, v1beta1-only provider retention, the raw-key fallback for
unrecognised providers, and the undeclared-time-zone rendering.
No visual test — column set changes with no new layout or styling.
## Follow-ups
- **ExternalSecret Provider, resolved properly.** The column's promise —
which backend does this pull from? — is worth keeping.
`getExternalSecretStore` returns `{name, kind}` and
`getSecretStoreProviderType` turns a store into a label, so a
host-injected store lookup (the `certExpiry` / `auditBadges` pattern,
one list call per page) would answer it. The `PROVIDER_MAP` fix here was
its prerequisite.
- **Volcano JobTemplate** does have a status subresource —
`JobTemplateStatus.jobDependsOnList`. It is not a phase, so it could not
have backed the removed badge, but a "Depends On" column may be worth
its own look.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
<!-- CURSOR_SUMMARY -->
---
> [!NOTE]
> **Low Risk**
> UI-only column and display-label changes in the k8s resources browser
with no auth, API, or cluster mutation impact.
>
> **Overview**
> **Trims the k8s Resources table** by dropping six columns that could
not reflect real object data (NodeClaim namespace, Calico namespaced
namespace selector, Kueue ResourceFlavor status, Volcano JobTemplate
status, RayCronJob suspend duplicate, ExternalSecret provider duplicate
of Store). Matching cell renderers and `getCellFilterValue` status
branches for removed columns are removed; underlying utils stay
exported.
>
> **Fixes SecretStore provider labeling** in `resource-utils-eso.ts`:
AWS stores now use `spec.provider.aws.service` (Secrets Manager vs
Parameter Store vs Certificate Manager), expands `PROVIDER_MAP` for
newer ESO providers, and adds unit tests.
>
> **Adds RayCronJob Time Zone** column with `getRayCronJobTimeZone`
(declared IANA zone or **Operator local** when unset), cell styling for
undeclared zones, filter parity via `getCellFilterValue`, and tests.
>
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
dd4aafe. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->1 parent a2be233 commit 0b4d90b
10 files changed
Lines changed: 154 additions & 42 deletions
File tree
- packages/k8s-ui/src/components/resources
- renderers
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
839 | 839 | | |
840 | 840 | | |
841 | 841 | | |
842 | | - | |
843 | 842 | | |
844 | 843 | | |
845 | 844 | | |
| |||
936 | 935 | | |
937 | 936 | | |
938 | 937 | | |
939 | | - | |
940 | 938 | | |
941 | 939 | | |
942 | 940 | | |
| |||
986 | 984 | | |
987 | 985 | | |
988 | 986 | | |
989 | | - | |
| 987 | + | |
990 | 988 | | |
991 | 989 | | |
992 | 990 | | |
| |||
1113 | 1111 | | |
1114 | 1112 | | |
1115 | 1113 | | |
1116 | | - | |
1117 | 1114 | | |
1118 | 1115 | | |
1119 | 1116 | | |
| |||
1480 | 1477 | | |
1481 | 1478 | | |
1482 | 1479 | | |
1483 | | - | |
1484 | 1480 | | |
1485 | 1481 | | |
1486 | 1482 | | |
| |||
1503 | 1499 | | |
1504 | 1500 | | |
1505 | 1501 | | |
1506 | | - | |
1507 | 1502 | | |
1508 | 1503 | | |
1509 | 1504 | | |
| |||
1834 | 1829 | | |
1835 | 1830 | | |
1836 | 1831 | | |
1837 | | - | |
1838 | 1832 | | |
1839 | 1833 | | |
1840 | 1834 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
10 | 9 | | |
11 | 10 | | |
12 | 11 | | |
| |||
33 | 32 | | |
34 | 33 | | |
35 | 34 | | |
36 | | - | |
37 | | - | |
38 | | - | |
39 | | - | |
40 | 35 | | |
41 | 36 | | |
42 | 37 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
18 | | - | |
19 | 18 | | |
20 | 19 | | |
21 | 20 | | |
| |||
112 | 111 | | |
113 | 112 | | |
114 | 113 | | |
115 | | - | |
116 | | - | |
117 | | - | |
118 | | - | |
119 | | - | |
120 | | - | |
121 | | - | |
122 | | - | |
123 | 114 | | |
124 | 115 | | |
125 | 116 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
18 | | - | |
| 18 | + | |
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| |||
110 | 110 | | |
111 | 111 | | |
112 | 112 | | |
113 | | - | |
114 | | - | |
115 | | - | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
116 | 124 | | |
117 | 125 | | |
118 | 126 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
19 | | - | |
20 | 19 | | |
21 | 20 | | |
22 | 21 | | |
| |||
122 | 121 | | |
123 | 122 | | |
124 | 123 | | |
125 | | - | |
126 | | - | |
127 | | - | |
128 | | - | |
129 | | - | |
130 | | - | |
131 | | - | |
132 | | - | |
133 | 124 | | |
134 | 125 | | |
135 | 126 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
10 | 13 | | |
11 | | - | |
| 14 | + | |
12 | 15 | | |
13 | 16 | | |
14 | 17 | | |
| 18 | + | |
15 | 19 | | |
| 20 | + | |
16 | 21 | | |
17 | 22 | | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
18 | 31 | | |
19 | 32 | | |
| 33 | + | |
| 34 | + | |
20 | 35 | | |
| 36 | + | |
21 | 37 | | |
22 | 38 | | |
23 | 39 | | |
24 | 40 | | |
25 | 41 | | |
26 | | - | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
27 | 47 | | |
28 | 48 | | |
29 | 49 | | |
30 | 50 | | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
31 | 55 | | |
32 | 56 | | |
33 | | - | |
34 | 57 | | |
35 | | - | |
36 | | - | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
37 | 67 | | |
38 | 68 | | |
39 | 69 | | |
| |||
44 | 74 | | |
45 | 75 | | |
46 | 76 | | |
| 77 | + | |
| 78 | + | |
47 | 79 | | |
48 | 80 | | |
49 | 81 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
203 | 203 | | |
204 | 204 | | |
205 | 205 | | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
206 | 212 | | |
207 | 213 | | |
208 | 214 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
18 | | - | |
| 18 | + | |
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| |||
2370 | 2370 | | |
2371 | 2371 | | |
2372 | 2372 | | |
2373 | | - | |
2374 | 2373 | | |
2375 | 2374 | | |
2376 | 2375 | | |
| |||
2390 | 2389 | | |
2391 | 2390 | | |
2392 | 2391 | | |
2393 | | - | |
2394 | 2392 | | |
2395 | 2393 | | |
2396 | 2394 | | |
| |||
2596 | 2594 | | |
2597 | 2595 | | |
2598 | 2596 | | |
| 2597 | + | |
| 2598 | + | |
| 2599 | + | |
| 2600 | + | |
| 2601 | + | |
2599 | 2602 | | |
2600 | 2603 | | |
2601 | 2604 | | |
| |||
0 commit comments