@checkstack/satellite-common 0.3.1 → 0.4.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 CHANGED
@@ -1,5 +1,51 @@
1
1
  # @checkstack/satellite-common
2
2
 
3
+ ## 0.4.0
4
+
5
+ ### Minor Changes
6
+
7
+ - f6f9a5c: Add a GitOps `Satellite` kind plus a UI affordance for resetting tokens.
8
+
9
+ GitOps owns satellite **metadata only** — `metadata.name`,
10
+ `spec.region`, and `metadata.labels` (used as the satellite's runtime
11
+ tags). The bcrypt token is intentionally never expressed in YAML; on
12
+ first reconcile a satellite is created with a random token that is
13
+ discarded, and operators must use the Satellites page to retrieve a
14
+ working credential.
15
+
16
+ To support that flow:
17
+
18
+ - New service methods: `updateSatelliteMetadata`, `rotateSatelliteToken`,
19
+ `getSatelliteByName`.
20
+ - New RPC procs: `updateSatellite`, `rotateSatelliteToken`.
21
+ - New `RotateSatelliteTokenDialog` and a "Reset token" key icon on the
22
+ Satellites list. The dialog reuses the one-time-reveal layout from
23
+ `CreateSatelliteDialog`.
24
+ - The Satellites list shows a `GitOpsSourceBadge` next to managed
25
+ satellites and disables the delete button while leaving the
26
+ token-reset button enabled (so operators can always re-issue a
27
+ credential without touching YAML).
28
+
29
+ The satellite kind reconciler adopts pre-existing satellites by name on
30
+ first sync, so this is safe to roll out against installations that
31
+ already have manually-created satellites.
32
+
33
+ ### Patch Changes
34
+
35
+ - Updated dependencies [42abfff]
36
+ - @checkstack/common@0.9.0
37
+ - @checkstack/healthcheck-common@1.0.2
38
+ - @checkstack/signal-common@0.2.2
39
+
40
+ ## 0.3.2
41
+
42
+ ### Patch Changes
43
+
44
+ - Updated dependencies [50e5f5f]
45
+ - @checkstack/common@0.8.0
46
+ - @checkstack/healthcheck-common@1.0.1
47
+ - @checkstack/signal-common@0.2.1
48
+
3
49
  ## 0.3.1
4
50
 
5
51
  ### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "@checkstack/satellite-common",
3
- "version": "0.3.1",
3
+ "version": "0.4.0",
4
+ "license": "Elastic-2.0",
4
5
  "type": "module",
5
6
  "exports": {
6
7
  ".": {
@@ -8,19 +9,19 @@
8
9
  }
9
10
  },
10
11
  "dependencies": {
11
- "@checkstack/common": "0.7.0",
12
- "@checkstack/healthcheck-common": "0.13.0",
13
- "@checkstack/signal-common": "0.2.0",
12
+ "@checkstack/common": "0.8.0",
13
+ "@checkstack/healthcheck-common": "1.0.1",
14
+ "@checkstack/signal-common": "0.2.1",
14
15
  "@orpc/contract": "^1.13.14",
15
16
  "zod": "^4.2.1"
16
17
  },
17
18
  "devDependencies": {
18
19
  "typescript": "^5.7.2",
19
- "@checkstack/tsconfig": "0.0.5",
20
- "@checkstack/scripts": "0.1.2"
20
+ "@checkstack/tsconfig": "0.0.7",
21
+ "@checkstack/scripts": "0.3.0"
21
22
  },
22
23
  "scripts": {
23
- "typecheck": "tsc --noEmit",
24
+ "typecheck": "tsgo -b",
24
25
  "lint": "bun run lint:code",
25
26
  "lint:code": "eslint . --max-warnings 0"
26
27
  },
@@ -55,6 +55,42 @@ export const satelliteContract = {
55
55
  .input(z.object({ id: z.string() }))
56
56
  .output(z.void()),
57
57
 
58
+ /**
59
+ * Update a satellite's metadata. Token is unaffected — use
60
+ * `rotateSatelliteToken` to issue a new token.
61
+ */
62
+ updateSatellite: proc({
63
+ operationType: "mutation",
64
+ userType: "authenticated",
65
+ access: [satelliteAccess.satellite.manage],
66
+ })
67
+ .input(
68
+ z.object({
69
+ id: z.string(),
70
+ name: z.string().min(1).optional(),
71
+ region: z.string().min(1).optional(),
72
+ tags: z.record(z.string(), z.string()).optional(),
73
+ }),
74
+ )
75
+ .output(SatelliteWithStatusSchema),
76
+
77
+ /**
78
+ * Rotate (reset) a satellite's token. Returns the new plaintext token,
79
+ * shown once. The previous token is invalidated immediately.
80
+ */
81
+ rotateSatelliteToken: proc({
82
+ operationType: "mutation",
83
+ userType: "authenticated",
84
+ access: [satelliteAccess.satellite.manage],
85
+ })
86
+ .input(z.object({ id: z.string() }))
87
+ .output(
88
+ z.object({
89
+ satellite: SatelliteWithStatusSchema,
90
+ token: z.string(),
91
+ }),
92
+ ),
93
+
58
94
  /**
59
95
  * Get the list of online satellite IDs.
60
96
  * Used internally by healthcheck-backend for stale source exclusion
package/tsconfig.json CHANGED
@@ -2,5 +2,16 @@
2
2
  "extends": "@checkstack/tsconfig/common.json",
3
3
  "include": [
4
4
  "src"
5
+ ],
6
+ "references": [
7
+ {
8
+ "path": "../common"
9
+ },
10
+ {
11
+ "path": "../healthcheck-common"
12
+ },
13
+ {
14
+ "path": "../signal-common"
15
+ }
5
16
  ]
6
17
  }