@eudiplo/cli 9.0.0-main.8be6872 → 9.0.0-main.e2c449b

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 (35) hide show
  1. package/dist/commands/config/validate/index.d.ts.map +1 -1
  2. package/dist/commands/config/validate/index.js +2 -2
  3. package/dist/commands/config/validate/index.js.map +1 -1
  4. package/dist/commands/deployment/index.d.ts.map +1 -1
  5. package/dist/commands/deployment/index.js +8 -3
  6. package/dist/commands/deployment/index.js.map +1 -1
  7. package/dist/commands/deployment/pass-through.d.ts +15 -0
  8. package/dist/commands/deployment/pass-through.d.ts.map +1 -0
  9. package/dist/commands/deployment/pass-through.js +52 -0
  10. package/dist/commands/deployment/pass-through.js.map +1 -0
  11. package/dist/commands/upgrade/action.d.ts.map +1 -1
  12. package/dist/commands/upgrade/action.js +5 -2
  13. package/dist/commands/upgrade/action.js.map +1 -1
  14. package/dist/index.js +90 -16
  15. package/dist/services/compose-args.d.ts +1 -1
  16. package/dist/services/compose-args.d.ts.map +1 -1
  17. package/dist/services/compose-args.js +4 -2
  18. package/dist/services/compose-args.js.map +1 -1
  19. package/dist/services/compose-upgrade.d.ts +2 -0
  20. package/dist/services/compose-upgrade.d.ts.map +1 -1
  21. package/dist/services/compose-upgrade.js +5 -0
  22. package/dist/services/compose-upgrade.js.map +1 -1
  23. package/dist/services/container-state.d.ts +4 -1
  24. package/dist/services/container-state.d.ts.map +1 -1
  25. package/dist/services/container-state.js +21 -8
  26. package/dist/services/container-state.js.map +1 -1
  27. package/dist/services/diagnostics.d.ts.map +1 -1
  28. package/dist/services/diagnostics.js +10 -0
  29. package/dist/services/diagnostics.js.map +1 -1
  30. package/package.json +1 -1
  31. package/templates/demo-config/presentation/pid.json +1 -2
  32. package/templates/demo-config.manifest.json +1 -3
  33. package/templates/docker-compose.yml +11 -6
  34. package/templates/demo-config/attribute-providers/claims-provider.json +0 -15
  35. package/templates/demo-config/webhook-endpoints/notification.json +0 -15
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/config/validate/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAA4B,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG7E,wBAAgB,qBAAqB,CACjC,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,WAAW,GACzB,OAAO,CAwBT"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/config/validate/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAA4B,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG7E,wBAAgB,qBAAqB,CACjC,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,WAAW,GACzB,OAAO,CA2BT"}
@@ -4,8 +4,8 @@ import { runValidate } from "./action.js";
4
4
  export function createValidateCommand(context, setExitCode) {
5
5
  return new Command("validate")
6
6
  .description("Validate CLI or tenant config-import files")
7
- .argument("[scope]")
8
- .argument("[path]")
7
+ .argument("[scope]", '"tenant" for one tenant folder or "tenants" for a folder of tenant folders; omit it to validate the CLI config file')
8
+ .argument("[path]", "the folder to validate (required with a scope)")
9
9
  .addOption(new Option("--format <text|json>", "tenant report format")
10
10
  .choices(["text", "json"])
11
11
  .default("text"))
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/config/validate/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAoB,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,UAAU,qBAAqB,CACjC,OAAuB,EACvB,WAAwB;IAExB,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC;SACzB,WAAW,CAAC,4CAA4C,CAAC;SACzD,QAAQ,CAAC,SAAS,CAAC;SACnB,QAAQ,CAAC,QAAQ,CAAC;SAClB,SAAS,CACN,IAAI,MAAM,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;SACrD,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SACzB,OAAO,CAAC,MAAM,CAAC,CACvB;SACA,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;QACnC,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,MAAM,CACpC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CACxD,CAAC;QACF,WAAW,CACP,MAAM,WAAW,CACb,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,MAAM,EACZ,UAAU,CAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,CAAC,EACtD,OAAO,CACV,CACJ,CAAC;IACN,CAAC,CAAC,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/config/validate/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAoB,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,UAAU,qBAAqB,CACjC,OAAuB,EACvB,WAAwB;IAExB,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC;SACzB,WAAW,CAAC,4CAA4C,CAAC;SACzD,QAAQ,CACL,SAAS,EACT,qHAAqH,CACxH;SACA,QAAQ,CAAC,QAAQ,EAAE,gDAAgD,CAAC;SACpE,SAAS,CACN,IAAI,MAAM,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;SACrD,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SACzB,OAAO,CAAC,MAAM,CAAC,CACvB;SACA,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;QACnC,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,MAAM,CACpC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CACxD,CAAC;QACF,WAAW,CACP,MAAM,WAAW,CACb,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,MAAM,EACZ,UAAU,CAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,CAAC,EACtD,OAAO,CACV,CACJ,CAAC;IACN,CAAC,CAAC,CAAC;AACX,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/deployment/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAA4B,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAqB1E,wBAAgB,wBAAwB,CACpC,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,WAAW,GACzB,OAAO,EAAE,CA4CX"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/deployment/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAA4B,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAsB1E,wBAAgB,wBAAwB,CACpC,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,WAAW,GACzB,OAAO,EAAE,CAgDX"}
@@ -1,10 +1,11 @@
1
1
  import { Command } from "commander";
2
2
  import { loadCliState, parsedArgs } from "../shared.js";
3
3
  import { runDriverCommand } from "./action.js";
