@cat-factory/cli 0.5.0 → 0.5.2

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.
@@ -47,13 +47,22 @@ export interface HostState {
47
47
  /**
48
48
  * Classify the host from its detected facts into the offered setup paths. Pure — no IO — so it's
49
49
  * the primary unit-test target. `recommended` is the highest-priority AVAILABLE offer for the
50
- * `preferred` runtime (default `k3d`, the no-root Docker path).
50
+ * `preferred` runtime (default `k3d`, the no-root Docker path). `platform` only shapes the
51
+ * `install-k3s` offer's copy — k3s is Linux-only, so on Windows/macOS that path points at
52
+ * k3s-in-Docker via k3d instead of a `curl | sh` install that can't run there.
51
53
  */
52
- export declare function classifyHost(d: HostDetections, preferred?: K3sRuntime): HostState;
54
+ export declare function classifyHost(d: HostDetections, preferred?: K3sRuntime, platform?: NodeJS.Platform): HostState;
53
55
  /** Parse `k3d cluster list --output json` (an array of `{ name }`) into cluster names. */
54
56
  export declare function parseK3dClusters(stdout: string): string[];
55
57
  /** Parse `kind get clusters` (newline-separated names; a "No kind clusters" note ⇒ empty). */
56
58
  export declare function parseKindClusters(stdout: string): string[];
59
+ /**
60
+ * Extract `clientVersion.gitVersion` from a `kubectl version --output=json` payload. The probe
61
+ * asks for JSON (to also read `serverVersion` for reachability), so the naive "first line of
62
+ * stdout" would be the opening `{` — this pulls the real client version (e.g. `v1.36.1`) for the
63
+ * findings report. Present even when the apiserver is down (kubectl still prints the client half).
64
+ */
65
+ export declare function parseKubectlClientVersion(stdout: string): string | undefined;
57
66
  /** Detect whether a `kubectl version --output=json` payload reports a reachable apiserver. */
58
67
  export declare function hasServerVersion(stdout: string): boolean;
59
68
  /**
@@ -65,5 +74,5 @@ export declare function hasServerVersion(stdout: string): boolean;
65
74
  * `--request-timeout` — a kubeconfig pointing at a down cluster then fails fast instead of hanging
66
75
  * the probe (the {@link HostShell} watchdog is the outer backstop).
67
76
  */
68
- export declare function probeHost(shell: HostShell, preferred?: K3sRuntime): Promise<HostState>;
77
+ export declare function probeHost(shell: HostShell, preferred?: K3sRuntime, platform?: NodeJS.Platform): Promise<HostState>;
69
78
  //# sourceMappingURL=k3s-probe.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"k3s-probe.d.ts","sourceRoot":"","sources":["../src/k3s-probe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAEnE,wFAAwF;AACxF,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,aAAa,CAAA;IACtB,GAAG,EAAE,aAAa,CAAA;IAClB,IAAI,EAAE,aAAa,CAAA;IACnB,GAAG,EAAE,aAAa,CAAA;IAClB,MAAM,EAAE;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAA;IAChD,gGAAgG;IAChG,gBAAgB,EAAE,OAAO,CAAA;IACzB,4DAA4D;IAC5D,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,uDAAuD;IACvD,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,wDAAwD;IACxD,YAAY,EAAE,MAAM,EAAE,CAAA;CACvB;AAED,2CAA2C;AAC3C,MAAM,MAAM,OAAO,GAAG,cAAc,GAAG,YAAY,GAAG,aAAa,GAAG,aAAa,CAAA;AAEnF,8EAA8E;AAC9E,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,OAAO,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,OAAO,CAAA;IAClB,WAAW,EAAE,OAAO,CAAA;IACpB,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,mGAAmG;AACnG,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,cAAc,CAAA;IAC1B,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,WAAW,EAAE,OAAO,CAAA;CACrB;AAmBD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,cAAc,EAAE,SAAS,GAAE,UAAkB,GAAG,SAAS,CAsDxF;AAgBD,0FAA0F;AAC1F,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAYzD;AAED,8FAA8F;AAC9F,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAK1D;AAED,8FAA8F;AAC9F,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAOxD;AAED;;;;;;;;GAQG;AACH,wBAAsB,SAAS,CAC7B,KAAK,EAAE,SAAS,EAChB,SAAS,GAAE,UAAkB,GAC5B,OAAO,CAAC,SAAS,CAAC,CA0CpB"}
1
+ {"version":3,"file":"k3s-probe.d.ts","sourceRoot":"","sources":["../src/k3s-probe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAEnE,wFAAwF;AACxF,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,aAAa,CAAA;IACtB,GAAG,EAAE,aAAa,CAAA;IAClB,IAAI,EAAE,aAAa,CAAA;IACnB,GAAG,EAAE,aAAa,CAAA;IAClB,MAAM,EAAE;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAA;IAChD,gGAAgG;IAChG,gBAAgB,EAAE,OAAO,CAAA;IACzB,4DAA4D;IAC5D,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,uDAAuD;IACvD,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,wDAAwD;IACxD,YAAY,EAAE,MAAM,EAAE,CAAA;CACvB;AAED,2CAA2C;AAC3C,MAAM,MAAM,OAAO,GAAG,cAAc,GAAG,YAAY,GAAG,aAAa,GAAG,aAAa,CAAA;AAEnF,8EAA8E;AAC9E,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,OAAO,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,OAAO,CAAA;IAClB,WAAW,EAAE,OAAO,CAAA;IACpB,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,mGAAmG;AACnG,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,cAAc,CAAA;IAC1B,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,WAAW,EAAE,OAAO,CAAA;CACrB;AAmBD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,CAAC,EAAE,cAAc,EACjB,SAAS,GAAE,UAAkB,EAC7B,QAAQ,GAAE,MAAM,CAAC,QAAkB,GAClC,SAAS,CA0DX;AAgBD,0FAA0F;AAC1F,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAYzD;AAED,8FAA8F;AAC9F,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAK1D;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQ5E;AAED,8FAA8F;AAC9F,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAOxD;AAED;;;;;;;;GAQG;AACH,wBAAsB,SAAS,CAC7B,KAAK,EAAE,SAAS,EAChB,SAAS,GAAE,UAAkB,EAC7B,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,OAAO,CAAC,SAAS,CAAC,CA0CpB"}
package/dist/k3s-probe.js CHANGED
@@ -19,9 +19,11 @@ function offerPriority(preferred) {
19
19
  /**
20
20
  * Classify the host from its detected facts into the offered setup paths. Pure — no IO — so it's
21
21
  * the primary unit-test target. `recommended` is the highest-priority AVAILABLE offer for the
22
- * `preferred` runtime (default `k3d`, the no-root Docker path).
22
+ * `preferred` runtime (default `k3d`, the no-root Docker path). `platform` only shapes the
23
+ * `install-k3s` offer's copy — k3s is Linux-only, so on Windows/macOS that path points at
24
+ * k3s-in-Docker via k3d instead of a `curl | sh` install that can't run there.
23
25
  */
24
- export function classifyHost(d, preferred = 'k3d') {
26
+ export function classifyHost(d, preferred = 'k3d', platform = 'linux') {
25
27
  const useExisting = {
26
28
  id: 'use-existing',
27
29
  label: d.clusterContext
@@ -52,12 +54,16 @@ export function classifyHost(d, preferred = 'k3d') {
52
54
  (!d.kind.installed ? 'kind is not installed (https://kind.sigs.k8s.io)' : undefined),
53
55
  };
54
56
  // The guided k3s path is always available: when k3s is already installed it only points the user
55
- // at starting the service; otherwise it PRINTS the install command (needs sudo). Never auto-runs.
57
+ // at starting the service; otherwise it PRINTS guidance (never auto-runs). On Linux that's the
58
+ // `curl | sh` install (needs sudo); on Windows/macOS, where k3s can't run natively, it's the
59
+ // k3d (k3s-in-Docker) path instead.
56
60
  const installK3s = {
57
61
  id: 'install-k3s',
58
62
  label: d.k3s.installed
59
63
  ? 'Start your already-installed k3s (needs sudo — not run for you)'
60
- : 'Show the k3s install command (needs sudo — not run for you)',
64
+ : platform === 'linux'
65
+ ? 'Show the k3s install command (needs sudo — not run for you)'
66
+ : 'Show how to run k3s-in-Docker with k3d (k3s is Linux-only)',
61
67
  available: true,
62
68
  recommended: false,
63
69
  };
@@ -101,6 +107,22 @@ export function parseKindClusters(stdout) {
101
107
  .map((l) => l.trim())
102
108
  .filter((l) => l.length > 0 && !l.toLowerCase().startsWith('no kind clusters'));
103
109
  }
110
+ /**
111
+ * Extract `clientVersion.gitVersion` from a `kubectl version --output=json` payload. The probe
112
+ * asks for JSON (to also read `serverVersion` for reachability), so the naive "first line of
113
+ * stdout" would be the opening `{` — this pulls the real client version (e.g. `v1.36.1`) for the
114
+ * findings report. Present even when the apiserver is down (kubectl still prints the client half).
115
+ */
116
+ export function parseKubectlClientVersion(stdout) {
117
+ try {
118
+ const parsed = JSON.parse(stdout);
119
+ const version = parsed.clientVersion?.gitVersion;
120
+ return typeof version === 'string' && version.length > 0 ? version : undefined;
121
+ }
122
+ catch {
123
+ return undefined;
124
+ }
125
+ }
104
126
  /** Detect whether a `kubectl version --output=json` payload reports a reachable apiserver. */
105
127
  export function hasServerVersion(stdout) {
106
128
  try {
@@ -120,7 +142,7 @@ export function hasServerVersion(stdout) {
120
142
  * `--request-timeout` — a kubeconfig pointing at a down cluster then fails fast instead of hanging
121
143
  * the probe (the {@link HostShell} watchdog is the outer backstop).
122
144
  */
123
- export async function probeHost(shell, preferred = 'k3d') {
145
+ export async function probeHost(shell, preferred = 'k3d', platform = process.platform) {
124
146
  const [kubectlVersion, kubectlContext, k3dVersion, k3dList, kindVersion, kindList, k3sVersion, dockerVersion,] = await Promise.all([
125
147
  shell.run('kubectl', ['version', '--output=json', '--request-timeout=3s']),
126
148
  shell.run('kubectl', ['config', 'current-context']),
@@ -135,7 +157,7 @@ export async function probeHost(shell, preferred = 'k3d') {
135
157
  const detections = {
136
158
  kubectl: {
137
159
  installed: isInstalled(kubectlVersion.code),
138
- version: firstLine(kubectlVersion.stdout),
160
+ version: parseKubectlClientVersion(kubectlVersion.stdout),
139
161
  },
140
162
  k3d: { installed: isInstalled(k3dVersion.code), version: firstLine(k3dVersion.stdout) },
141
163
  kind: { installed: isInstalled(kindVersion.code), version: firstLine(kindVersion.stdout) },
@@ -149,6 +171,6 @@ export async function probeHost(shell, preferred = 'k3d') {
149
171
  k3dClusters: k3dList.code === 0 ? parseK3dClusters(k3dList.stdout) : [],
150
172
  kindClusters: kindList.code === 0 ? parseKindClusters(kindList.stdout) : [],
151
173
  };
152
- return classifyHost(detections, preferred);
174
+ return classifyHost(detections, preferred, platform);
153
175
  }
154
176
  //# sourceMappingURL=k3s-probe.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"k3s-probe.js","sourceRoot":"","sources":["../src/k3s-probe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"k3s-probe.js","sourceRoot":"","sources":["../src/k3s-probe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,WAAW,CAAA;AAC3C,OAAO,EAAE,iBAAiB,EAAkB,MAAM,iBAAiB,CAAA;AAgDnE;;;;GAIG;AACH,SAAS,aAAa,CAAC,SAAqB;IAC1C,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,MAAM;YACT,OAAO,CAAC,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,CAAC,CAAA;QACrE,KAAK,KAAK;YACR,2FAA2F;YAC3F,OAAO,CAAC,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,CAAC,CAAA;QACrE;YACE,OAAO,CAAC,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,CAAC,CAAA;IACvE,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAC1B,CAAiB,EACjB,SAAS,GAAe,KAAK,EAC7B,QAAQ,GAAoB,OAAO;IAEnC,MAAM,WAAW,GAAU;QACzB,EAAE,EAAE,cAAc;QAClB,KAAK,EAAE,CAAC,CAAC,cAAc;YACrB,CAAC,CAAC,sCAAsC,CAAC,CAAC,cAAc,GAAG;YAC3D,CAAC,CAAC,oCAAoC;QACxC,SAAS,EAAE,CAAC,CAAC,gBAAgB;QAC7B,WAAW,EAAE,KAAK;QAClB,MAAM,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,6CAA6C;KACvF,CAAA;IAED,MAAM,YAAY,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS;QACtC,CAAC,CAAC,yBAAyB;QAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO;YACjB,CAAC,CAAC,uBAAuB;YACzB,CAAC,CAAC,SAAS,CAAA;IAEf,MAAM,SAAS,GAAU;QACvB,EAAE,EAAE,YAAY;QAChB,KAAK,EAAE,8CAA8C;QACrD,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS;QAC9C,WAAW,EAAE,KAAK;QAClB,MAAM,EACJ,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,uCAAuC,CAAC,CAAC,CAAC,SAAS,CAAC;KAC3F,CAAA;IAED,MAAM,UAAU,GAAU;QACxB,EAAE,EAAE,aAAa;QACjB,KAAK,EAAE,+CAA+C;QACtD,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS;QAC/C,WAAW,EAAE,KAAK;QAClB,MAAM,EACJ,YAAY;YACZ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,kDAAkD,CAAC,CAAC,CAAC,SAAS,CAAC;KACvF,CAAA;IAED,iGAAiG;IACjG,+FAA+F;IAC/F,6FAA6F;IAC7F,oCAAoC;IACpC,MAAM,UAAU,GAAU;QACxB,EAAE,EAAE,aAAa;QACjB,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS;YACpB,CAAC,CAAC,iEAAiE;YACnE,CAAC,CAAC,QAAQ,KAAK,OAAO;gBACpB,CAAC,CAAC,6DAA6D;gBAC/D,CAAC,CAAC,4DAA4D;QAClE,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,KAAK;KACnB,CAAA;IAED,MAAM,MAAM,GAAY,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAA;IACxE,MAAM,WAAW,GACf,aAAa,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,CAAC;QACjF,aAAa,CAAA;IACf,KAAK,MAAM,CAAC,IAAI,MAAM;QAAE,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE,KAAK,WAAW,CAAA;IAE5D,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAA;AAC/C,CAAC;AAED,oGAAoG;AACpG,SAAS,WAAW,CAAC,IAAY;IAC/B,OAAO,IAAI,KAAK,iBAAiB,CAAA;AACnC,CAAC;AAED,8FAA8F;AAC9F,SAAS,SAAS,CAAC,MAAc;IAC/B,MAAM,IAAI,GAAG,MAAM;SAChB,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAC5B,OAAO,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;AACnD,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAY,CAAA;QAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,CAAA;QACrC,OAAO,MAAM;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACT,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAE,CAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CACjF;aACA,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACtE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,OAAO,MAAM;SACV,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAA;AACnF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAAc;IACtD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAiD,CAAA;QACjF,MAAM,OAAO,GAAG,MAAM,CAAC,aAAa,EAAE,UAAU,CAAA;QAChD,OAAO,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;IAChF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAgC,CAAA;QAChE,OAAO,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,KAAK,IAAI,CAAA;IAClF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,KAAgB,EAChB,SAAS,GAAe,KAAK,EAC7B,QAAQ,GAAoB,OAAO,CAAC,QAAQ;IAE5C,MAAM,CACJ,cAAc,EACd,cAAc,EACd,UAAU,EACV,OAAO,EACP,WAAW,EACX,QAAQ,EACR,UAAU,EACV,aAAa,EACd,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACpB,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,eAAe,EAAE,sBAAsB,CAAC,CAAC;QAC1E,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QACnD,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC;QAC7B,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QACzD,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC;QAC9B,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACtC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,CAAC;QAC/B,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,qBAAqB,CAAC,CAAC;KACpE,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAExF,MAAM,UAAU,GAAmB;QACjC,OAAO,EAAE;YACP,SAAS,EAAE,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC;YAC3C,OAAO,EAAE,yBAAyB,CAAC,cAAc,CAAC,MAAM,CAAC;SAC1D;QACD,GAAG,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;QACvF,IAAI,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE;QAC1F,GAAG,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;QACvF,MAAM,EAAE;YACN,SAAS,EAAE,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC;YAC1C,OAAO,EAAE,aAAa,CAAC,IAAI,KAAK,CAAC,IAAI,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,SAAS;SACnF;QACD,gBAAgB,EAAE,cAAc,CAAC,IAAI,KAAK,CAAC,IAAI,gBAAgB,CAAC,cAAc,CAAC,MAAM,CAAC;QACtF,cAAc,EAAE,OAAO;QACvB,WAAW,EAAE,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;QACvE,YAAY,EAAE,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;KAC5E,CAAA;IAED,OAAO,YAAY,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;AACtD,CAAC"}
package/dist/k3s.d.ts CHANGED
@@ -7,6 +7,8 @@ import { type ResolvedConnection } from './k3s-provision.js';
7
7
  export interface K3sDeps {
8
8
  io?: Io;
9
9
  shell?: HostShell;
10
+ /** Host platform, injected so the k3s-install guidance is deterministic in tests. */
11
+ platform?: NodeJS.Platform;
10
12
  }
11
13
  /** What {@link setupK3s} resolves to (returned for tests + programmatic callers). */
12
14
  export interface K3sResult {
package/dist/k3s.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"k3s.d.ts","sourceRoot":"","sources":["../src/k3s.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAmB,MAAM,WAAW,CAAA;AAE5D,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAA;AACjE,OAAO,EAAmB,KAAK,EAAE,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,KAAK,SAAS,EAAc,KAAK,OAAO,EAAa,MAAM,gBAAgB,CAAA;AACpF,OAAO,EAIL,KAAK,kBAAkB,EACxB,MAAM,oBAAoB,CAAA;AAE3B,gGAAgG;AAChG,MAAM,WAAW,OAAO;IACtB,EAAE,CAAC,EAAE,EAAE,CAAA;IACP,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB;AAED,qFAAqF;AACrF,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,SAAS,CAAA;IAChB,MAAM,EAAE,OAAO,CAAA;IACf,gGAAgG;IAChG,UAAU,CAAC,EAAE,kBAAkB,CAAA;CAChC;AAED,wFAAwF;AACxF,eAAO,MAAM,mBAAmB,wCAAwC,CAAA;AAExE;;;;;;;;GAQG;AACH,wBAAsB,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,GAAE,OAAY,GAAG,OAAO,CAAC,SAAS,CAAC,CAmC1F"}
1
+ {"version":3,"file":"k3s.d.ts","sourceRoot":"","sources":["../src/k3s.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAmB,MAAM,WAAW,CAAA;AAE5D,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAA;AACjE,OAAO,EAAmB,KAAK,EAAE,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,KAAK,SAAS,EAAc,KAAK,OAAO,EAAa,MAAM,gBAAgB,CAAA;AACpF,OAAO,EAIL,KAAK,kBAAkB,EACxB,MAAM,oBAAoB,CAAA;AAE3B,gGAAgG;AAChG,MAAM,WAAW,OAAO;IACtB,EAAE,CAAC,EAAE,EAAE,CAAA;IACP,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,qFAAqF;IACrF,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAA;CAC3B;AAED,qFAAqF;AACrF,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,SAAS,CAAA;IAChB,MAAM,EAAE,OAAO,CAAA;IACf,gGAAgG;IAChG,UAAU,CAAC,EAAE,kBAAkB,CAAA;CAChC;AAED,wFAAwF;AACxF,eAAO,MAAM,mBAAmB,wCAAwC,CAAA;AAExE;;;;;;;;GAQG;AACH,wBAAsB,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,GAAE,OAAY,GAAG,OAAO,CAAC,SAAS,CAAC,CAoC1F"}
package/dist/k3s.js CHANGED
@@ -18,15 +18,16 @@ export const K3S_INSTALL_COMMAND = 'curl -sfL https://get.k3s.io | sh -';
18
18
  export async function setupK3s(options, deps = {}) {
19
19
  const io = deps.io ?? createConsoleIo();
20
20
  const shell = deps.shell ?? createNodeShell();
21
+ const platform = deps.platform ?? process.platform;
21
22
  const preferred = options.k3sRuntime ?? OPTION_DEFAULTS.k3sRuntime;
22
23
  io.info('\ncat-factory — guided local k3s / k3d setup\n');
23
24
  io.info('Probing your machine for a usable Kubernetes cluster…');
24
- const state = await probeHost(shell, preferred);
25
+ const state = await probeHost(shell, preferred, platform);
25
26
  io.info(renderReport(state));
26
27
  const chosen = await chooseOffer(state, options, io);
27
28
  // The k3s install needs sudo — we only ever print the command, never provision on the user's behalf.
28
29
  if (chosen === 'install-k3s') {
29
- printInstallGuidance(state, io);
30
+ printInstallGuidance(state, io, platform);
30
31
  return { state, chosen };
31
32
  }
32
33
  let connection;
@@ -109,28 +110,51 @@ function offerLabel(o) {
109
110
  return o.recommended ? `${o.label} (recommended)` : o.label;
110
111
  }
111
112
  /**
112
- * Print the k3s install guidance. The install needs sudo, so the command is only ever PRINTED —
113
- * cat-factory never runs it for the user.
113
+ * Print the k3s install guidance. cat-factory never provisions k3s for the user, so this only ever
114
+ * PRINTS instructions. The copy is platform-aware: k3s is Linux-only, so on Windows/macOS it steers
115
+ * to the k3d (k3s-in-Docker) path rather than a `curl | sh` install that can't run there.
114
116
  */
115
- function printInstallGuidance(state, io) {
117
+ function printInstallGuidance(state, io, platform) {
116
118
  // Don't tell a user who already has k3s to re-install it — point them at starting the service.
117
- io.info(state.detections.k3s.installed
118
- ? [
119
+ if (state.detections.k3s.installed) {
120
+ io.info([
119
121
  '',
120
122
  'k3s is already installed. Start it (needs sudo), e.g.:',
121
123
  '',
122
124
  ' sudo systemctl start k3s # or: sudo k3s server',
123
125
  '',
124
126
  'Then re-run `cat-factory k3s` — it will detect the running cluster and provision the handler.',
125
- ].join('\n')
126
- : [
127
+ ].join('\n'));
128
+ return;
129
+ }
130
+ // k3s runs only on Linux; on Windows/macOS the supported route is a real k3s cluster inside
131
+ // Docker via k3d, so point there instead of printing a Linux-only install command.
132
+ if (platform !== 'linux') {
133
+ const osName = platform === 'win32' ? 'Windows' : platform === 'darwin' ? 'macOS' : platform;
134
+ const install = platform === 'win32'
135
+ ? 'Install k3d (needs Docker Desktop running) — see backend/docs/local-kubernetes-setup-windows.md, then:'
136
+ : 'Install k3d (needs Docker running), e.g. `brew install k3d`, then:';
137
+ io.info([
127
138
  '',
128
- 'Install k3s (single-node) run this yourself (needs sudo):',
139
+ `k3s runs only on Linux, so it can't be installed directly on ${osName}.`,
140
+ 'Run a real k3s cluster inside Docker with k3d instead:',
129
141
  '',
130
- ` ${K3S_INSTALL_COMMAND}`,
142
+ ` ${install}`,
131
143
  '',
132
- 'Then re-run `cat-factory k3s` — it will detect the new cluster and provision the handler.',
144
+ ' k3d cluster create cat-factory --api-port 127.0.0.1:6443',
145
+ '',
146
+ 'Then re-run `cat-factory k3s` — it will detect the new k3d cluster and provision the handler.',
133
147
  ].join('\n'));
148
+ return;
149
+ }
150
+ io.info([
151
+ '',
152
+ 'Install k3s (single-node) — run this yourself (needs sudo):',
153
+ '',
154
+ ` ${K3S_INSTALL_COMMAND}`,
155
+ '',
156
+ 'Then re-run `cat-factory k3s` — it will detect the new cluster and provision the handler.',
157
+ ].join('\n'));
134
158
  }
135
159
  /**
136
160
  * Print the resolved connection so the user can wire it into the Settings → Infrastructure →
package/dist/k3s.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"k3s.js","sourceRoot":"","sources":["../src/k3s.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"k3s.js","sourceRoot":"","sources":["../src/k3s.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- export declare const LOCAL_SERVER_VERSION = "^0.33.0";
2
- export declare const APP_VERSION = "^0.64.0";
1
+ export declare const LOCAL_SERVER_VERSION = "^0.34.0";
2
+ export declare const APP_VERSION = "^0.66.0";
3
3
  export declare const NUXT_VERSION = "^4.4.8";
4
4
  export declare const TYPES_NODE_VERSION = "^26.0.1";
5
5
  export declare const TYPESCRIPT_VERSION = "7.0.1-rc";
package/dist/templates.js CHANGED
@@ -9,8 +9,8 @@
9
9
  // `@cat-factory/app`; `templates.pins.test.ts` fails the build if a pin drifts out of range of the
10
10
  // workspace version. Bump these when cutting a CLI release against newer libraries. (The two
11
11
  // libraries version independently.)
12
- export const LOCAL_SERVER_VERSION = '^0.33.0';
13
- export const APP_VERSION = '^0.64.0';
12
+ export const LOCAL_SERVER_VERSION = '^0.34.0';
13
+ export const APP_VERSION = '^0.66.0';
14
14
  export const NUXT_VERSION = '^4.4.8';
15
15
  export const TYPES_NODE_VERSION = '^26.0.1';
16
16
  export const TYPESCRIPT_VERSION = '7.0.1-rc';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/cli",
3
- "version": "0.5.0",
3
+ "version": "0.5.2",
4
4
  "description": "Bootstrap CLI for the Agent Architecture Board: scaffold a local-mode deployment (Node/local backend + frontend SPA) on your own machine — generates the crypto secrets, populates and gitignores the .env files, and mints a GitHub/GitLab personal access token by opening the browser at the right pre-scoped URL.",
5
5
  "keywords": [
6
6
  "bootstrap",
@@ -41,7 +41,7 @@
41
41
  "typescript": "7.0.1-rc",
42
42
  "valibot": "^1.4.2",
43
43
  "vitest": "^4.1.9",
44
- "@cat-factory/contracts": "0.72.0"
44
+ "@cat-factory/contracts": "0.73.0"
45
45
  },
46
46
  "scripts": {
47
47
  "build": "tsc -b tsconfig.build.json",