@eudiplo/cli 9.1.0-main.b08ff89 → 9.1.0-main.b4a1a8d

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 (99) hide show
  1. package/dist/commands/completion/action.js +3 -1
  2. package/dist/commands/completion/action.js.map +1 -1
  3. package/dist/commands/config/portability/migrations.spec.js +5 -2
  4. package/dist/commands/config/portability/migrations.spec.js.map +1 -1
  5. package/dist/commands/config/portability/upgrade.d.ts.map +1 -1
  6. package/dist/commands/config/portability/upgrade.js +7 -8
  7. package/dist/commands/config/portability/upgrade.js.map +1 -1
  8. package/dist/commands/config/tenant/action.d.ts.map +1 -1
  9. package/dist/commands/config/tenant/action.js +3 -2
  10. package/dist/commands/config/tenant/action.js.map +1 -1
  11. package/dist/commands/config/validate/action.d.ts.map +1 -1
  12. package/dist/commands/config/validate/action.js +2 -1
  13. package/dist/commands/config/validate/action.js.map +1 -1
  14. package/dist/commands/config/validate/registry.json +21 -0
  15. package/dist/commands/config/validate/validator.d.ts.map +1 -1
  16. package/dist/commands/config/validate/validator.js +26 -3
  17. package/dist/commands/config/validate/validator.js.map +1 -1
  18. package/dist/commands/init/action.d.ts.map +1 -1
  19. package/dist/commands/init/action.js +1 -11
  20. package/dist/commands/init/action.js.map +1 -1
  21. package/dist/commands/instance/action.d.ts +2 -0
  22. package/dist/commands/instance/action.d.ts.map +1 -1
  23. package/dist/commands/instance/action.js +68 -12
  24. package/dist/commands/instance/action.js.map +1 -1
  25. package/dist/commands/instance/index.d.ts.map +1 -1
  26. package/dist/commands/instance/index.js +21 -3
  27. package/dist/commands/instance/index.js.map +1 -1
  28. package/dist/commands/open/action.d.ts.map +1 -1
  29. package/dist/commands/open/action.js +13 -2
  30. package/dist/commands/open/action.js.map +1 -1
  31. package/dist/commands/status/action.d.ts.map +1 -1
  32. package/dist/commands/status/action.js +2 -1
  33. package/dist/commands/status/action.js.map +1 -1
  34. package/dist/index.js +22023 -5089
  35. package/dist/services/api-auth.d.ts.map +1 -1
  36. package/dist/services/api-auth.js +3 -2
  37. package/dist/services/api-auth.js.map +1 -1
  38. package/dist/services/browser.d.ts.map +1 -1
  39. package/dist/services/browser.js +3 -2
  40. package/dist/services/browser.js.map +1 -1
  41. package/dist/services/cli-config.d.ts +41 -1
  42. package/dist/services/cli-config.d.ts.map +1 -1
  43. package/dist/services/cli-config.js +217 -29
  44. package/dist/services/cli-config.js.map +1 -1
  45. package/dist/services/compose-project.d.ts +6 -0
  46. package/dist/services/compose-project.d.ts.map +1 -1
  47. package/dist/services/compose-project.js +13 -2
  48. package/dist/services/compose-project.js.map +1 -1
  49. package/dist/services/diagnostics.d.ts.map +1 -1
  50. package/dist/services/diagnostics.js +9 -8
  51. package/dist/services/diagnostics.js.map +1 -1
  52. package/dist/services/instance-selection.d.ts.map +1 -1
  53. package/dist/services/instance-selection.js +2 -5
  54. package/dist/services/instance-selection.js.map +1 -1
  55. package/dist/services/url.d.ts +21 -0
  56. package/dist/services/url.d.ts.map +1 -0
  57. package/dist/services/url.js +61 -0
  58. package/dist/services/url.js.map +1 -0
  59. package/package.json +6 -5
  60. package/templates/demo-config/clients/presentation-test.json +1 -1
  61. package/templates/demo-config/clients/test.json +7 -2
  62. package/templates/demo-config/info.json +1 -1
  63. package/templates/demo-config/issuance/credentials/citizen.json +1 -1
  64. package/templates/demo-config/issuance/credentials/pid-key.json +1 -1
  65. package/templates/demo-config/issuance/credentials/pid-mdoc.json +1 -1
  66. package/templates/demo-config/issuance/credentials/pid.json +1 -1
  67. package/templates/demo-config/issuance/issuance.json +1 -1
  68. package/templates/demo-config/key-chains/access.json +1 -1
  69. package/templates/demo-config/key-chains/attestation.json +3 -2
  70. package/templates/demo-config/key-chains/status-list.json +6 -5
  71. package/templates/demo-config/key-chains/trust-list.json +1 -1
  72. package/templates/demo-config/presentation/age-over-18.json +11 -1
  73. package/templates/demo-config/presentation/pid.json +1 -1
  74. package/templates/docker-compose.yml +2 -2
  75. package/templates/schemas/ClientConfigFile.schema.json +134 -1
  76. package/templates/schemas/CreateClientDto.schema.json +5 -1
  77. package/templates/schemas/CreateFederationTrustAnchorDto.schema.json +82 -0
  78. package/templates/schemas/CreateRegistrarConfigDto.schema.json +29 -0
  79. package/templates/schemas/CreateTenantDto.schema.json +8 -4
  80. package/templates/schemas/CredentialConfigCreate.schema.json +252 -19
  81. package/templates/schemas/CredentialConfigFile.schema.json +2618 -1
  82. package/templates/schemas/FederationTrustAnchorConfigFile.schema.json +60 -0
  83. package/templates/schemas/IssuanceConfig.schema.json +122 -9
  84. package/templates/schemas/IssuanceConfigFile.schema.json +2247 -1
  85. package/templates/schemas/KeyChainConfigFile.schema.json +875 -119
  86. package/templates/schemas/KeyChainCreateDto.schema.json +12 -1
  87. package/templates/schemas/KeyChainDefaultsConfigFile.schema.json +123 -0
  88. package/templates/schemas/KeyChainImportDto.schema.json +10 -0
  89. package/templates/schemas/KmsConfigDto.schema.json +186 -0
  90. package/templates/schemas/KmsConfigFile.schema.json +1026 -1
  91. package/templates/schemas/PresentationConfigCreateDto.schema.json +16 -0
  92. package/templates/schemas/PresentationConfigFile.schema.json +746 -1
  93. package/templates/schemas/RegistrarConfigFile.schema.json +101 -1
  94. package/templates/schemas/RotationPolicyCreateDto.schema.json +1 -1
  95. package/templates/schemas/TenantConfigFile.schema.json +334 -64
  96. package/templates/schemas/UpdateClientDto.schema.json +5 -1
  97. package/templates/schemas/UpdateFederationTrustAnchorDto.schema.json +70 -0
  98. package/templates/schemas/UpdateStatusListConfigDto.schema.json +5 -5
  99. package/templates/schemas.manifest.json +4 -0