4
+ import { runtimeArguments } from "./pass-through.js";
4
5
  const descriptions = {
5
6
  up: "Start the selected Compose deployment",
6
7
  down: "Stop the selected Compose deployment",
7
- logs: "Stream logs for the selected deployment",
8
+ logs: "Print the logs of the selected deployment, or stream them with --follow",
8
9
  ps: "List the running containers or pods for the selected deployment",
9
10
  restart: "Restart the workloads of the selected deployment",
10
11
  pull: "Download the configured images without changing configuration",
@@ -19,7 +20,10 @@ export function createDeploymentCommands(context, setExitCode) {
19
20
  return ["up", "down", "logs", "ps", "restart", "pull"].map((name) => {
20
21
  const command = new Command(name)
21
22
  .description(descriptions[name])
22
- .argument("[args...]", "additional arguments passed to the deployment runtime")
23
+ .argument("[args...]", "additional arguments and options passed to the deployment runtime")
24
+ // Options this command does not define belong to Compose or
25
+ // kubectl; runtimeArguments still rejects misspelled ones.
26
+ .allowUnknownOption()
23
27
  .option("--instance <name>", "select a configured instance");
24
28
  if (serviceScoped.has(name)) {
25
29
  command.option("--service <name>", "select a single service (Compose) or configured workload (Kubernetes)");
@@ -34,8 +38,9 @@ export function createDeploymentCommands(context, setExitCode) {
34
38
  command.option("--no-wait", "return without waiting for the rollout to finish (Kubernetes instances)");
35
39
  }
36
40
  return command.action(async (args, options) => {
41
+ const runtimeArgs = runtimeArguments(command, args);
37
42
  const { config } = await loadCliState(context);
38
- setExitCode(await runDriverCommand(config, name, parsedArgs(name, undefined, args, options), context));
43
+ setExitCode(await runDriverCommand(config, name, parsedArgs(name, undefined, runtimeArgs, options), context));
39
44
  });
40
45
  });
41
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/deployment/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAoB,MAAM,cAAc,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAI/C,MAAM,YAAY,GAAkC;IAChD,EAAE,EAAE,uCAAuC;IAC3C,IAAI,EAAE,sCAAsC;IAC5C,IAAI,EAAE,yCAAyC;IAC/C,EAAE,EAAE,iEAAiE;IACrE,OAAO,EAAE,kDAAkD;IAC3D,IAAI,EAAE,+DAA+D;CACxE,CAAC;AAEF,2EAA2E;AAC3E,MAAM,aAAa,GAA+B,IAAI,GAAG,CAAC;IACtD,MAAM;IACN,SAAS;IACT,MAAM;CACT,CAAC,CAAC;AAEH,MAAM,UAAU,wBAAwB,CACpC,OAAuB,EACvB,WAAwB;IAExB,OAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAW,CAAC,GAAG,CACjE,CAAC,IAAI,EAAE,EAAE;QACL,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;aAC5B,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;aAC/B,QAAQ,CACL,WAAW,EACX,uDAAuD,CAC1D;aACA,MAAM,CAAC,mBAAmB,EAAE,8BAA8B,CAAC,CAAC;QACjE,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,MAAM,CACV,kBAAkB,EAClB,uEAAuE,CAC1E,CAAC;QACN,CAAC;QACD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YAClB,OAAO;iBACF,MAAM,CAAC,UAAU,EAAE,iCAAiC,CAAC;iBACrD,MAAM,CAAC,gBAAgB,EAAE,gCAAgC,CAAC;iBAC1D,MAAM,CACH,gBAAgB,EAChB,uEAAuE,CAC1E,CAAC;QACV,CAAC;QACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrB,OAAO,CAAC,MAAM,CACV,WAAW,EACX,yEAAyE,CAC5E,CAAC;QACN,CAAC;QACD,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;YAC1C,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;YAC/C,WAAW,CACP,MAAM,gBAAgB,CAClB,MAAM,EACN,IAAI,EACJ,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,EAC1C,OAAO,CACV,CACJ,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC,CACJ,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/deployment/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAoB,MAAM,cAAc,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAIrD,MAAM,YAAY,GAAkC;IAChD,EAAE,EAAE,uCAAuC;IAC3C,IAAI,EAAE,sCAAsC;IAC5C,IAAI,EAAE,yEAAyE;IAC/E,EAAE,EAAE,iEAAiE;IACrE,OAAO,EAAE,kDAAkD;IAC3D,IAAI,EAAE,+DAA+D;CACxE,CAAC;AAEF,2EAA2E;AAC3E,MAAM,aAAa,GAA+B,IAAI,GAAG,CAAC;IACtD,MAAM;IACN,SAAS;IACT,MAAM;CACT,CAAC,CAAC;AAEH,MAAM,UAAU,wBAAwB,CACpC,OAAuB,EACvB,WAAwB;IAExB,OAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAW,CAAC,GAAG,CACjE,CAAC,IAAI,EAAE,EAAE;QACL,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;aAC5B,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;aAC/B,QAAQ,CACL,WAAW,EACX,mEAAmE,CACtE;YACD,4DAA4D;YAC5D,2DAA2D;aAC1D,kBAAkB,EAAE;aACpB,MAAM,CAAC,mBAAmB,EAAE,8BAA8B,CAAC,CAAC;QACjE,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,MAAM,CACV,kBAAkB,EAClB,uEAAuE,CAC1E,CAAC;QACN,CAAC;QACD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YAClB,OAAO;iBACF,MAAM,CAAC,UAAU,EAAE,iCAAiC,CAAC;iBACrD,MAAM,CAAC,gBAAgB,EAAE,gCAAgC,CAAC;iBAC1D,MAAM,CACH,gBAAgB,EAChB,uEAAuE,CAC1E,CAAC;QACV,CAAC;QACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrB,OAAO,CAAC,MAAM,CACV,WAAW,EACX,yEAAyE,CAC5E,CAAC;QACN,CAAC;QACD,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;YAC1C,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACpD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;YAC/C,WAAW,CACP,MAAM,gBAAgB,CAClB,MAAM,EACN,IAAI,EACJ,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC,EACjD,OAAO,CACV,CACJ,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC,CACJ,CAAC;AACN,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { Command } from "commander";
2
+ /**
3
+ * The driver commands pass the options they do not define to Compose or
4
+ * kubectl, as in `eudiplo down --volumes`. Commander then no longer rejects a
5
+ * misspelled option of the command itself, which would reach the runtime
6
+ * while the command acts on the default instance. An unknown option within
7
+ * two edits of one of the command's options is rejected here instead, with
8
+ * the message Commander gives for unknown options of other commands. No
9
+ * Compose or kubectl flag is that close to an option of these commands.
10
+ *
11
+ * Commander drops a leading "--" but keeps one that follows an unknown
12
+ * option. That one is dropped here, so "--" never reaches the runtime.
13
+ */
14
+ export declare function runtimeArguments(command: Command, args: string[]): string[];
15
+ //# sourceMappingURL=pass-through.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pass-through.d.ts","sourceRoot":"","sources":["../../../src/commands/deployment/pass-through.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAyB3E"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * The driver commands pass the options they do not define to Compose or
3
+ * kubectl, as in `eudiplo down --volumes`. Commander then no longer rejects a
4
+ * misspelled option of the command itself, which would reach the runtime
5
+ * while the command acts on the default instance. An unknown option within
6
+ * two edits of one of the command's options is rejected here instead, with
7
+ * the message Commander gives for unknown options of other commands. No
8
+ * Compose or kubectl flag is that close to an option of these commands.
9
+ *
10
+ * Commander drops a leading "--" but keeps one that follows an unknown
11
+ * option. That one is dropped here, so "--" never reaches the runtime.
12
+ */
13
+ export function runtimeArguments(command, args) {
14
+ const options = command.options.flatMap((option) => option.long ?? []);
15
+ for (const arg of args) {
16
+ if (!arg.startsWith("--") || arg === "--") {
17
+ continue;
18
+ }
19
+ const flag = arg.split("=", 1)[0];
20
+ const similar = options.filter((option) => option !== flag && editDistance(flag, option) <= 2);
21
+ if (similar.length > 0) {
22
+ const suggestion = similar.length === 1
23
+ ? similar[0]
24
+ : `one of ${similar.join(", ")}`;
25
+ command.error(`error: unknown option '${arg}'\n(Did you mean ${suggestion}?)`, { code: "commander.unknownOption" });
26
+ }
27
+ }
28
+ const separator = args.indexOf("--");
29
+ return separator === -1
30
+ ? args
31
+ : [...args.slice(0, separator), ...args.slice(separator + 1)];
32
+ }
33
+ /**
34
+ * Optimal string alignment distance: insertions, deletions, substitutions
35
+ * and swaps of adjacent characters, as in Commander's own suggestions.
36
+ */
37
+ function editDistance(a, b) {
38
+ const distances = Array.from({ length: a.length + 1 }, (_, i) => Array.from({ length: b.length + 1 }, (_, j) => Math.max(i, j)));
39
+ for (let i = 1; i <= a.length; i++) {
40
+ for (let j = 1; j <= b.length; j++) {
41
+ distances[i][j] = Math.min(distances[i - 1][j] + 1, distances[i][j - 1] + 1, distances[i - 1][j - 1] + (a[i - 1] === b[j - 1] ? 0 : 1));
42
+ if (i > 1 &&
43
+ j > 1 &&
44
+ a[i - 1] === b[j - 2] &&
45
+ a[i - 2] === b[j - 1]) {
46
+ distances[i][j] = Math.min(distances[i][j], distances[i - 2][j - 2] + 1);
47
+ }
48
+ }
49
+ }
50
+ return distances[a.length][b.length];
51
+ }
52
+ //# sourceMappingURL=pass-through.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pass-through.js","sourceRoot":"","sources":["../../../src/commands/deployment/pass-through.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../../src/commands/upgrade/action.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EACR,SAAS,EACT,cAAc,EAEd,UAAU,EACb,MAAM,gBAAgB,CAAC;AAGxB,wBAAsB,iBAAiB,CACnC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,cAAc,GACxB,OAAO,CAAC,MAAM,CAAC,CAiFjB"}
1
+ {"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../../src/commands/upgrade/action.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACR,SAAS,EACT,cAAc,EAEd,UAAU,EACb,MAAM,gBAAgB,CAAC;AAGxB,wBAAsB,iBAAiB,CACnC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,cAAc,GACxB,OAAO,CAAC,MAAM,CAAC,CAyFjB"}
@@ -2,7 +2,7 @@ import { readFile, writeFile } from "node:fs/promises";
2
2
  import { resolve } from "node:path";
3
3
  import { readStringFlag } from "../../options.js";
4
4
  import { buildComposePullArgs, buildComposeUpArgs, } from "../../services/compose-args.js";
5
- import { migrationNotes, planImageUpgrade, } from "../../services/compose-upgrade.js";
5
+ import { managedServices, migrationNotes, planImageUpgrade, } from "../../services/compose-upgrade.js";
6
6
  import { assertWritable, runCompose, unsupportedCommand, } from "../../services/deployment-drivers.js";
7
7
  import { resolveInstance } from "../../services/instance-selection.js";
8
8
  import { createPrompter } from "../shared.js";
@@ -49,7 +49,10 @@ export async function runUpgradeCommand(config, parsed, context) {
49
49
  }
50
50
  // Writing to the existing path keeps its owner-only permissions.
51
51
  await writeFile(envPath, plan.content, "utf8");
52
- const pulled = await runCompose(buildComposePullArgs(undefined), options);
52
+ // Pull only the images this upgrade changes. The other services keep
53
+ // their images, and a registry that stopped serving one of them (MinIO's
54
+ // images now need a login) must not block the upgrade.
55
+ const pulled = await runCompose(buildComposePullArgs(plan.changes.map((change) => managedServices[change.key])), options);
53
56
  if (pulled !== 0) {
54
57
  await writeFile(envPath, original, "utf8");
55
58
  context.stderr.write(`Pulling the new images failed. Restored the previous image tags in ${envPath}.\n`);
@@ -1 +1 @@
1
- {"version":3,"file":"action.js","sourceRoot":"","sources":["../../../src/commands/upgrade/action.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"action.js","sourceRoot":"","sources":["../../../src/commands/upgrade/action.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -23735,7 +23735,10 @@ function createTenantCommand(context, setExitCode) {
23735
23735
 
23736
23736
  // src/commands/config/validate/index.ts
23737
23737
  function createValidateCommand(context, setExitCode) {
23738
- return new Command("validate").description("Validate CLI or tenant config-import files").argument("[scope]").argument("[path]").addOption(
23738
+ return new Command("validate").description("Validate CLI or tenant config-import files").argument(
23739
+ "[scope]",
23740
+ '"tenant" for one tenant folder or "tenants" for a folder of tenant folders; omit it to validate the CLI config file'
23741
+ ).argument("[path]", "the folder to validate (required with a scope)").addOption(
23739
23742
  new Option("--format <text|json>", "tenant report format").choices(["text", "json"]).default("text")
23740
23743
  ).action(async (scope, path2, options) => {
23741
23744
  const state = await loadCliState(context);
@@ -23854,9 +23857,9 @@ function buildComposeLogsArgs(service, options = {}) {
23854
23857
  }
23855
23858
  return args;
23856
23859
  }
23857
- function buildComposePullArgs(service) {
23860
+ function buildComposePullArgs(services) {
23858
23861
  const args = ["pull"];
23859
- if (service !== void 0) {
23862
+ for (const service of typeof services === "string" ? [services] : services ?? []) {
23860
23863
  assertServiceName(service);
23861
23864
  args.push(service);
23862
23865
  }
@@ -23894,23 +23897,28 @@ function parseContainerStates(stdout) {
23894
23897
  return entries.map((entry) => {
23895
23898
  const record = entry;
23896
23899
  const names = record.Names;
23900
+ const status = String(record.Status ?? "");
23901
+ const exitCode2 = typeof record.ExitCode === "number" ? record.ExitCode : /^Exited \((\d+)\)/.exec(status)?.[1];
23897
23902
  return {
23898
23903
  name: Array.isArray(names) ? String(names[0] ?? "") : String(names ?? record.Name ?? ""),
23899
23904
  state: String(record.State ?? ""),
23900
- status: String(record.Status ?? "")
23905
+ status,
23906
+ exitCode: exitCode2 === void 0 ? void 0 : Number(exitCode2)
23901
23907
  };
23902
23908
  });
23903
23909
  }
23904
23910
  function summarizeContainerStates(containers, projectName) {
23905
23911
  const name = "service containers";
23906
- if (containers.length === 0) {
23912
+ const services = containers.filter((container) => !hasCompleted(container));
23913
+ const completed = containers.length - services.length;
23914
+ if (services.length === 0) {
23907
23915
  return {
23908
23916
  name,
23909
23917
  status: "warn",
23910
23918
  message: `No containers found for project ${projectName}. Start it with eudiplo up.`
23911
23919
  };
23912
23920
  }
23913
- const unhealthy = containers.filter(
23921
+ const unhealthy = services.filter(
23914
23922
  (container) => container.status.toLowerCase().includes("unhealthy")
23915
23923
  );
23916
23924
  if (unhealthy.length > 0) {
@@ -23920,25 +23928,28 @@ function summarizeContainerStates(containers, projectName) {
23920
23928
  message: `Unhealthy: ${describe(unhealthy)}`
23921
23929
  };
23922
23930
  }
23923
- const notRunning = containers.filter(
23931
+ const notRunning = services.filter(
23924
23932
  (container) => container.state.toLowerCase() !== "running"
23925
23933
  );
23926
23934
  if (notRunning.length > 0) {
23927
23935
  return {
23928
23936
  name,
23929
23937
  status: "warn",
23930
- message: `${containers.length - notRunning.length}/${containers.length} running. Not running: ${describe(notRunning)}`
23938
+ message: `${services.length - notRunning.length}/${services.length} running. Not running: ${describe(notRunning)}`
23931
23939
  };
23932
23940
  }
23933
- const starting = containers.filter(
23941
+ const starting = services.filter(
23934
23942
  (container) => container.status.toLowerCase().includes("starting")
23935
23943
  ).length;
23936
23944
  return {
23937
23945
  name,
23938
23946
  status: "pass",
23939
- message: `${containers.length} container(s) running${starting > 0 ? `, ${starting} still starting` : ""}.`
23947
+ message: `${services.length} container(s) running${starting > 0 ? `, ${starting} still starting` : ""}${completed > 0 ? `, ${completed} completed` : ""}.`
23940
23948
  };
23941
23949
  }
23950
+ function hasCompleted(container) {
23951
+ return container.state.toLowerCase() === "exited" && container.exitCode === 0;
23952
+ }
23942
23953
  function asArray(value) {
23943
23954
  return Array.isArray(value) ? value : [];
23944
23955
  }
@@ -24872,11 +24883,57 @@ async function runDriverCommand(config, command, parsed, context) {
24872
24883
  });
24873
24884
  }
24874
24885
 
24886
+ // src/commands/deployment/pass-through.ts
24887
+ function runtimeArguments(command, args) {
24888
+ const options = command.options.flatMap((option) => option.long ?? []);
24889
+ for (const arg of args) {
24890
+ if (!arg.startsWith("--") || arg === "--") {
24891
+ continue;
24892
+ }
24893
+ const flag = arg.split("=", 1)[0];
24894
+ const similar = options.filter(
24895
+ (option) => option !== flag && editDistance2(flag, option) <= 2
24896
+ );
24897
+ if (similar.length > 0) {
24898
+ const suggestion = similar.length === 1 ? similar[0] : `one of ${similar.join(", ")}`;
24899
+ command.error(
24900
+ `error: unknown option '${arg}'
24901
+ (Did you mean ${suggestion}?)`,
24902
+ { code: "commander.unknownOption" }
24903
+ );
24904
+ }
24905
+ }
24906
+ const separator = args.indexOf("--");
24907
+ return separator === -1 ? args : [...args.slice(0, separator), ...args.slice(separator + 1)];
24908
+ }
24909
+ function editDistance2(a, b) {
24910
+ const distances = Array.from(
24911
+ { length: a.length + 1 },
24912
+ (_, i2) => Array.from({ length: b.length + 1 }, (_2, j) => Math.max(i2, j))
24913
+ );
24914
+ for (let i2 = 1; i2 <= a.length; i2++) {
24915
+ for (let j = 1; j <= b.length; j++) {
24916
+ distances[i2][j] = Math.min(
24917
+ distances[i2 - 1][j] + 1,
24918
+ distances[i2][j - 1] + 1,
24919
+ distances[i2 - 1][j - 1] + (a[i2 - 1] === b[j - 1] ? 0 : 1)
24920
+ );
24921
+ if (i2 > 1 && j > 1 && a[i2 - 1] === b[j - 2] && a[i2 - 2] === b[j - 1]) {
24922
+ distances[i2][j] = Math.min(
24923
+ distances[i2][j],
24924
+ distances[i2 - 2][j - 2] + 1
24925
+ );
24926
+ }
24927
+ }
24928
+ }
24929
+ return distances[a.length][b.length];
24930
+ }
24931
+
24875
24932
  // src/commands/deployment/index.ts
24876
24933
  var descriptions = {
24877
24934
  up: "Start the selected Compose deployment",
24878
24935
  down: "Stop the selected Compose deployment",
24879
- logs: "Stream logs for the selected deployment",
24936
+ logs: "Print the logs of the selected deployment, or stream them with --follow",
24880
24937
  ps: "List the running containers or pods for the selected deployment",
24881
24938
  restart: "Restart the workloads of the selected deployment",
24882
24939
  pull: "Download the configured images without changing configuration"
@@ -24891,8 +24948,8 @@ function createDeploymentCommands(context, setExitCode) {
24891
24948
  (name) => {
24892
24949
  const command = new Command(name).description(descriptions[name]).argument(
24893
24950
  "[args...]",
24894
- "additional arguments passed to the deployment runtime"
24895
- ).option("--instance <name>", "select a configured instance");
24951
+ "additional arguments and options passed to the deployment runtime"
24952
+ ).allowUnknownOption().option("--instance <name>", "select a configured instance");
24896
24953
  if (serviceScoped.has(name)) {
24897
24954
  command.option(
24898
24955
  "--service <name>",
@@ -24912,12 +24969,13 @@ function createDeploymentCommands(context, setExitCode) {
24912
24969
  );
24913
24970
  }
24914
24971
  return command.action(async (args, options) => {
24972
+ const runtimeArgs = runtimeArguments(command, args);
24915
24973
  const { config } = await loadCliState(context);
24916
24974
  setExitCode(
24917
24975
  await runDriverCommand(
24918
24976
  config,
24919
24977
  name,
24920
- parsedArgs(name, void 0, args, options),
24978
+ parsedArgs(name, void 0, runtimeArgs, options),
24921
24979
  context
24922
24980
  )
24923
24981
  );
@@ -24929,7 +24987,7 @@ function createDeploymentCommands(context, setExitCode) {
24929
24987
  // package.json
24930
24988
  var package_default = {
24931
24989
  name: "@eudiplo/cli",
24932
- version: "9.0.0-main.8be6872",
24990
+ version: "9.0.0-main.e2c449b",
24933
24991
  description: "Deployment-aware command line tools for EUDIPLO",
24934
24992
  private: false,
24935
24993
  type: "module",
@@ -25372,6 +25430,13 @@ var kmsHealthCheck = {
25372
25430
  message: "This backend does not expose the KMS provider health endpoint."
25373
25431
  };
25374
25432
  }
25433
+ if (response.status === 401 || response.status === 403) {
25434
+ return {
25435
+ name: "KMS providers",
25436
+ status: "skip",
25437
+ message: `Needs a tenant client with issuance:manage or presentation:manage (${response.reason}).`
25438
+ };
25439
+ }
25375
25440
  return {
25376
25441
  name: "KMS providers",
25377
25442
  status: "fail",
@@ -26282,6 +26347,10 @@ var managedImages = {
26282
26347
  EUDIPLO_IMAGE: "ghcr.io/eudiplo/eudiplo",
26283
26348
  EUDIPLO_CLIENT_IMAGE: "ghcr.io/eudiplo/eudiplo-client"
26284
26349
  };
26350
+ var managedServices = {
26351
+ EUDIPLO_IMAGE: "eudiplo",
26352
+ EUDIPLO_CLIENT_IMAGE: "eudiplo-client"
26353
+ };
26285
26354
  var legacyImages = {
26286
26355
  EUDIPLO_IMAGE: "ghcr.io/openwallet-foundation/eudiplo",
26287
26356
  EUDIPLO_CLIENT_IMAGE: "ghcr.io/openwallet-foundation/eudiplo-client"
@@ -26448,7 +26517,12 @@ async function runUpgradeCommand(config, parsed, context) {
26448
26517
  return 0;
26449
26518
  }
26450
26519
  await writeFile6(envPath, plan.content, "utf8");
26451
- const pulled = await runCompose(buildComposePullArgs(void 0), options);
26520
+ const pulled = await runCompose(
26521
+ buildComposePullArgs(
26522
+ plan.changes.map((change) => managedServices[change.key])
26523
+ ),
26524
+ options
26525
+ );
26452
26526
  if (pulled !== 0) {
26453
26527
  await writeFile6(envPath, original, "utf8");
26454
26528
  context.stderr.write(
@@ -15,7 +15,7 @@ export declare function buildComposeBaseArgs(instance: InstanceConfig, projectDi
15
15
  export declare function buildComposePsArgs(): string[];
16
16
  export declare function buildComposeListServicesArgs(): string[];
17
17
  export declare function buildComposeLogsArgs(service: string | undefined, options?: ComposeLogOptions): string[];
18
- export declare function buildComposePullArgs(service: string | undefined): string[];
18
+ export declare function buildComposePullArgs(services: string | readonly string[] | undefined): string[];
19
19
  export declare function buildComposeUpArgs(): string[];
20
20
  export declare function buildComposeRestartArgs(service: string | undefined): string[];
21
21
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"compose-args.d.ts","sourceRoot":"","sources":["../../src/services/compose-args.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAuBlD,MAAM,WAAW,iBAAiB;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAMvD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAS/C;AAQD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAChC,QAAQ,EAAE,cAAc,EACxB,gBAAgB,EAAE,MAAM,EACxB,YAAY,EAAE,MAAM,EAAE,GACvB,MAAM,EAAE,CAeV;AAED,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAE7C;AAED,wBAAgB,4BAA4B,IAAI,MAAM,EAAE,CAEvD;AAED,wBAAgB,oBAAoB,CAChC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,OAAO,GAAE,iBAAsB,GAChC,MAAM,EAAE,CAkBV;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CAO1E;AAED,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAE7C;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CAO7E;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAMzD;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAMzE"}
1
+ {"version":3,"file":"compose-args.d.ts","sourceRoot":"","sources":["../../src/services/compose-args.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAuBlD,MAAM,WAAW,iBAAiB;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAMvD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAS/C;AAQD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAChC,QAAQ,EAAE,cAAc,EACxB,gBAAgB,EAAE,MAAM,EACxB,YAAY,EAAE,MAAM,EAAE,GACvB,MAAM,EAAE,CAeV;AAED,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAE7C;AAED,wBAAgB,4BAA4B,IAAI,MAAM,EAAE,CAEvD;AAED,wBAAgB,oBAAoB,CAChC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,OAAO,GAAE,iBAAsB,GAChC,MAAM,EAAE,CAkBV;AAED,wBAAgB,oBAAoB,CAChC,QAAQ,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,GACjD,MAAM,EAAE,CASV;AAED,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAE7C;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CAO7E;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAMzD;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAMzE"}
@@ -78,9 +78,11 @@ export function buildComposeLogsArgs(service, options = {}) {
78
78
  }
79
79
  return args;
80
80
  }
81
- export function buildComposePullArgs(service) {
81
+ export function buildComposePullArgs(services) {
82
82
  const args = ["pull"];
83
- if (service !== undefined) {
83
+ for (const service of typeof services === "string"
84
+ ? [services]
85
+ : (services ?? [])) {
84
86
  assertServiceName(service);
85
87
  args.push(service);
86
88
  }
@@ -1 +1 @@
1
- {"version":3,"file":"compose-args.js","sourceRoot":"","sources":["../../src/services/compose-args.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compose-args.js","sourceRoot":"","sources":["../../src/services/compose-args.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,8 @@ declare const managedImages: {
12
12
  readonly EUDIPLO_CLIENT_IMAGE: "ghcr.io/eudiplo/eudiplo-client";
13
13
  };
14
14
  type ManagedKey = keyof typeof managedImages;
15
+ /** The Compose service that runs the image of each managed line. */
16
+ export declare const managedServices: Record<ManagedKey, string>;
15
17
  interface ImageChange {
16
18
  key: ManagedKey;
17
19
  repository: string;
@@ -1 +1 @@
1
- {"version":3,"file":"compose-upgrade.d.ts","sourceRoot":"","sources":["../../src/services/compose-upgrade.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,QAAA,MAAM,aAAa;aACf,aAAa,EAAE,yBAAyB;aACxC,oBAAoB,EAAE,gCAAgC;CAChD,CAAC;AAEX,KAAK,UAAU,GAAG,MAAM,OAAO,aAAa,CAAC;AAU7C,UAAU,WAAW;IACjB,GAAG,EAAE,UAAU,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACd;AAED,UAAU,WAAW;IACjB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAC;CACnB;AAKD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAMhD;AAYD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,WAAW,CAwD1E;AA0BD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,CAwBjE"}
1
+ {"version":3,"file":"compose-upgrade.d.ts","sourceRoot":"","sources":["../../src/services/compose-upgrade.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,QAAA,MAAM,aAAa;aACf,aAAa,EAAE,yBAAyB;aACxC,oBAAoB,EAAE,gCAAgC;CAChD,CAAC;AAEX,KAAK,UAAU,GAAG,MAAM,OAAO,aAAa,CAAC;AAE7C,oEAAoE;AACpE,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAGtD,CAAC;AAUF,UAAU,WAAW;IACjB,GAAG,EAAE,UAAU,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACd;AAED,UAAU,WAAW;IACjB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAC;CACnB;AAKD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAMhD;AAYD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,WAAW,CAwD1E;AA0BD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,CAwBjE"}
@@ -11,6 +11,11 @@ const managedImages = {
11
11
  EUDIPLO_IMAGE: "ghcr.io/eudiplo/eudiplo",
12
12
  EUDIPLO_CLIENT_IMAGE: "ghcr.io/eudiplo/eudiplo-client",
13
13
  };
14
+ /** The Compose service that runs the image of each managed line. */
15
+ export const managedServices = {
16
+ EUDIPLO_IMAGE: "eudiplo",
17
+ EUDIPLO_CLIENT_IMAGE: "eudiplo-client",
18
+ };
14
19
  // Releases up to v8.1.0 were published while the project was hosted by the
15
20
  // OpenWallet Foundation. Instances still on those images are moved to the
16
21
  // current repository by their next upgrade.
@@ -1 +1 @@
1
- {"version":3,"file":"compose-upgrade.js","sourceRoot":"","sources":["../../src/services/compose-upgrade.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,aAAa,GAAG;IAClB,aAAa,EAAE,yBAAyB;IACxC,oBAAoB,EAAE,gCAAgC;CAChD,CAAC;AAIX,2EAA2E;AAC3E,0EAA0E;AAC1E,4CAA4C;AAC5C,MAAM,YAAY,GAA+B;IAC7C,aAAa,EAAE,uCAAuC;IACtD,oBAAoB,EAAE,8CAA8C;CACvE,CAAC;AAiBF,gEAAgE;AAChE,MAAM,GAAG,GAAG,qCAAqC,CAAC;AAElD,MAAM,UAAU,cAAc,CAAC,GAAW;IACtC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACX,qBAAqB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,qFAAqF,CAChI,CAAC;IACN,CAAC;AACL,CAAC;AAED,8DAA8D;AAC9D,SAAS,KAAK,CAAC,KAAa,EAAE,UAAkB;IAC5C,MAAM,MAAM,GAAG,GAAG,UAAU,GAAG,CAAC;IAChC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACvC,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe,EAAE,GAAW;IACzD,cAAc,CAAC,GAAG,CAAC,CAAC;IAEpB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAc,CAAC;IACpC,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,wEAAwE;IACxE,8BAA8B;IAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3C,MAAM,KAAK,GAAG,mDAAmD,CAAC,IAAI,CAClE,IAAI,CACP,CAAC;QACF,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAe,CAAC;QACnC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QAEtC,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACX,GAAG,GAAG,6CAA6C,CACtD,CAAC;QACN,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEf,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,UAAU,IAAI,SAAS,CAAC;QACxC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACX,GAAG,GAAG,cAAc,KAAK,sEAAsE,UAAU,kCAAkC,CAC9I,CAAC;QACN,CAAC;QAED,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC;gBACT,GAAG;gBACH,UAAU;gBACV,SAAS,EAAE,YAAY,CAAC,GAAG,CAAC;gBAC5B,IAAI,EAAE,OAAO;gBACb,EAAE,EAAE,GAAG;aACV,CAAC,CAAC;QACP,CAAC;aAAM,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,GAAG,GAAG,IAAI,UAAU,IAAI,GAAG,GAAG,UAAU,EAAE,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CACX,0FAA0F,CAC7F,CAAC;IACN,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAClD,CAAC;AAQD,SAAS,YAAY,CAAC,GAAW;IAC7B,MAAM,KAAK,GAAG,yBAAyB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,OAAO;QACH,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KAC1B,CAAC;AACN,CAAC;AAED,SAAS,eAAe,CAAC,CAAU,EAAE,CAAU;IAC3C,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;AACvE,CAAC;AAED,MAAM,gBAAgB,GAAG,kCAAkC,CAAC;AAE5D;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,EAAU;IACnD,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;IAEnC,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,EAAE,CAAC;QAC7B,OAAO;YACH,kBAAkB,IAAI,QAAQ,EAAE,6CAA6C,gBAAgB,qBAAqB;SACrH,CAAC;IACN,CAAC;IAED,MAAM,KAAK,GAAG,eAAe,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACtD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACZ,OAAO;YACH,GAAG,EAAE,kBAAkB,IAAI,oHAAoH;SAClJ,CAAC;IACN,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,KAAK,GAAG,WAAW,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;QACxE,KAAK,CAAC,IAAI,CACN,iBAAiB,KAAK,UAAU,gBAAgB,IAAI,KAAK,GAAG,CAAC,SAAS,KAAK,WAAW,CACzF,CAAC;IACN,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"compose-upgrade.js","sourceRoot":"","sources":["../../src/services/compose-upgrade.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,14 @@ export interface ContainerState {
3
3
  name: string;
4
4
  state: string;
5
5
  status: string;
6
+ /** Exit code of a stopped container, when the runtime reports one. */
7
+ exitCode?: number;
6
8
  }
7
9
  /**
8
10
  * Parses `docker ps --format json` (one JSON object per line) and
9
11
  * `podman ps --format json` (a single JSON array). Field shapes differ
10
- * slightly: Podman reports Names as an array, Docker as a string.
12
+ * slightly: Podman reports Names as an array, Docker as a string, and only
13
+ * Podman has an ExitCode field; Docker has the code in Status only.
11
14
  */
12
15
  export declare function parseContainerStates(stdout: string): ContainerState[];
13
16
  export declare function summarizeContainerStates(containers: ContainerState[], projectName: string): DoctorCheck;
@@ -1 +1 @@
1
- {"version":3,"file":"container-state.d.ts","sourceRoot":"","sources":["../../src/services/container-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,EAAE,CAyBrE;AAED,wBAAgB,wBAAwB,CACpC,UAAU,EAAE,cAAc,EAAE,EAC5B,WAAW,EAAE,MAAM,GACpB,WAAW,CAwCb"}
1
+ {"version":3,"file":"container-state.d.ts","sourceRoot":"","sources":["../../src/services/container-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,EAAE,CA+BrE;AAED,wBAAgB,wBAAwB,CACpC,UAAU,EAAE,cAAc,EAAE,EAC5B,WAAW,EAAE,MAAM,GACpB,WAAW,CA4Cb"}
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * Parses `docker ps --format json` (one JSON object per line) and
3
3
  * `podman ps --format json` (a single JSON array). Field shapes differ
4
- * slightly: Podman reports Names as an array, Docker as a string.
4
+ * slightly: Podman reports Names as an array, Docker as a string, and only
5
+ * Podman has an ExitCode field; Docker has the code in Status only.
5
6
  */
6
7
  export function parseContainerStates(stdout) {
7
8
  const trimmed = stdout.trim();
@@ -18,25 +19,34 @@ export function parseContainerStates(stdout) {
18
19
  return entries.map((entry) => {
19
20
  const record = entry;
20
21
  const names = record.Names;
22
+ const status = String(record.Status ?? "");
23
+ const exitCode = typeof record.ExitCode === "number"
24
+ ? record.ExitCode
25
+ : /^Exited \((\d+)\)/.exec(status)?.[1];
21
26
  return {
22
27
  name: Array.isArray(names)
23
28
  ? String(names[0] ?? "")
24
29
  : String(names ?? record.Name ?? ""),
25
30
  state: String(record.State ?? ""),
26
- status: String(record.Status ?? ""),
31
+ status,
32
+ exitCode: exitCode === undefined ? undefined : Number(exitCode),
27
33
  };
28
34
  });
29
35
  }
30
36
  export function summarizeContainerStates(containers, projectName) {
31
37
  const name = "service containers";
32
- if (containers.length === 0) {
38
+ // A container that exited with code 0 has done its job, like the bucket
39
+ // setup (rustfs-init) of the standard preset; it is not a stopped service.
40
+ const services = containers.filter((container) => !hasCompleted(container));
41
+ const completed = containers.length - services.length;
42
+ if (services.length === 0) {
33
43
  return {
34
44
  name,
35
45
  status: "warn",
36
46
  message: `No containers found for project ${projectName}. Start it with eudiplo up.`,
37
47
  };
38
48
  }
39
- const unhealthy = containers.filter((container) => container.status.toLowerCase().includes("unhealthy"));
49
+ const unhealthy = services.filter((container) => container.status.toLowerCase().includes("unhealthy"));
40
50
  if (unhealthy.length > 0) {
41
51
  return {
42
52
  name,
@@ -44,21 +54,24 @@ export function summarizeContainerStates(containers, projectName) {
44
54
  message: `Unhealthy: ${describe(unhealthy)}`,
45
55
  };
46
56
  }
47
- const notRunning = containers.filter((container) => container.state.toLowerCase() !== "running");
57
+ const notRunning = services.filter((container) => container.state.toLowerCase() !== "running");
48
58
  if (notRunning.length > 0) {
49
59
  return {
50
60
  name,
51
61
  status: "warn",
52
- message: `${containers.length - notRunning.length}/${containers.length} running. Not running: ${describe(notRunning)}`,
62
+ message: `${services.length - notRunning.length}/${services.length} running. Not running: ${describe(notRunning)}`,
53
63
  };
54
64
  }
55
- const starting = containers.filter((container) => container.status.toLowerCase().includes("starting")).length;
65
+ const starting = services.filter((container) => container.status.toLowerCase().includes("starting")).length;
56
66
  return {
57
67
  name,
58
68
  status: "pass",
59
- message: `${containers.length} container(s) running${starting > 0 ? `, ${starting} still starting` : ""}.`,
69
+ message: `${services.length} container(s) running${starting > 0 ? `, ${starting} still starting` : ""}${completed > 0 ? `, ${completed} completed` : ""}.`,
60
70
  };
61
71
  }
72
+ function hasCompleted(container) {
73
+ return (container.state.toLowerCase() === "exited" && container.exitCode === 0);
74
+ }
62
75
  function asArray(value) {
63
76
  return Array.isArray(value) ? value : [];
64
77
  }
@@ -1 +1 @@
1
- {"version":3,"file":"container-state.js","sourceRoot":"","sources":["../../src/services/container-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"container-state.js","sourceRoot":"","sources":["../../src/services/container-state.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
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;AAcrB,OAAO,EACH,KAAK,iBAAiB,EAGzB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAsB/C,MAAM,WAAW,aAAa;IAC1B,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,eAAe,CAAC,EAAE,iBAAiB,CAAC;CACvC;AAED,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CAChB;AA0MD,wBAAsB,SAAS,CAC3B,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,cAAc,EACvB,iBAAiB,EAAE,WAAW,EAAE,EAChC,OAAO,GAAE,aAAkB,GAC5B,OAAO,CAAC,WAAW,EAAE,CAAC,CA8BxB;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,YAAY,CAOnE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC3B,MAAM,EAAE,WAAW,EAAE,EACrB,MAAM,UAAQ,GACf,OAAO,CAKT;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAO1D;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAE3D"}
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;AAcrB,OAAO,EACH,KAAK,iBAAiB,EAGzB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAsB/C,MAAM,WAAW,aAAa;IAC1B,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,eAAe,CAAC,EAAE,iBAAiB,CAAC;CACvC;AAED,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CAChB;AAoND,wBAAsB,SAAS,CAC3B,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,cAAc,EACvB,iBAAiB,EAAE,WAAW,EAAE,EAChC,OAAO,GAAE,aAAkB,GAC5B,OAAO,CAAC,WAAW,EAAE,CAAC,CA8BxB;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,YAAY,CAOnE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC3B,MAAM,EAAE,WAAW,EAAE,EACrB,MAAM,UAAQ,GACf,OAAO,CAKT;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAO1D;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAE3D"}
@@ -120,6 +120,16 @@ const kmsHealthCheck = {
120
120
  message: "This backend does not expose the KMS provider health endpoint.",
121
121
  };
122
122
  }
123
+ // Provider health is read per tenant, so the bootstrap root
124
+ // client (tenants:manage, no tenant) is refused. That says
125
+ // nothing about the providers.
126
+ if (response.status === 401 || response.status === 403) {
127
+ return {
128
+ name: "KMS providers",
129
+ status: "skip",
130
+ message: `Needs a tenant client with issuance:manage or presentation:manage (${response.reason}).`,
131
+ };
132
+ }
123
133
  return {
124
134
  name: "KMS providers",
125
135
  status: "fail",
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/services/diagnostics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/services/diagnostics.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eudiplo/cli",
3
- "version": "9.0.0-main.8be6872",
3
+ "version": "9.0.0-main.e2c449b",
4
4
  "description": "Deployment-aware command line tools for EUDIPLO",
5
5
  "private": false,
6
6
  "type": "module",
@@ -36,7 +36,6 @@
36
36
  ]
37
37
  }
38
38
  ]
39
- },
40
- "webhookEndpointId": "notification"
39
+ }
41
40
  }
42
41
  }
@@ -1,5 +1,4 @@
1
1
  [
2
- "attribute-providers/claims-provider.json",
3
2
  "clients/presentation-test.json",
4
3
  "clients/test.json",
5
4
  "images/company.png",
@@ -19,6 +18,5 @@
19
18
  "key-chains/trust-list.json",
20
19
  "presentation/age-over-18.json",
21
20
  "presentation/pid.json",
22
- "trust-lists/trustlist-580831bc-ef11-43f4-a3be-a2b6bf1b29a3-config.json",
23
- "webhook-endpoints/notification.json"
21
+ "trust-lists/trustlist-580831bc-ef11-43f4-a3be-a2b6bf1b29a3-config.json"
24
22
  ]
@@ -49,9 +49,10 @@ services:
49
49
  eudiplo:
50
50
  condition: service_healthy
51
51
  environment:
52
- - API_BASE_URL=http://eudiplo:3000
53
- # Uncomment to serve the client from a subpath behind a reverse proxy:
54
- # - CLIENT_BASE_HREF=/eudiplo-client/
52
+ # Used by the browser only, to prefill the backend URL on the login page.
53
+ - API_BASE_URL=${API_BASE_URL:-http://localhost:3000}
54
+ # Subpath behind a reverse proxy, for example /eudiplo-client/
55
+ - CLIENT_BASE_HREF=${CLIENT_BASE_HREF:-/}
55
56
  healthcheck:
56
57
  test: ['CMD', 'wget', '-qO', '/dev/null', 'http://localhost:8080']
57
58
  interval: 30s
@@ -92,8 +93,8 @@ services:
92
93
  restart: always
93
94
  profiles: ['s3', 'standard', 'full']
94
95
  ports:
95
- - '9000:9000'
96
- - '9001:9001'
96
+ - '${EUDIPLO_BIND_ADDRESS:-0.0.0.0}:9000:9000'
97
+ - '${EUDIPLO_BIND_ADDRESS:-0.0.0.0}:9001:9001'
97
98
  environment:
98
99
  RUSTFS_ACCESS_KEY: ${RUSTFS_ACCESS_KEY:-rustfsadmin}
99
100
  RUSTFS_SECRET_KEY: ${RUSTFS_SECRET_KEY:-rustfsadmin}
@@ -141,12 +142,16 @@ services:
141
142
  # FULL PROFILE: + HashiCorp Vault
142
143
  # =============================================================================
143
144
 
145
+ # Development mode: Vault keeps all data in memory, so the encryption key and
146
+ # any signing keys in it are lost when the container restarts. Nothing creates
147
+ # the encryption key, see
148
+ # https://docs.eudiplo.dev/operate/docker-compose#create-the-encryption-key-for-full
144
149
  vault:
145
150
  image: hashicorp/vault:latest
146
151
  restart: always
147
152
  profiles: ['vault', 'full']
148
153
  ports:
149
- - '8200:8200'
154
+ - '${EUDIPLO_BIND_ADDRESS:-0.0.0.0}:8200:8200'
150
155
  environment:
151
156
  VAULT_DEV_ROOT_TOKEN_ID: ${VAULT_TOKEN:-root}
152
157
  VAULT_DEV_LISTEN_ADDRESS: 0.0.0.0:8200
@@ -1,15 +0,0 @@
1
- {
2
- "$schema": "https://eudiplo.dev/schemas/v1/AttributeProviderConfigFile.schema.json",
3
- "metadata": {
4
- "generation": 1
5
- },
6
- "spec": {
7
- "id": "claims-provider",
8
- "name": "Claims Provider",
9
- "description": "Provides dynamic claim values during credential issuance",
10
- "url": "${ATTRIBUTE_PROVIDER_URL:http://localhost:8787}",
11
- "auth": {
12
- "type": "none"
13
- }
14
- }
15
- }
@@ -1,15 +0,0 @@
1
- {
2
- "$schema": "https://eudiplo.dev/schemas/v1/WebhookEndpointConfigFile.schema.json",
3
- "metadata": {
4
- "generation": 1
5
- },
6
- "spec": {
7
- "id": "notification",
8
- "name": "Notification Webhook",
9
- "description": "Receives credential issuance lifecycle events",
10
- "url": "${WEBHOOK_NOTIFICATION_URL:http://localhost:8787}",
11
- "auth": {
12
- "type": "none"
13
- }
14
- }
15
- }