@eudiplo/cli 7.6.1 → 8.0.0-main.892efc2

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 (92) hide show
  1. package/dist/commands/config/portability/action.d.ts +1 -1
  2. package/dist/commands/config/portability/action.d.ts.map +1 -1
  3. package/dist/commands/config/portability/action.js +49 -95
  4. package/dist/commands/config/portability/action.js.map +1 -1
  5. package/dist/commands/config/portability/index.d.ts.map +1 -1
  6. package/dist/commands/config/portability/index.js +37 -5
  7. package/dist/commands/config/portability/index.js.map +1 -1
  8. package/dist/commands/config/portability/migrations.d.ts +3 -21
  9. package/dist/commands/config/portability/migrations.d.ts.map +1 -1
  10. package/dist/commands/config/portability/migrations.js +4 -92
  11. package/dist/commands/config/portability/migrations.js.map +1 -1
  12. package/dist/commands/config/portability/migrations.spec.js +12 -14
  13. package/dist/commands/config/portability/migrations.spec.js.map +1 -1
  14. package/dist/commands/config/portability/upgrade.d.ts +3 -0
  15. package/dist/commands/config/portability/upgrade.d.ts.map +1 -0
  16. package/dist/commands/config/portability/upgrade.js +199 -0
  17. package/dist/commands/config/portability/upgrade.js.map +1 -0
  18. package/dist/commands/config/tenant/action.js +3 -4
  19. package/dist/commands/config/tenant/action.js.map +1 -1
  20. package/dist/commands/config/validate/validator.d.ts.map +1 -1
  21. package/dist/commands/config/validate/validator.js +50 -30
  22. package/dist/commands/config/validate/validator.js.map +1 -1
  23. package/dist/commands/demo/action.d.ts.map +1 -1
  24. package/dist/commands/demo/action.js +2 -0
  25. package/dist/commands/demo/action.js.map +1 -1
  26. package/dist/commands/deployment/action.d.ts +1 -1
  27. package/dist/commands/deployment/action.d.ts.map +1 -1
  28. package/dist/commands/deployment/action.js +1 -0
  29. package/dist/commands/deployment/action.js.map +1 -1
  30. package/dist/commands/deployment/index.d.ts.map +1 -1
  31. package/dist/commands/deployment/index.js +29 -9
  32. package/dist/commands/deployment/index.js.map +1 -1
  33. package/dist/commands/init/action.d.ts.map +1 -1
  34. package/dist/commands/init/action.js +1 -0
  35. package/dist/commands/init/action.js.map +1 -1
  36. package/dist/commands/instance/action.d.ts.map +1 -1
  37. package/dist/commands/instance/action.js +42 -1
  38. package/dist/commands/instance/action.js.map +1 -1
  39. package/dist/commands/instance/index.d.ts.map +1 -1
  40. package/dist/commands/instance/index.js +5 -1
  41. package/dist/commands/instance/index.js.map +1 -1
  42. package/dist/index.js +23288 -3
  43. package/dist/services/cli-config.d.ts.map +1 -1
  44. package/dist/services/cli-config.js +46 -1
  45. package/dist/services/cli-config.js.map +1 -1
  46. package/dist/services/deployment-drivers.d.ts +10 -0
  47. package/dist/services/deployment-drivers.d.ts.map +1 -1
  48. package/dist/services/deployment-drivers.js +357 -6
  49. package/dist/services/deployment-drivers.js.map +1 -1
  50. package/dist/services/deployment-target.js +1 -1
  51. package/dist/services/deployment-target.js.map +1 -1
  52. package/dist/services/diagnostics.d.ts +3 -9
  53. package/dist/services/diagnostics.d.ts.map +1 -1
  54. package/dist/services/diagnostics.js +1 -7
  55. package/dist/services/diagnostics.js.map +1 -1
  56. package/dist/services/kubectl.d.ts +51 -0
  57. package/dist/services/kubectl.d.ts.map +1 -0
  58. package/dist/services/kubectl.js +150 -0
  59. package/dist/services/kubectl.js.map +1 -0
  60. package/dist/types.d.ts +15 -2
  61. package/dist/types.d.ts.map +1 -1
  62. package/package.json +4 -3
  63. package/templates/demo-config/attribute-providers/claims-provider.json +8 -2
  64. package/templates/demo-config/clients/presentation-test.json +8 -2
  65. package/templates/demo-config/clients/test.json +12 -6
  66. package/templates/demo-config/info.json +7 -1
  67. package/templates/demo-config/issuance/credentials/citizen.json +43 -37
  68. package/templates/demo-config/issuance/credentials/pid-key.json +371 -365
  69. package/templates/demo-config/issuance/credentials/pid-mdoc.json +444 -438
  70. package/templates/demo-config/issuance/credentials/pid.json +472 -466
  71. package/templates/demo-config/issuance/issuance.json +1 -3
  72. package/templates/demo-config/issuance/status-lists/pid.json +12 -6
  73. package/templates/demo-config/key-chains/access.json +2 -4
  74. package/templates/demo-config/key-chains/attestation.json +2 -4
  75. package/templates/demo-config/key-chains/status-list.json +1 -3
  76. package/templates/demo-config/key-chains/trust-list.json +1 -3
  77. package/templates/demo-config/presentation/age-over-18.json +20 -7
  78. package/templates/demo-config/presentation/pid.json +1 -3
  79. package/templates/demo-config/trust-lists/trustlist-580831bc-ef11-43f4-a3be-a2b6bf1b29a3-config.json +96 -90
  80. package/templates/demo-config/webhook-endpoints/notification.json +8 -2
  81. package/templates/schemas/AttributeProviderConfigFile.schema.json +38 -15
  82. package/templates/schemas/ClientConfigFile.schema.json +38 -15
  83. package/templates/schemas/CredentialConfigFile.schema.json +38 -15
  84. package/templates/schemas/IssuanceConfigFile.schema.json +24 -12
  85. package/templates/schemas/KeyChainConfigFile.schema.json +373 -19
  86. package/templates/schemas/KmsConfigFile.schema.json +21 -14
  87. package/templates/schemas/PresentationConfigFile.schema.json +41 -13
  88. package/templates/schemas/RegistrarConfigFile.schema.json +21 -14
  89. package/templates/schemas/StatusListConfigFile.schema.json +38 -15
  90. package/templates/schemas/TenantConfigFile.schema.json +136 -20
  91. package/templates/schemas/TrustListConfigFile.schema.json +38 -15
  92. package/templates/schemas/WebhookEndpointConfigFile.schema.json +38 -15
