@checkstack/healthcheck-frontend 0.13.6 → 0.14.0
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.
- package/CHANGELOG.md +30 -0
- package/package.json +7 -6
- package/src/pages/HealthCheckIDEPage.tsx +14 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,35 @@
|
|
|
1
1
|
# @checkstack/healthcheck-frontend
|
|
2
2
|
|
|
3
|
+
## 0.14.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 6c40b5b: ### GitOps Ecosystem: Healthcheck Kind Registration (Phase 5)
|
|
8
|
+
|
|
9
|
+
**gitops-common**: Added required `resolveEntityRef` to `ReconcileContext`, enabling extension reconcilers to resolve cross-kind entity references (e.g., healthcheck refs in System extensions).
|
|
10
|
+
|
|
11
|
+
**gitops-backend**: Updated reconciler to populate `resolveEntityRef` by querying local provenance — no RPC round-trip needed.
|
|
12
|
+
|
|
13
|
+
**healthcheck-backend**: Registered `kind: Healthcheck` and `System → healthchecks` extension with the EntityKindRegistry:
|
|
14
|
+
|
|
15
|
+
- Validates strategy configs against registered strategy schemas at reconcile time
|
|
16
|
+
- Validates collector configs against registered collector schemas at reconcile time
|
|
17
|
+
- Manages system ↔ healthcheck associations with automatic stale removal
|
|
18
|
+
|
|
19
|
+
**healthcheck-frontend**: Added GitOps provenance locking to the HealthCheck IDE editor — GitOps-managed health checks show a lock banner and disable editing.
|
|
20
|
+
|
|
21
|
+
**catalog-backend**: Updated test fixtures for new required `resolveEntityRef` context field.
|
|
22
|
+
|
|
23
|
+
### Patch Changes
|
|
24
|
+
|
|
25
|
+
- Updated dependencies [6c40b5b]
|
|
26
|
+
- Updated dependencies [6c40b5b]
|
|
27
|
+
- Updated dependencies [4b0934d]
|
|
28
|
+
- @checkstack/gitops-frontend@0.2.0
|
|
29
|
+
- @checkstack/ui@1.3.6
|
|
30
|
+
- @checkstack/dashboard-frontend@0.3.33
|
|
31
|
+
- @checkstack/auth-frontend@0.5.25
|
|
32
|
+
|
|
3
33
|
## 0.13.6
|
|
4
34
|
|
|
5
35
|
### Patch Changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@checkstack/healthcheck-frontend",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.14.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "src/index.tsx",
|
|
6
6
|
"checkstack": {
|
|
@@ -12,14 +12,15 @@
|
|
|
12
12
|
"lint:code": "eslint . --max-warnings 0"
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@checkstack/auth-frontend": "0.5.
|
|
15
|
+
"@checkstack/auth-frontend": "0.5.24",
|
|
16
16
|
"@checkstack/catalog-common": "1.3.1",
|
|
17
17
|
"@checkstack/common": "0.6.5",
|
|
18
|
-
"@checkstack/dashboard-frontend": "0.3.
|
|
18
|
+
"@checkstack/dashboard-frontend": "0.3.32",
|
|
19
19
|
"@checkstack/frontend-api": "0.3.9",
|
|
20
|
-
"@checkstack/
|
|
20
|
+
"@checkstack/gitops-frontend": "0.1.0",
|
|
21
|
+
"@checkstack/healthcheck-common": "0.11.0",
|
|
21
22
|
"@checkstack/signal-frontend": "0.0.15",
|
|
22
|
-
"@checkstack/ui": "1.
|
|
23
|
+
"@checkstack/ui": "1.3.5",
|
|
23
24
|
"ajv": "^8.18.0",
|
|
24
25
|
"ajv-formats": "^3.0.1",
|
|
25
26
|
"date-fns": "^4.1.0",
|
|
@@ -29,7 +30,7 @@
|
|
|
29
30
|
"recharts": "^3.6.0",
|
|
30
31
|
"uuid": "^13.0.0",
|
|
31
32
|
"zod": "^4.2.1",
|
|
32
|
-
"@checkstack/satellite-common": "0.
|
|
33
|
+
"@checkstack/satellite-common": "0.2.0"
|
|
33
34
|
},
|
|
34
35
|
"devDependencies": {
|
|
35
36
|
"@checkstack/scripts": "0.1.2",
|
|
@@ -15,6 +15,8 @@ import { resolveRoute, extractErrorMessage} from "@checkstack/common";
|
|
|
15
15
|
import { useCollectors } from "../hooks/useCollectors";
|
|
16
16
|
import { EditorTree, type TreeNodeId } from "../components/editor/EditorTree";
|
|
17
17
|
import { EditorPanel } from "../components/editor/EditorPanel";
|
|
18
|
+
import { useProvenanceLock, GitOpsLockBanner } from "@checkstack/gitops-frontend";
|
|
19
|
+
|
|
18
20
|
|
|
19
21
|
// =============================================================================
|
|
20
22
|
// TYPES
|
|
@@ -38,10 +40,15 @@ const HealthCheckIDEPageContent = () => {
|
|
|
38
40
|
const toast = useToast();
|
|
39
41
|
const healthCheckClient = usePluginClient(HealthCheckApi);
|
|
40
42
|
|
|
41
|
-
// "new" is a sentinel value used by the create flow
|
|
42
43
|
const isEditMode = !!configId && configId !== "new";
|
|
43
44
|
const strategyIdFromUrl = searchParams.get("strategy") ?? undefined;
|
|
44
45
|
|
|
46
|
+
// --- GitOps Provenance Lock ---
|
|
47
|
+
const { isLocked, provenance } = useProvenanceLock({
|
|
48
|
+
kind: "Healthcheck",
|
|
49
|
+
entityId: isEditMode ? configId : undefined,
|
|
50
|
+
});
|
|
51
|
+
|
|
45
52
|
// --- Data Fetching ---
|
|
46
53
|
|
|
47
54
|
// Fetch all strategies (needed for both modes)
|
|
@@ -320,13 +327,18 @@ const HealthCheckIDEPageContent = () => {
|
|
|
320
327
|
actions={
|
|
321
328
|
<Button
|
|
322
329
|
onClick={handleSave}
|
|
323
|
-
|
|
330
|
+
disabled={!isValid || isSaving || isLocked}
|
|
324
331
|
>
|
|
325
332
|
<Save className="mr-2 h-4 w-4" />
|
|
326
333
|
{isSaving ? "Saving..." : "Save"}
|
|
327
334
|
</Button>
|
|
328
335
|
}
|
|
329
336
|
>
|
|
337
|
+
{isLocked && provenance && (
|
|
338
|
+
<div className="mb-4">
|
|
339
|
+
<GitOpsLockBanner provenance={provenance} />
|
|
340
|
+
</div>
|
|
341
|
+
)}
|
|
330
342
|
<IDELayout
|
|
331
343
|
tree={
|
|
332
344
|
<EditorTree
|