@@ -1 +1 @@
1
- {"version":3,"file":"api-auth.d.ts","sourceRoot":"","sources":["../../src/services/api-auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD;;;;GAIG;AACH,MAAM,MAAM,WAAW,GACjB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAExC,wBAAsB,kBAAkB,CACpC,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,cAAc,GACxB,OAAO,CAAC,WAAW,CAAC,CAgDtB;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACpC,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,cAAc,GACxB,OAAO,CACN;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAC/E,CAoBA;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAE/C"}
1
+ {"version":3,"file":"api-auth.d.ts","sourceRoot":"","sources":["../../src/services/api-auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD;;;;GAIG;AACH,MAAM,MAAM,WAAW,GACjB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAExC,wBAAsB,kBAAkB,CACpC,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,cAAc,GACxB,OAAO,CAAC,WAAW,CAAC,CAgDtB;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACpC,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,cAAc,GACxB,OAAO,CACN;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAC/E,CAoBA;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAE/C"}
@@ -1,3 +1,4 @@
1
+ import { describeRequestError } from "./url.js";
1
2
  export async function requestAccessToken(baseUrl, context) {
2
3
  const clientId = context.env.EUDIPLO_CLIENT_ID;
3
4
  const clientSecret = context.env.EUDIPLO_CLIENT_SECRET;
@@ -42,7 +43,7 @@ export async function requestAccessToken(baseUrl, context) {
42
43
  catch (error) {
43
44
  return {
44
45
  kind: "error",
45
- reason: `the token endpoint could not be reached: ${error instanceof Error ? error.message : String(error)}`,
46
+ reason: `the token endpoint could not be reached: ${describeRequestError(error, tokenUrl)}`,
46
47
  };
47
48
  }
48
49
  }
@@ -68,7 +69,7 @@ export async function fetchAuthenticated(url, accessToken, context) {
68
69
  catch (error) {
69
70
  return {
70
71
  ok: false,
71
- reason: `${url.pathname} could not be reached: ${error instanceof Error ? error.message : String(error)}`,
72
+ reason: `${url.pathname} could not be reached: ${describeRequestError(error, url)}`,
72
73
  };
73
74
  }
74
75
  }
@@ -1 +1 @@
1
- {"version":3,"file":"api-auth.js","sourceRoot":"","sources":["../../src/services/api-auth.ts"],"names":[],"mappings":"AAYA,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACpC,OAAY,EACZ,OAAuB;IAEvB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAC/C,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;IACvD,IAAI,CAAC,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC;QAC7B,OAAO;YACH,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,yDAAyD;SACpE,CAAC;IACN,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;IACzE,IAAI,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE;YAC3C,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,mCAAmC,EAAE;YAChE,IAAI,EAAE,IAAI,eAAe,CAAC;gBACtB,UAAU,EAAE,oBAAoB;gBAChC,SAAS,EAAE,QAAQ;gBACnB,aAAa,EAAE,YAAY;aAC9B,CAAC,CAAC,QAAQ,EAAE;SAChB,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,4DAA4D;YAC5D,OAAO;gBACH,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,oCAAoC,QAAQ,CAAC,MAAM,EAAE;aAChE,CAAC;QACN,CAAC;QACD,MAAM,OAAO,GAAY,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC/C,MAAM,WAAW,GACb,OAAO,OAAO,KAAK,QAAQ;YAC3B,OAAO,KAAK,IAAI;YAChB,cAAc,IAAI,OAAO;YACrB,CAAC,CAAC,MAAM,CAAE,OAAqC,CAAC,YAAY,CAAC;YAC7D,CAAC,CAAC,EAAE,CAAC;QACb,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,OAAO;gBACH,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,oDAAoD;aAC/D,CAAC;QACN,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IAC1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO;YACH,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,4CAA4C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;SAC/G,CAAC;IACN,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACpC,GAAQ,EACR,WAAmB,EACnB,OAAuB;IAIvB,IAAI,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE;YACtC,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,WAAW,EAAE,EAAE;SACtD,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,OAAO;gBACH,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,MAAM,EAAE,GAAG,GAAG,CAAC,QAAQ,kBAAkB,QAAQ,CAAC,MAAM,EAAE;aAC7D,CAAC;QACN,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;IACrD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO;YACH,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,GAAG,GAAG,CAAC,QAAQ,0BAA0B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;SAC5G,CAAC;IACN,CAAC;AACL,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,GAAQ;IACtC,OAAO,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;AAClE,CAAC"}
1
+ {"version":3,"file":"api-auth.js","sourceRoot":"","sources":["../../src/services/api-auth.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/services/browser.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,eAAe;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAChC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,qEAAqE;IACrE,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CACxD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAa/C;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAChC,GAAG,EAAE,MAAM,EACX,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,mBAAmB,GAC9C,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAwCtC;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAYzE;AAED,wBAAgB,UAAU,CACtB,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC7C,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAoB/C"}
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/services/browser.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,eAAe;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAChC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,qEAAqE;IACrE,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CACxD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAa/C;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAChC,GAAG,EAAE,MAAM,EACX,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,mBAAmB,GAC9C,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAwCtC;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAYzE;AAED,wBAAgB,UAAU,CACtB,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC7C,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAoB/C"}
@@ -1,6 +1,7 @@
1
1
  import { spawn } from "node:child_process";
2
2
  import { access } from "node:fs/promises";
3
3
  import { delimiter, join } from "node:path";
4
+ import { redactUrl } from "./url.js";
4
5
  /**
5
6
  * Only web URLs are ever handed to a launcher. Instance URLs are validated
6
7
  * when they are registered, but a hand-edited config must not be able to turn
@@ -12,10 +13,10 @@ export function assertWebUrl(value) {
12
13
  url = new URL(value);
13
14
  }
14
15
  catch {
15
- throw new Error(`${value} is not a valid absolute URL.`);
16
+ throw new Error(`${redactUrl(value)} is not a valid absolute URL.`);
16
17
  }
17
18
  if (url.protocol !== "http:" && url.protocol !== "https:") {
18
- throw new Error(`Refusing to open ${value}: only http and https URLs are supported.`);
19
+ throw new Error(`Refusing to open ${redactUrl(value)}: only http and https URLs are supported.`);
19
20
  }
20
21
  return url;
21
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/services/browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/services/browser.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,48 @@
1
1
  import type { CliConfig, InstanceConfig } from "../types.js";
2
2
  export declare function resolveConfigPath(env: NodeJS.ProcessEnv): string;
3
3
  export declare function loadConfig(path: string): Promise<CliConfig>;
4
+ /**
5
+ * Writes the config atomically: the content goes to a new file in the same
6
+ * directory, which then replaces the config in one rename. A crash or a full
7
+ * disk never leaves a truncated config behind. A new config is created with
8
+ * mode 0600 where the platform supports it; an existing one keeps its mode.
9
+ *
10
+ * Where a rename cannot replace the file as it is, the config is rewritten in
11
+ * place as before: when another user or group owns it (a rename would change
12
+ * the owner), when it has hard links, and when the directory is not writable or
13
+ * the file is a mount of its own (a single file bind-mounted into a
14
+ * container).
15
+ *
16
+ * The config is validated first, so no command can save a config that the
17
+ * next command would fail to load. A symlinked config (for example into a
18
+ * dotfiles repository) stays a symlink: the file it points to is replaced.
19
+ */
4
20
  export declare function saveConfig(path: string, config: CliConfig): Promise<void>;
5
21
  export declare function upsertInstance(config: CliConfig, name: string, instance: InstanceConfig): CliConfig;
22
+ /**
23
+ * Looks up an instance by name. Only the config's own entries count, so names
24
+ * such as `constructor` are unknown instead of resolving to Object members.
25
+ */
26
+ export declare function getInstance(config: CliConfig, name: string): InstanceConfig;
6
27
  export declare function setDefaultInstance(config: CliConfig, name: string): CliConfig;
7
- export declare function removeInstance(config: CliConfig, name: string): CliConfig;
28
+ export interface InstanceUpdate {
29
+ url?: string;
30
+ /** A URL replaces the client URL, `null` removes it. */
31
+ clientUrl?: string | null;
32
+ }
33
+ export declare function updateInstance(config: CliConfig, name: string, update: InstanceUpdate): CliConfig;
34
+ /**
35
+ * Renames an instance, keeping its position in the config file and moving the
36
+ * default along with it.
37
+ */
38
+ export declare function renameInstance(config: CliConfig, oldName: string, newName: string): CliConfig;
39
+ /**
40
+ * Removes an instance. The default can only be removed while it is the last
41
+ * instance, or when `newDefault` names the instance that replaces it, so the
42
+ * default never points at a missing instance. `newDefault` is refused when
43
+ * another instance is removed; `setDefaultInstance` changes the default.
44
+ */
45
+ export declare function removeInstance(config: CliConfig, name: string, options?: {
46
+ newDefault?: string;
47
+ }): CliConfig;
8
48
  //# sourceMappingURL=cli-config.d.ts.map
@@ -1 +1 @@
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,CAsBzE"}
1
+ {"version":3,"file":"cli-config.d.ts","sourceRoot":"","sources":["../../src/services/cli-config.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAK7D,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;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,UAAU,CAC5B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,SAAS,GAClB,OAAO,CAAC,IAAI,CAAC,CA+Bf;AAuHD,wBAAgB,cAAc,CAC1B,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,cAAc,GACzB,SAAS,CAQX;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,CAK3E;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAG7E;AAED,MAAM,WAAW,cAAc;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,wBAAgB,cAAc,CAC1B,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,cAAc,GACvB,SAAS,CAoBX;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC1B,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GAChB,SAAS,CA0BX;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC1B,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GACtC,SAAS,CAoCX"}
@@ -1,7 +1,9 @@
1
- import { mkdir, readFile, writeFile } from "node:fs/promises";
1
+ import { randomBytes } from "node:crypto";
2
+ import { chmod, lstat, mkdir, readFile, readlink, realpath, rename, rm, stat, writeFile, } from "node:fs/promises";
2
3
  import { dirname, isAbsolute, join, resolve } from "node:path";
3
4
  import { homedir } from "node:os";
4
5
  import { assertContextName, assertNamespace, assertWorkloadReference, } from "./kubectl.js";
6
+ import { validateHttpUrl } from "./url.js";
5
7
  const emptyConfig = () => ({ instances: {} });
6
8
  export function resolveConfigPath(env) {
7
9
  if (env.EUDIPLO_CLI_CONFIG) {
@@ -24,12 +26,136 @@ export async function loadConfig(path) {
24
26
  throw error;
25
27
  }
26
28
  }
29
+ /**
30
+ * Writes the config atomically: the content goes to a new file in the same
31
+ * directory, which then replaces the config in one rename. A crash or a full
32
+ * disk never leaves a truncated config behind. A new config is created with
33
+ * mode 0600 where the platform supports it; an existing one keeps its mode.
34
+ *
35
+ * Where a rename cannot replace the file as it is, the config is rewritten in
36
+ * place as before: when another user or group owns it (a rename would change
37
+ * the owner), when it has hard links, and when the directory is not writable or
38
+ * the file is a mount of its own (a single file bind-mounted into a
39
+ * container).
40
+ *
41
+ * The config is validated first, so no command can save a config that the
42
+ * next command would fail to load. A symlinked config (for example into a
43
+ * dotfiles repository) stays a symlink: the file it points to is replaced.
44
+ */
27
45
  export async function saveConfig(path, config) {
28
- await mkdir(dirname(path), { recursive: true, mode: 0o700 });
29
- await writeFile(path, `${JSON.stringify(config, null, 4)}\n`, {
30
- encoding: "utf8",
31
- mode: 0o600,
32
- });
46
+ const contents = `${JSON.stringify(config, null, 4)}\n`;
47
+ validateConfig(JSON.parse(contents));
48
+ const target = await resolveSymlinks(path);
49
+ await mkdir(dirname(target), { recursive: true, mode: 0o700 });
50
+ const existing = await statIfExists(target);
51
+ if (existing && !canReplace(existing)) {
52
+ await writeFile(target, contents, "utf8");
53
+ return;
54
+ }
55
+ const temporaryPath = `${target}.${process.pid}.${randomBytes(6).toString("hex")}.tmp`;
56
+ try {
57
+ await writeFile(temporaryPath, contents, {
58
+ encoding: "utf8",
59
+ mode: 0o600,
60
+ flag: "wx",
61
+ });
62
+ if (existing) {
63
+ await chmod(temporaryPath, existing.mode & 0o777);
64
+ }
65
+ await replaceFile(temporaryPath, target);
66
+ }
67
+ catch (error) {
68
+ await rm(temporaryPath, { force: true });
69
+ if (existing && isInPlaceFallback(error)) {
70
+ await writeFile(target, contents, "utf8");
71
+ return;
72
+ }
73
+ throw error;
74
+ }
75
+ }
76
+ async function statIfExists(path) {
77
+ try {
78
+ return await stat(path);
79
+ }
80
+ catch (error) {
81
+ if (isNodeError(error) && error.code === "ENOENT") {
82
+ return undefined;
83
+ }
84
+ throw error;
85
+ }
86
+ }
87
+ function canReplace(existing) {
88
+ if (existing.isFile() && existing.nlink > 1) {
89
+ return false;
90
+ }
91
+ // A rename gives the file the writer's owner and primary group.
92
+ const uid = process.getuid?.();
93
+ const gid = process.getgid?.();
94
+ return ((uid === undefined || existing.uid === uid) &&
95
+ (gid === undefined || existing.gid === gid));
96
+ }
97
+ /**
98
+ * Errors after which the old in-place write still works: no write access to
99
+ * the directory (EACCES, EPERM, EROFS for a read-only mount of the directory
100
+ * only), or a target that cannot be renamed over (EBUSY for a bind-mounted
101
+ * file, EXDEV across mounts).
102
+ */
103
+ function isInPlaceFallback(error) {
104
+ return (isNodeError(error) &&
105
+ (error.code === "EACCES" ||
106
+ error.code === "EPERM" ||
107
+ error.code === "EROFS" ||
108
+ error.code === "EBUSY" ||
109
+ error.code === "EXDEV"));
110
+ }
111
+ /**
112
+ * Returns the file a path points to. A path that does not exist yet is
113
+ * returned as is, and a dangling symlink resolves to its missing target, so
114
+ * the first save creates the file the link expects.
115
+ */
116
+ async function resolveSymlinks(path) {
117
+ try {
118
+ return await realpath(path);
119
+ }
120
+ catch (error) {
121
+ if (!isNodeError(error) || error.code !== "ENOENT") {
122
+ throw error;
123
+ }
124
+ }
125
+ try {
126
+ if ((await lstat(path)).isSymbolicLink()) {
127
+ return resolve(dirname(path), await readlink(path));
128
+ }
129
+ }
130
+ catch (error) {
131
+ if (!isNodeError(error) || error.code !== "ENOENT") {
132
+ throw error;
133
+ }
134
+ }
135
+ return path;
136
+ }
137
+ /**
138
+ * Renames over the existing file. On Windows a rename can fail briefly while
139
+ * another process (an editor, a virus scanner) holds the target open.
140
+ */
141
+ async function replaceFile(source, target) {
142
+ for (let attempt = 1;; attempt += 1) {
143
+ try {
144
+ await rename(source, target);
145
+ return;
146
+ }
147
+ catch (error) {
148
+ const retryable = process.platform === "win32" &&
149
+ isNodeError(error) &&
150
+ (error.code === "EPERM" ||
151
+ error.code === "EACCES" ||
152
+ error.code === "EBUSY");
153
+ if (!retryable || attempt >= 5) {
154
+ throw error;
155
+ }
156
+ await new Promise((done) => setTimeout(done, attempt * 20));
157
+ }
158
+ }
33
159
  }
34
160
  function validateConfig(value) {
35
161
  if (!isRecord(value)) {
@@ -38,10 +164,12 @@ function validateConfig(value) {
38
164
  if (!isRecord(value.instances)) {
39
165
  throw new Error("Config must define an instances object.");
40
166
  }
41
- const instances = {};
42
- for (const [name, instance] of Object.entries(value.instances)) {
43
- instances[name] = validateInstanceConfig(name, instance);
44
- }
167
+ // Object.fromEntries defines own properties, so an instance named
168
+ // `__proto__` is kept instead of replacing the object's prototype.
169
+ const instances = Object.fromEntries(Object.entries(value.instances).map(([name, instance]) => [
170
+ name,
171
+ validateInstanceConfig(name, instance),
172
+ ]));
45
173
  return {
46
174
  defaultInstance: validateDefaultInstance(value.defaultInstance, instances),
47
175
  instances,
@@ -56,26 +184,97 @@ export function upsertInstance(config, name, instance) {
56
184
  },
57
185
  };
58
186
  }
59
- export function setDefaultInstance(config, name) {
187
+ /**
188
+ * Looks up an instance by name. Only the config's own entries count, so names
189
+ * such as `constructor` are unknown instead of resolving to Object members.
190
+ */
191
+ export function getInstance(config, name) {
60
192
  if (!Object.hasOwn(config.instances, name)) {
61
193
  throw new Error(`Unknown instance: ${name}`);
62
194
  }
195
+ return config.instances[name];
196
+ }
197
+ export function setDefaultInstance(config, name) {
198
+ getInstance(config, name);
63
199
  return { ...config, defaultInstance: name };
64
200
  }
65
- export function removeInstance(config, name) {
66
- if (!Object.hasOwn(config.instances, name)) {
67
- throw new Error(`Unknown instance: ${name}`);
201
+ export function updateInstance(config, name, update) {
202
+ const current = getInstance(config, name);
203
+ if (update.url === undefined && update.clientUrl === undefined) {
204
+ throw new Error("Nothing to update. Pass --url, --client-url or --no-client-url.");
205
+ }
206
+ const next = { ...current };
207
+ if (update.url !== undefined) {
208
+ next.url = update.url;
209
+ }
210
+ if (update.clientUrl === null) {
211
+ delete next.clientUrl;
212
+ }
213
+ else if (update.clientUrl !== undefined) {
214
+ next.clientUrl = update.clientUrl;
215
+ }
216
+ return {
217
+ ...config,
218
+ instances: { ...config.instances, [name]: next },
219
+ };
220
+ }
221
+ /**
222
+ * Renames an instance, keeping its position in the config file and moving the
223
+ * default along with it.
224
+ */
225
+ export function renameInstance(config, oldName, newName) {
226
+ getInstance(config, oldName);
227
+ if (newName.length === 0) {
228
+ throw new Error("New instance name must not be empty.");
229
+ }
230
+ if (newName === oldName) {
231
+ throw new Error(`Instance ${oldName} already has that name.`);
232
+ }
233
+ if (Object.hasOwn(config.instances, newName)) {
234
+ throw new Error(`Instance ${newName} already exists.`);
235
+ }
236
+ // See validateConfig: own properties keep a `__proto__` name intact.
237
+ const instances = Object.fromEntries(Object.entries(config.instances).map(([name, instance]) => [
238
+ name === oldName ? newName : name,
239
+ instance,
240
+ ]));
241
+ return {
242
+ defaultInstance: config.defaultInstance === oldName
243
+ ? newName
244
+ : config.defaultInstance,
245
+ instances,
246
+ };
247
+ }
248
+ /**
249
+ * Removes an instance. The default can only be removed while it is the last
250
+ * instance, or when `newDefault` names the instance that replaces it, so the
251
+ * default never points at a missing instance. `newDefault` is refused when
252
+ * another instance is removed; `setDefaultInstance` changes the default.
253
+ */
254
+ export function removeInstance(config, name, options = {}) {
255
+ getInstance(config, name);
256
+ const { newDefault } = options;
257
+ if (newDefault !== undefined) {
258
+ if (config.defaultInstance !== name) {
259
+ throw new Error(`--default only applies when removing the default instance${config.defaultInstance === undefined ? "" : ` (${config.defaultInstance})`}. To change the default, use: eudiplo instance use <name>`);
260
+ }
261
+ if (newDefault === name) {
262
+ throw new Error(`Cannot make ${name} the default while removing it.`);
263
+ }
264
+ getInstance(config, newDefault);
68
265
  }
69
266
  if (config.defaultInstance === name &&
267
+ newDefault === undefined &&
70
268
  Object.keys(config.instances).length > 1) {
71
- throw new Error(`Cannot remove default instance ${name}. Select another with: eudiplo instance use <name>`);
269
+ throw new Error(`Cannot remove default instance ${name}. Select another with: eudiplo instance use <name>, or pass --default <name>.`);
72
270
  }
73
271
  const instances = { ...config.instances };
74
272
  delete instances[name];
75
273
  return {
76
- defaultInstance: config.defaultInstance === name
77
- ? undefined
78
- : config.defaultInstance,
274
+ defaultInstance: newDefault ??
275
+ (config.defaultInstance === name
276
+ ? undefined
277
+ : config.defaultInstance),
79
278
  instances,
80
279
  };
81
280
  }
@@ -183,15 +382,4 @@ function validateOptionalHttpUrl(value, label) {
183
382
  validateHttpUrl(value, label);
184
383
  }
185
384
  }
186
- function validateHttpUrl(value, label) {
187
- try {
188
- const url = new URL(value);
189
- if (url.protocol !== "http:" && url.protocol !== "https:") {
190
- throw new Error("Unsupported URL protocol.");
191
- }
192
- }
193
- catch {
194
- throw new Error(`${label} must be an absolute HTTP(S) URL.`);
195
- }
196
- }
197
385
  //# sourceMappingURL=cli-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli-config.js","sourceRoot":"","sources":["../../src/services/cli-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EACH,iBAAiB,EACjB,eAAe,EACf,uBAAuB,GAC1B,MAAM,cAAc,CAAC;AAGtB,MAAM,WAAW,GAAG,GAAc,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;AAEzD,MAAM,UAAU,iBAAiB,CAAC,GAAsB;IACpD,IAAI,GAAG,CAAC,kBAAkB,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,gBAAgB;QAChC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;QAC/B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;IAElC,OAAO,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAY;IACzC,IAAI,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC9C,OAAO,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAChD,OAAO,WAAW,EAAE,CAAC;QACzB,CAAC;QACD,MAAM,KAAK,CAAC;IAChB,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC5B,IAAY,EACZ,MAAiB;IAEjB,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7D,MAAM,SAAS,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;QAC1D,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,KAAK;KACd,CAAC,CAAC;AACP,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IAClC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,SAAS,GAAmC,EAAE,CAAC;IACrD,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7D,SAAS,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO;QACH,eAAe,EAAE,uBAAuB,CACpC,KAAK,CAAC,eAAe,EACrB,SAAS,CACZ;QACD,SAAS;KACZ,CAAC;AACN,CAAC;AAED,MAAM,UAAU,cAAc,CAC1B,MAAiB,EACjB,IAAY,EACZ,QAAwB;IAExB,OAAO;QACH,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,IAAI;QAC/C,SAAS,EAAE;YACP,GAAG,MAAM,CAAC,SAAS;YACnB,CAAC,IAAI,CAAC,EAAE,QAAQ;SACnB;KACJ,CAAC;AACN,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAiB,EAAE,IAAY;IAC9D,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,EAAE,GAAG,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAiB,EAAE,IAAY;IAC1D,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,IACI,MAAM,CAAC,eAAe,KAAK,IAAI;QAC/B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAC1C,CAAC;QACC,MAAM,IAAI,KAAK,CACX,kCAAkC,IAAI,oDAAoD,CAC7F,CAAC;IACN,CAAC;IAED,MAAM,SAAS,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IAC1C,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;IACvB,OAAO;QACH,eAAe,EACX,MAAM,CAAC,eAAe,KAAK,IAAI;YAC3B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,MAAM,CAAC,eAAe;QAChC,SAAS;KACZ,CAAC;AACN,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC5B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IAC/B,OAAO,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,CAAC;AACrD,CAAC;AAED,SAAS,uBAAuB,CAC5B,KAAc,EACd,SAAyC;IAEzC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CACX,oBAAoB,KAAK,+BAA+B,CAC3D,CAAC;IACN,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAY,EAAE,KAAc;IACxD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,qBAAqB,CAAC,CAAC;IAC3D,CAAC;IACD,IACI,KAAK,CAAC,MAAM,KAAK,SAAS;QAC1B,KAAK,CAAC,MAAM,KAAK,UAAU;QAC3B,KAAK,CAAC,MAAM,KAAK,YAAY,EAC/B,CAAC;QACC,MAAM,IAAI,KAAK,CACX,YAAY,IAAI,2BAA2B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CACrE,CAAC;IACN,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,qBAAqB,CAAC,CAAC;IAC3D,CAAC;IAED,eAAe,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,IAAI,MAAM,CAAC,CAAC;IACnD,uBAAuB,CAAC,KAAK,CAAC,SAAS,EAAE,YAAY,IAAI,YAAY,CAAC,CAAC;IACvE,IACI,OAAO,KAAK,CAAC,gBAAgB,KAAK,QAAQ;QAC1C,CAAC,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC,EACrC,CAAC;QACC,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,qCAAqC,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC3D,IAAI,KAAK,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;QAChC,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,yBAAyB,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,2BAA2B,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,yBAAyB,CAAC,CAAC;QAC/D,CAAC;IACL,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACpC,iBAAiB,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,IAAI,UAAU,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QACtC,eAAe,CAAC,KAAK,CAAC,SAAS,EAAE,YAAY,IAAI,YAAY,CAAC,CAAC;IACnE,CAAC;IAED,OAAO;QACH,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,SAAS,EAAE,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC;QAC1C,WAAW,EAAE,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC;QAC9C,YAAY,EAAE,mBAAmB,CAAC,KAAK,CAAC,YAAY,CAAC;QACrD,eAAe,EAAE,mBAAmB,CAChC,KAAK,CAAC,eAAe,EACrB,iBAAiB,CACpB;QACD,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC;QACtC,WAAW,EAAE,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC;QAC9C,gBAAgB,EAAE,cAAc,CAAC,KAAK,CAAC,gBAAgB,CAAC;QACxD,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC;QACtC,SAAS,EAAE,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC;QAC1C,SAAS;QACT,QAAQ,EAAE,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;KACvD,CAAC;AACN,CAAC;AAED,SAAS,iBAAiB,CACtB,IAAY,EACZ,KAAc;IAEd,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,+BAA+B,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,SAAS,GAA2B,EAAE,CAAC;IAC7C,KAAK,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvD,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CACX,YAAY,IAAI,aAAa,OAAO,oBAAoB,CAC3D,CAAC;QACN,CAAC;QACD,uBAAuB,CACnB,SAAS,EACT,YAAY,IAAI,aAAa,OAAO,EAAE,CACzC,CAAC;QACF,SAAS,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;IACnC,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,qCAAqC,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IAClC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC;AAED,SAAS,mBAAmB,CACxB,KAAc,EACd,KAAK,GAAG,cAAc;IAEtB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,6BAA6B,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAc,EAAE,KAAa;IAC1D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAClC,CAAC;AACL,CAAC;AAED,SAAS,eAAe,CAAC,KAAa,EAAE,KAAa;IACjD,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QACjD,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACL,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,mCAAmC,CAAC,CAAC;IACjE,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"cli-config.js","sourceRoot":"","sources":["../../src/services/cli-config.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,12 @@ interface ComposeEnvOptions {
20
20
  authClientSecret?: string;
21
21
  }
22
22
  export declare function createComposeEnv(options: ComposeEnvOptions): string;
23
+ /**
24
+ * The global `config/kms.json` as a KmsConfig document at the current format
25
+ * version. `config upgrade --check` reports every bare file as "upgrade
26
+ * required", because the upgrade adds the envelope, so a bare file would fail
27
+ * that check right after `init`.
28
+ */
23
29
  export declare function createGlobalKmsConfig(kms: ComposeKms): string;
24
30
  export declare function resolveImageTag(imageTagOverride?: string): string;
25
31
  export declare function createComposeFile(): Promise<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"compose-project.d.ts","sourceRoot":"","sources":["../../src/services/compose-project.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,sBAAsB,yBAAyB,CAAC;AAC7D,eAAO,MAAM,8BAA8B,kCAAkC,CAAC;AAC9E,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AACjD,eAAO,MAAM,mBAAmB,8BAA8B,CAAC;AAC/D,eAAO,MAAM,eAAe,sBAAsB,CAAC;AACnD,eAAO,MAAM,mBAAmB,WAAW,CAAC;AAE5C,eAAO,MAAM,mBAAmB,gBAA2C,CAAC;AAG5E,KAAK,WAAW,GAAG,UAAU,GAAG,MAAM,CAAC;AACvC,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,UAAU,CAAC;AACpD,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,IAAI,CAAC;AAC5C,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,OAAO,CAAC;AAExC,UAAU,iBAAiB;IACvB,IAAI,EAAE,WAAW,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAiCnE;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CA2B7D;AA4DD,wBAAgB,eAAe,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAMjE;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAKzD;AAED,wBAAgB,6BAA6B,IAAI,MAAM,CAOtD;AAED,wBAAsB,qBAAqB,CACvC,eAAe,EAAE,MAAM,EACvB,KAAK,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC,CAiCf;AAED,wBAAsB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOlE"}
1
+ {"version":3,"file":"compose-project.d.ts","sourceRoot":"","sources":["../../src/services/compose-project.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,sBAAsB,yBAAyB,CAAC;AAC7D,eAAO,MAAM,8BAA8B,kCAAkC,CAAC;AAC9E,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AACjD,eAAO,MAAM,mBAAmB,8BAA8B,CAAC;AAC/D,eAAO,MAAM,eAAe,sBAAsB,CAAC;AACnD,eAAO,MAAM,mBAAmB,WAAW,CAAC;AAE5C,eAAO,MAAM,mBAAmB,gBAA2C,CAAC;AAG5E,KAAK,WAAW,GAAG,UAAU,GAAG,MAAM,CAAC;AACvC,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,UAAU,CAAC;AACpD,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,IAAI,CAAC;AAC5C,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,OAAO,CAAC;AAExC,UAAU,iBAAiB;IACvB,IAAI,EAAE,WAAW,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAiCnE;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CA+B7D;AA4DD,wBAAgB,eAAe,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAMjE;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAKzD;AAED,wBAAgB,6BAA6B,IAAI,MAAM,CAOtD;AAED,wBAAsB,qBAAqB,CACvC,eAAe,EAAE,MAAM,EACvB,KAAK,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC,CAiCf;AAED,wBAAsB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOlE"}
@@ -1,6 +1,7 @@
1
1
  import { randomBytes } from "node:crypto";
2
2
  import { cp, mkdir, readdir, readFile, rm, writeFile } from "node:fs/promises";
3
3
  import { dirname, join } from "node:path";
4
+ import { schemaUrl } from "@eudiplo/config-format/config-format.js";
4
5
  import { readCliBinaryAsset, readCliTextAsset, templateAssetUrl, } from "../sea-assets.js";
5
6
  export const defaultComposeFileName = "eudiplo.compose.yaml";
6
7
  export const defaultComposeOverrideFileName = "eudiplo.compose.override.yaml";
@@ -40,6 +41,12 @@ export function createComposeEnv(options) {
40
41
  }
41
42
  return `${lines.join("\n")}\n`;
42
43
  }
44
+ /**
45
+ * The global `config/kms.json` as a KmsConfig document at the current format
46
+ * version. `config upgrade --check` reports every bare file as "upgrade
47
+ * required", because the upgrade adds the envelope, so a bare file would fail
48
+ * that check right after `init`.
49
+ */
43
50
  export function createGlobalKmsConfig(kms) {
44
51
  const providers = [
45
52
  {
@@ -58,8 +65,12 @@ export function createGlobalKmsConfig(kms) {
58
65
  });
59
66
  }
60
67
  return `${JSON.stringify({
61
- defaultProvider: kms,
62
- providers,
68
+ $schema: schemaUrl("KmsConfig"),
69
+ metadata: { generation: 1 },
70
+ spec: {
71
+ defaultProvider: kms,
72
+ providers,
73
+ },
63
74
  }, null, 4)}\n`;
64
75
  }
65
76
  function databaseEnv(database) {
@@ -1 +1 @@
1
- {"version":3,"file":"compose-project.js","sourceRoot":"","sources":["../../src/services/compose-project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compose-project.js","sourceRoot":"","sources":["../../src/services/compose-project.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;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"}
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,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"}