@@ -1 +1 @@
1
- {"version":3,"file":"cli-config.d.ts","sourceRoot":"","sources":["../../src/services/cli-config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAI7D,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAUhE;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAUjE;AAED,wBAAsB,UAAU,CAC5B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,SAAS,GAClB,OAAO,CAAC,IAAI,CAAC,CAMf;AAyBD,wBAAgB,cAAc,CAC1B,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,cAAc,GACzB,SAAS,CAQX;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAK7E;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAgBzE"}
1
+ {"version":3,"file":"cli-config.d.ts","sourceRoot":"","sources":["../../src/services/cli-config.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAI7D,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAUhE;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAUjE;AAED,wBAAsB,UAAU,CAC5B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,SAAS,GAClB,OAAO,CAAC,IAAI,CAAC,CAMf;AAyBD,wBAAgB,cAAc,CAC1B,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,cAAc,GACzB,SAAS,CAQX;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAK7E;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAgBzE"}
@@ -1,6 +1,7 @@
1
1
  import { mkdir, readFile, writeFile } from "node:fs/promises";
2
2
  import { dirname, isAbsolute, join, resolve } from "node:path";
3
3
  import { homedir } from "node:os";
4
+ import { assertContextName, assertNamespace, assertWorkloadReference, } from "./kubectl.js";
4
5
  const emptyConfig = () => ({ instances: {} });
5
6
  export function resolveConfigPath(env) {
6
7
  if (env.EUDIPLO_CLI_CONFIG) {
@@ -94,7 +95,9 @@ function validateInstanceConfig(name, value) {
94
95
  if (!isRecord(value)) {
95
96
  throw new Error(`Instance ${name} must be an object.`);
96
97
  }
97
- if (value.target !== "compose" && value.target !== "external") {
98
+ if (value.target !== "compose" &&
99
+ value.target !== "external" &&
100
+ value.target !== "kubernetes") {
98
101
  throw new Error(`Instance ${name} has unsupported target ${String(value.target)}.`);
99
102
  }
100
103
  if (typeof value.url !== "string" || value.url.length === 0) {
@@ -106,6 +109,24 @@ function validateInstanceConfig(name, value) {
106
109
  !isAbsolute(value.projectDirectory)) {
107
110
  throw new Error(`Instance ${name} projectDirectory must be absolute.`);
108
111
  }
112
+ const workloads = validateWorkloads(name, value.workloads);
113
+ if (value.target === "kubernetes") {
114
+ if (typeof value.context !== "string") {
115
+ throw new Error(`Instance ${name} must define a context.`);
116
+ }
117
+ if (typeof value.namespace !== "string") {
118
+ throw new Error(`Instance ${name} must define a namespace.`);
119
+ }
120
+ if (!workloads) {
121
+ throw new Error(`Instance ${name} must define workloads.`);
122
+ }
123
+ }
124
+ if (typeof value.context === "string") {
125
+ assertContextName(value.context, `Instance ${name} context`);
126
+ }
127
+ if (typeof value.namespace === "string") {
128
+ assertNamespace(value.namespace, `Instance ${name} namespace`);
129
+ }
109
130
  return {
110
131
  target: value.target,
111
132
  url: value.url,
@@ -116,8 +137,32 @@ function validateInstanceConfig(name, value) {
116
137
  envFile: optionalString(value.envFile),
117
138
  projectName: optionalString(value.projectName),
118
139
  projectDirectory: optionalString(value.projectDirectory),
140
+ context: optionalString(value.context),
141
+ namespace: optionalString(value.namespace),
142
+ workloads,
143
+ readOnly: value.readOnly === true ? true : undefined,
119
144
  };
120
145
  }
146
+ function validateWorkloads(name, value) {
147
+ if (value === undefined) {
148
+ return undefined;
149
+ }
150
+ if (!isRecord(value)) {
151
+ throw new Error(`Instance ${name} workloads must be an object.`);
152
+ }
153
+ const workloads = {};
154
+ for (const [service, reference] of Object.entries(value)) {
155
+ if (typeof reference !== "string") {
156
+ throw new Error(`Instance ${name} workload ${service} must be a string.`);
157
+ }
158
+ assertWorkloadReference(reference, `Instance ${name} workload ${service}`);
159
+ workloads[service] = reference;
160
+ }
161
+ if (Object.keys(workloads).length === 0) {
162
+ throw new Error(`Instance ${name} must define at least one workload.`);
163
+ }
164
+ return workloads;
165
+ }
121
166
  function optionalString(value) {
122
167
  return typeof value === "string" ? value : undefined;
123
168
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cli-config.js","sourceRoot":"","sources":["../../src/services/cli-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-config.js","sourceRoot":"","sources":["../../src/services/cli-config.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,16 @@ interface ComposeRuntime {
5
5
  name: ContainerRuntimeName;
6
6
  }
7
7
  export declare const drivers: Record<DeploymentTarget, DeploymentDriver>;
8
+ export declare function readReplicaCounts(stdout: string): {
9
+ ready: number;
10
+ desired: number;
11
+ };
12
+ /**
13
+ * A Service may own several EndpointSlices (one per address family, and more
14
+ * once it grows), so readiness is grouped by service name: a Service is ready
15
+ * when any of its slices carries a ready endpoint.
16
+ */
17
+ export declare function unreadyEndpoints(stdout: string): string[];
8
18
  export declare function ensureComposeProject(cwd: string, options: {
9
19
  mode?: "standard" | "demo";
10
20
  database?: "sqlite" | "postgres";
@@ -1 +1 @@
1
- {"version":3,"file":"deployment-drivers.d.ts","sourceRoot":"","sources":["../../src/services/deployment-drivers.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACR,gBAAgB,EAChB,gBAAgB,EAEhB,cAAc,EACjB,MAAM,aAAa,CAAC;AAErB,KAAK,oBAAoB,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEhD,UAAU,cAAc;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,oBAAoB,CAAC;CAC9B;AAED,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,gBAAgB,EAAE,gBAAgB,CAoC9D,CAAC;AAEF,wBAAsB,oBAAoB,CACtC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE;IACL,IAAI,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IACjC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,GAAG,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B,GACF,OAAO,CAAC,cAAc,CAAC,CAqFzB;AAwCD,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOrE;AAaD,wBAAgB,kBAAkB,CAC9B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,gBAAgB,GACzB,MAAM,CAKR;AAgDD,wBAAsB,qBAAqB,CACvC,GAAG,EAAE,MAAM,CAAC,UAAU,GACvB,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAgBrC"}
1
+ {"version":3,"file":"deployment-drivers.d.ts","sourceRoot":"","sources":["../../src/services/deployment-drivers.ts"],"names":[],"mappings":"AA+BA,OAAO,KAAK,EAER,gBAAgB,EAChB,gBAAgB,EAGhB,cAAc,EACjB,MAAM,aAAa,CAAC;AAErB,KAAK,oBAAoB,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEhD,UAAU,cAAc;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,oBAAoB,CAAC;CAC9B;AAED,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,gBAAgB,EAAE,gBAAgB,CA+F9D,CAAC;AA+MF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACnB,CAaA;AA2CD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAkCzD;AA6ED,wBAAsB,oBAAoB,CACtC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE;IACL,IAAI,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IACjC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,GAAG,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B,GACF,OAAO,CAAC,cAAc,CAAC,CAqFzB;AAwCD,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOrE;AAaD,wBAAgB,kBAAkB,CAC9B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,gBAAgB,GACzB,MAAM,CAKR;AAgDD,wBAAsB,qBAAqB,CACvC,GAAG,EAAE,MAAM,CAAC,UAAU,GACvB,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAgBrC"}
@@ -2,24 +2,38 @@ import { access, mkdir, rm, stat, unlink, writeFile } from "node:fs/promises";
2
2
  import { delimiter, join, resolve } from "node:path";
3
3
  import { spawn } from "node:child_process";
4
4
  import { copyBundledDemoConfig, createComposeFile, createComposeEnv, createGlobalKmsConfig, createNoClientComposeOverride, configDirectoryName, demoComposeFileName, demoConfigDirectory, demoEnvFileName, defaultComposeFileName, defaultComposeOverrideFileName, defaultEnvFileName, hasFiles, } from "./compose-project.js";
5
+ import { buildCanIArgs, buildLogsArgs, buildRestartArgs, buildRolloutStatusArgs, resolveWorkload, buildGetEndpointSlicesArgs, buildGetPodsArgs, buildGetWorkloadArgs, resolveScope, resolveWorkloads, } from "./kubectl.js";
5
6
  export const drivers = {
6
7
  compose: {
7
8
  target: "compose",
8
9
  async diagnostics(instance, context) {
9
- const messages = [];
10
+ const checks = [];
10
11
  const projectDirectory = instance.projectDirectory ?? context.cwd;
11
- if (!(await resolveComposeRuntime(context.env))) {
12
- messages.push("Docker or Podman was not found in a supported install location.");
13
- }
12
+ const runtime = await resolveComposeRuntime(context.env);
13
+ checks.push({
14
+ name: "container runtime",
15
+ status: runtime ? "pass" : "warn",
16
+ message: runtime
17
+ ? `${runtime.name} found at ${runtime.command}`
18
+ : "Docker or Podman was not found in a supported install location.",
19
+ });
14
20
  for (const composeFile of getComposeFiles(instance)) {
21
+ let found = true;
15
22
  try {
16
23
  await access(resolve(projectDirectory, composeFile));
17
24
  }
18
25
  catch {
19
- messages.push(`Compose file not found: ${composeFile}`);
26
+ found = false;
20
27
  }
28
+ checks.push({
29
+ name: "compose file",
30
+ status: found ? "pass" : "warn",
31
+ message: found
32
+ ? `${composeFile} is present`
33
+ : `Compose file not found: ${composeFile}`,
34
+ });
21
35
  }
22
- return messages;
36
+ return checks;
23
37
  },
24
38
  up(options) {
25
39
  return runCompose(["up", "-d", ...options.args], options);
@@ -37,7 +51,327 @@ export const drivers = {
37
51
  return [];
38
52
  },
39
53
  },
54
+ kubernetes: {
55
+ target: "kubernetes",
56
+ diagnostics: kubernetesDiagnostics,
57
+ async logs(options) {
58
+ const scope = resolveScope(options.instance, options.instanceName);
59
+ const workload = resolveWorkload(options.instance, readServiceFlag(options.flags));
60
+ return runKubectl([
61
+ ...buildLogsArgs(scope, workload, readLogOptions(options.flags)),
62
+ ...options.args,
63
+ ], options);
64
+ },
65
+ async ps(options) {
66
+ const scope = resolveScope(options.instance, options.instanceName);
67
+ return runKubectl([...buildGetPodsArgs(scope), ...options.args], options);
68
+ },
69
+ async restart(options) {
70
+ assertWritable(options);
71
+ const scope = resolveScope(options.instance, options.instanceName);
72
+ const workload = resolveWorkload(options.instance, readServiceFlag(options.flags));
73
+ // Name the target before changing anything: the whole risk of this
74
+ // command is restarting the right workload in the wrong cluster.
75
+ options.context.stdout.write(`Restarting ${workload} in namespace ${scope.namespace} on context ${scope.context}\n`);
76
+ const restarted = await runKubectl([...buildRestartArgs(scope, workload), ...options.args], options);
77
+ if (restarted !== 0 || options.flags.wait === false) {
78
+ return restarted;
79
+ }
80
+ return runKubectl(buildRolloutStatusArgs(scope, workload), options);
81
+ },
82
+ },
40
83
  };
84
+ /**
85
+ * A read-only instance is registered by someone who holds credentials for a
86
+ * cluster they do not operate, so a mutation is refused outright rather than
87
+ * attempted and left to fail on permissions.
88
+ */
89
+ function assertWritable({ instance, instanceName }) {
90
+ if (instance.readOnly === true) {
91
+ throw new Error(`Instance ${instanceName} is registered read-only. Re-register it without --read-only to allow changes.`);
92
+ }
93
+ }
94
+ function readServiceFlag(flags) {
95
+ const value = flags.service;
96
+ return typeof value === "string" && value.length > 0 ? value : undefined;
97
+ }
98
+ function readLogOptions(flags) {
99
+ const tail = typeof flags.tail === "string" ? Number(flags.tail) : undefined;
100
+ if (tail !== undefined && !Number.isInteger(tail)) {
101
+ throw new Error("--tail must be a whole number of lines.");
102
+ }
103
+ return { follow: flags.follow === true, tail };
104
+ }
105
+ async function runKubectl(args, { context }) {
106
+ const kubectl = await resolveKubectl(context.env);
107
+ if (!kubectl) {
108
+ throw new Error("kubectl was not found on PATH.");
109
+ }
110
+ return new Promise((resolveProcess, rejectProcess) => {
111
+ const child = spawn(kubectl, args, {
112
+ cwd: context.cwd,
113
+ env: context.env,
114
+ stdio: "inherit",
115
+ });
116
+ child.on("error", rejectProcess);
117
+ child.on("close", (code) => resolveProcess(code ?? 1));
118
+ });
119
+ }
120
+ async function kubernetesDiagnostics(instance, context) {
121
+ const checks = [];
122
+ const kubectl = await resolveKubectl(context.env);
123
+ checks.push({
124
+ name: "kubectl",
125
+ status: kubectl ? "pass" : "fail",
126
+ message: kubectl
127
+ ? `kubectl found at ${kubectl}`
128
+ : "kubectl was not found on PATH.",
129
+ });
130
+ if (!kubectl) {
131
+ return checks;
132
+ }
133
+ let scope;
134
+ try {
135
+ scope = resolveScope(instance, "this instance");
136
+ }
137
+ catch (error) {
138
+ checks.push({
139
+ name: "cluster scope",
140
+ status: "fail",
141
+ message: error instanceof Error ? error.message : String(error),
142
+ });
143
+ return checks;
144
+ }
145
+ checks.push({
146
+ name: "cluster scope",
147
+ status: "pass",
148
+ message: `context ${scope.context}, namespace ${scope.namespace}`,
149
+ });
150
+ // A namespace read is the cheapest way to prove the context resolves, the
151
+ // namespace exists and the credentials still work, all in one call.
152
+ const namespaceRead = await captureKubectl(kubectl, ["get", "namespace", scope.namespace, "--context", scope.context], context);
153
+ checks.push({
154
+ name: "namespace",
155
+ status: namespaceRead.code === 0 ? "pass" : "fail",
156
+ message: namespaceRead.code === 0
157
+ ? `${scope.namespace} is reachable`
158
+ : `${scope.namespace} could not be read: ${firstLine(namespaceRead.stderr)}`,
159
+ });
160
+ if (namespaceRead.code !== 0) {
161
+ return checks;
162
+ }
163
+ // Ask the API server what this user may do rather than waiting for a
164
+ // command to fail, so a missing role reads as a permission problem
165
+ // instead of an unexplained error later on.
166
+ for (const [verb, resource] of requiredPermissions(instance)) {
167
+ const permission = await captureKubectl(kubectl, buildCanIArgs(scope, verb, resource), context);
168
+ const allowed = permission.stdout.trim() === "yes";
169
+ checks.push({
170
+ name: "permissions",
171
+ status: allowed ? "pass" : "fail",
172
+ message: allowed
173
+ ? `may ${verb} ${resource}`
174
+ : `may not ${verb} ${resource} in namespace ${scope.namespace}. Grant it with a Role binding covering ${verb} on ${resource}.`,
175
+ });
176
+ }
177
+ for (const workload of resolveWorkloads(instance, undefined)) {
178
+ const read = await captureKubectl(kubectl, buildGetWorkloadArgs(scope, workload), context);
179
+ checks.push(workloadCheck(workload, read));
180
+ }
181
+ const pods = await captureKubectl(kubectl, buildGetPodsArgs(scope), context);
182
+ checks.push({
183
+ name: "pods",
184
+ status: pods.code === 0 ? "pass" : "warn",
185
+ message: pods.code === 0
186
+ ? `${countPodLines(pods.stdout)} pod(s) in ${scope.namespace}`
187
+ : `pods could not be listed: ${firstLine(pods.stderr)}`,
188
+ });
189
+ const endpoints = await captureKubectl(kubectl, buildGetEndpointSlicesArgs(scope), context);
190
+ checks.push(endpointCheck(endpoints));
191
+ return checks;
192
+ }
193
+ /**
194
+ * Kubernetes removes an unready pod from its Service endpoints, so a
195
+ * deployment running below its desired replica count still serves traffic
196
+ * through the remaining pods. That is a warning rather than a failure: only a
197
+ * deployment with nothing ready is actually down.
198
+ */
199
+ function workloadCheck(workload, read) {
200
+ if (read.code !== 0) {
201
+ return {
202
+ name: "workload",
203
+ status: "fail",
204
+ message: `${workload} could not be read: ${firstLine(read.stderr)}`,
205
+ };
206
+ }
207
+ let replicas;
208
+ try {
209
+ replicas = readReplicaCounts(read.stdout);
210
+ }
211
+ catch {
212
+ return {
213
+ name: "workload",
214
+ status: "warn",
215
+ message: `${workload} exists, but its replica counts could not be read.`,
216
+ };
217
+ }
218
+ const counts = `${replicas.ready}/${replicas.desired} replicas ready`;
219
+ if (replicas.desired === 0) {
220
+ return {
221
+ name: "workload",
222
+ status: "warn",
223
+ message: `${workload} is scaled to zero.`,
224
+ };
225
+ }
226
+ if (replicas.ready === 0) {
227
+ return {
228
+ name: "workload",
229
+ status: "fail",
230
+ message: `${workload} has no ready replicas (${counts}).`,
231
+ };
232
+ }
233
+ return {
234
+ name: "workload",
235
+ status: replicas.ready < replicas.desired ? "warn" : "pass",
236
+ message: `${workload}: ${counts}`,
237
+ };
238
+ }
239
+ export function readReplicaCounts(stdout) {
240
+ const parsed = JSON.parse(stdout);
241
+ if (!isRecord(parsed) || !isRecord(parsed.status)) {
242
+ throw new Error("Unexpected workload payload.");
243
+ }
244
+ // `readyReplicas` is omitted entirely rather than set to zero when no pod
245
+ // is ready, and `spec.replicas` defaults to 1 when unset.
246
+ const ready = numberOr(parsed.status.readyReplicas, 0);
247
+ const desired = isRecord(parsed.spec)
248
+ ? numberOr(parsed.spec.replicas, 1)
249
+ : numberOr(parsed.status.replicas, 1);
250
+ return { ready, desired };
251
+ }
252
+ function numberOr(value, fallback) {
253
+ return typeof value === "number" && Number.isFinite(value)
254
+ ? value
255
+ : fallback;
256
+ }
257
+ /**
258
+ * A Service with no ready addresses is the usual shape of "the API answers on
259
+ * localhost but not through the ingress", so it is worth calling out
260
+ * separately from pod status.
261
+ */
262
+ function endpointCheck(endpoints) {
263
+ if (endpoints.code !== 0) {
264
+ return {
265
+ name: "service endpoints",
266
+ status: "warn",
267
+ message: `endpoints could not be listed: ${firstLine(endpoints.stderr)}`,
268
+ };
269
+ }
270
+ let unready;
271
+ try {
272
+ unready = unreadyEndpoints(endpoints.stdout);
273
+ }
274
+ catch {
275
+ return {
276
+ name: "service endpoints",
277
+ status: "warn",
278
+ message: "endpoints could not be parsed.",
279
+ };
280
+ }
281
+ return {
282
+ name: "service endpoints",
283
+ status: unready.length === 0 ? "pass" : "fail",
284
+ message: unready.length === 0
285
+ ? "all services have ready addresses"
286
+ : `no ready addresses for: ${unready.join(", ")}`,
287
+ };
288
+ }
289
+ /**
290
+ * A Service may own several EndpointSlices (one per address family, and more
291
+ * once it grows), so readiness is grouped by service name: a Service is ready
292
+ * when any of its slices carries a ready endpoint.
293
+ */
294
+ export function unreadyEndpoints(stdout) {
295
+ const parsed = JSON.parse(stdout);
296
+ if (!isRecord(parsed) || !Array.isArray(parsed.items)) {
297
+ throw new Error("Unexpected endpointslice payload.");
298
+ }
299
+ const readyByService = new Map();
300
+ for (const item of parsed.items) {
301
+ if (!isRecord(item) || !isRecord(item.metadata)) {
302
+ continue;
303
+ }
304
+ const labels = isRecord(item.metadata.labels)
305
+ ? item.metadata.labels
306
+ : {};
307
+ const service = String(labels["kubernetes.io/service-name"] ??
308
+ item.metadata.name ??
309
+ "unknown");
310
+ const endpoints = Array.isArray(item.endpoints) ? item.endpoints : [];
311
+ const ready = endpoints.some((endpoint) => isRecord(endpoint) &&
312
+ // An omitted ready condition means ready, per the API contract.
313
+ (!isRecord(endpoint.conditions) ||
314
+ endpoint.conditions.ready !== false));
315
+ readyByService.set(service, (readyByService.get(service) ?? false) || ready);
316
+ }
317
+ return [...readyByService.entries()]
318
+ .filter(([, ready]) => !ready)
319
+ .map(([service]) => service)
320
+ .sort();
321
+ }
322
+ function isRecord(value) {
323
+ return typeof value === "object" && value !== null && !Array.isArray(value);
324
+ }
325
+ function requiredPermissions(instance) {
326
+ const permissions = [
327
+ ["get", "pods"],
328
+ ["get", "deployments"],
329
+ ["get", "pods/log"],
330
+ ];
331
+ if (instance.readOnly !== true) {
332
+ permissions.push(["patch", "deployments"]);
333
+ }
334
+ return permissions;
335
+ }
336
+ function countPodLines(stdout) {
337
+ const lines = stdout.trim().split("\n").filter(Boolean);
338
+ return Math.max(lines.length - 1, 0);
339
+ }
340
+ function firstLine(value) {
341
+ return value.trim().split("\n")[0] ?? "no output";
342
+ }
343
+ async function resolveKubectl(env) {
344
+ const configured = env.EUDIPLO_KUBECTL;
345
+ if (configured) {
346
+ return (await exists(configured)) ? configured : undefined;
347
+ }
348
+ for (const candidate of executableCandidates("kubectl", env)) {
349
+ if (await exists(candidate)) {
350
+ return candidate;
351
+ }
352
+ }
353
+ return undefined;
354
+ }
355
+ async function captureKubectl(kubectl, args, context) {
356
+ return new Promise((resolveProcess) => {
357
+ const child = spawn(kubectl, args, {
358
+ env: context.env,
359
+ stdio: ["ignore", "pipe", "pipe"],
360
+ });
361
+ let stdout = "";
362
+ let stderr = "";
363
+ child.stdout?.on("data", (chunk) => {
364
+ stdout += String(chunk);
365
+ });
366
+ child.stderr?.on("data", (chunk) => {
367
+ stderr += String(chunk);
368
+ });
369
+ child.on("error", (error) => {
370
+ resolveProcess({ code: 1, stdout, stderr: error.message });
371
+ });
372
+ child.on("close", (code) => resolveProcess({ code: code ?? 1, stdout, stderr }));
373
+ });
374
+ }
41
375
  export async function ensureComposeProject(cwd, options) {
42
376
  await ensureProjectDirectory(cwd);
43
377
  const mode = options.mode ?? "standard";
@@ -257,6 +591,23 @@ function runtimePathCandidates(pathEntry, runtime, env) {
257
591
  ...extensions.map((ext) => join(pathEntry, `${runtime}${ext}`)),
258
592
  ];
259
593
  }
594
+ /**
595
+ * Generic PATH lookup, including the Windows PATHEXT extensions, for
596
+ * executables that have no well-known install location.
597
+ */
598
+ function executableCandidates(name, env) {
599
+ const pathEntries = (env.PATH ?? "").split(delimiter).filter(Boolean);
600
+ if (process.platform !== "win32") {
601
+ return pathEntries.map((entry) => join(entry, name));
602
+ }
603
+ const extensions = (env.PATHEXT ?? ".EXE;.CMD;.BAT;.COM")
604
+ .split(";")
605
+ .filter(Boolean);
606
+ return pathEntries.flatMap((entry) => [
607
+ join(entry, name),
608
+ ...extensions.map((ext) => join(entry, `${name}${ext}`)),
609
+ ]);
610
+ }
260
611
  async function exists(path) {
261
612
  try {
262
613
  await access(path);
@@ -1 +1 @@
1
- {"version":3,"file":"deployment-drivers.js","sourceRoot":"","sources":["../../src/services/deployment-drivers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deployment-drivers.js","sourceRoot":"","sources":["../../src/services/deployment-drivers.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export function parseTarget(value) {
2
- if (value === "compose" || value === "external") {
2
+ if (value === "compose" || value === "external" || value === "kubernetes") {
3
3
  return value;
4
4
  }
5
5
  throw new Error(`Unsupported target: ${value}`);
@@ -1 +1 @@
1
- {"version":3,"file":"deployment-target.js","sourceRoot":"","sources":["../../src/services/deployment-target.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,WAAW,CAAC,KAAa;IACrC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;QAC9C,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,EAAE,CAAC,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"deployment-target.js","sourceRoot":"","sources":["../../src/services/deployment-target.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,WAAW,CAAC,KAAa;IACrC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,YAAY,EAAE,CAAC;QACxE,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,EAAE,CAAC,CAAC;AACpD,CAAC"}
@@ -1,12 +1,6 @@
1
- import type { CommandContext, InstanceConfig } from "../types.js";
2
- type CheckStatus = "pass" | "warn" | "fail";
3
- export interface DoctorCheck {
4
- name: string;
5
- status: CheckStatus;
6
- message: string;
7
- }
8
- export declare function runDoctor(instance: InstanceConfig, context: CommandContext, driverDiagnostics: string[]): Promise<DoctorCheck[]>;
1
+ import type { CommandContext, DoctorCheck, InstanceConfig } from "../types.js";
2
+ export type { DoctorCheck } from "../types.js";
3
+ export declare function runDoctor(instance: InstanceConfig, context: CommandContext, driverDiagnostics: DoctorCheck[]): Promise<DoctorCheck[]>;
9
4
  export declare function hasFailedChecks(checks: DoctorCheck[]): boolean;
10
5
  export declare function formatChecks(checks: DoctorCheck[]): string;
11
- export {};
12
6
  //# sourceMappingURL=diagnostics.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/services/diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElE,KAAK,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAE5C,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,SAAS,CAC3B,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,cAAc,EACvB,iBAAiB,EAAE,MAAM,EAAE,GAC5B,OAAO,CAAC,WAAW,EAAE,CAAC,CAgExB;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAE9D;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAO1D"}
1
+ {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/services/diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAER,cAAc,EACd,WAAW,EACX,cAAc,EACjB,MAAM,aAAa,CAAC;AAErB,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,wBAAsB,SAAS,CAC3B,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,cAAc,EACvB,iBAAiB,EAAE,WAAW,EAAE,GACjC,OAAO,CAAC,WAAW,EAAE,CAAC,CA0DxB;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAE9D;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAO1D"}