@eudiplo/cli 9.1.0-main.2a73124 → 9.1.0-main.3597292

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.
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../../../src/commands/config/portability/upgrade.ts"],"names":[],"mappings":"AAwCA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AA4MpE,wBAAsB,WAAW,CAC7B,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,cAAc,GACxB,OAAO,CAAC,MAAM,CAAC,CA8BjB"}
1
+ {"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../../../src/commands/config/portability/upgrade.ts"],"names":[],"mappings":"AAyCA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAgNpE,wBAAsB,WAAW,CAC7B,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,cAAc,GACxB,OAAO,CAAC,MAAM,CAAC,CA8BjB"}
@@ -2,7 +2,7 @@ import { createHash } from "node:crypto";
2
2
  import { cp, lstat, mkdir, mkdtemp, readdir, readFile, rename, rm, } from "node:fs/promises";
3
3
  import { basename, dirname, extname, join, relative, resolve, sep, } from "node:path";
4
4
  import { assertConfigBundle, ConfigBundleCodec, } from "@eudiplo/config-format/config-bundle.js";
5
- import { CONFIG_FORMATS, CONFIG_RESOURCE_KINDS, isConfigDocument, normalizeDocument, resourceId, schemaUrl, } from "@eudiplo/config-format/config-format.js";
5
+ import { bareFileVersion, CONFIG_FORMATS, CONFIG_RESOURCE_KINDS, isConfigDocument, normalizeDocument, resourceId, schemaUrl, } from "@eudiplo/config-format/config-format.js";
6
6
  import { atomicWriteFile } from "@eudiplo/config-format/config-io.js";
7
7
  import { configChanges, stableConfigJson, } from "@eudiplo/config-format/config-values.js";
8
8
  import { readStringFlag } from "../../../options.js";
@@ -92,7 +92,11 @@ function wrapBare(kind, input, path) {
92
92
  const id = String(singleton[kind] ?? spec.id ?? spec.clientId ?? basename(path, ".json"));
93
93
  if (!singleton[kind])
94
94
  spec[kind === "Client" ? "clientId" : "id"] = id;
95
- return { $schema: schemaUrl(kind, 1), metadata: { generation: 1 }, spec };
95
+ return {
96
+ $schema: schemaUrl(kind, bareFileVersion(kind, input)),
97
+ metadata: { generation: 1 },
98
+ spec,
99
+ };
96
100
  }
97
101
  async function folderFiles(path) {
98
102
  const files = [];
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../../../src/commands/config/portability/upgrade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../../../src/commands/config/portability/upgrade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACH,EAAE,EACF,KAAK,EACL,KAAK,EACL,OAAO,EACP,OAAO,EACP,QAAQ,EACR,MAAM,EACN,EAAE,GACL,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACH,QAAQ,EACR,OAAO,EACP,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,GAAG,GACN,MAAM,WAAW,CAAC;AACnB,OAAO,EACH,kBAAkB,EAElB,iBAAiB,GACpB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACH,eAAe,EACf,cAAc,EACd,qBAAqB,EAErB,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,SAAS,GACZ,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EACH,aAAa,EACb,gBAAgB,GACnB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,KAAK,GAAG,IAAI,iBAAiB,EAAE,CAAC;AACtC,SAAS,KAAK,CAAC,IAAY,EAAE,IAAY;IACrC,IAAI,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACL,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;AACL,CAAC;AACD,SAAS,WAAW,CAAC,KAAU,EAAE,IAAY,EAAE,OAAuB;IAClE,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC/C,IAAI,MAAM;QAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CACpD,CAAC,QAAiB,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,CACnD,CAAC;IACF,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC3B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAChB,GAAG,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,IAAI,CAC9E,CAAC;YACF,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;gBAAE,OAAO,GAAG,IAAI,CAAC;QACrD,CAAC;QACD,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,UAAU;YACrC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,eAAe,SAAS,IAAI,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,sCAAsC,CAAC,CAAC;IAC5E,IAAI,CAAC,MAAM;QAAE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACxC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CACzB,CAAC,MAA0C,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAClE,CAAC;IACF,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAC1C,CAAC,QAAuD,EAAE,EAAE;QACxD,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,SAAS,CACnC,CAAC,SAAc,EAAE,EAAE,CACf,iBAAiB,CAAC,SAAS,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI;YACnD,UAAU,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,EAAE,CAC3C,CAAC;QACH,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QAClC,OAAO;YACH,GAAG,QAAQ;YACX,EAAE,EAAE,UAAU,CAAC,QAAQ,CAAC;YACxB,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC;iBACvB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;iBAChC,MAAM,CAAC,KAAK,CAAC;SACrB,CAAC;IACN,CAAC,CACJ,CAAC;IACF,MAAM,MAAM,GAAG;QACX,GAAG,KAAK;QACR,QAAQ,EAAE,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,aAAa,EAAE,CAAC,EAAE,SAAS,EAAE;QAC5D,SAAS;KACZ,CAAC;IACF,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC3B,OAAO,MAAM,CAAC;AAClB,CAAC;AACD,SAAS,MAAM,CACX,KAAc,EACd,MAAe,EACf,IAAY,EACZ,MAAkB,EAClB,OAAuB;IAEvB,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACrE,OAAO,CAAC,MAAM,CAAC,KAAK,CAChB,GAAG,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,IAAI,CAC3D,CAAC;IACF,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI;QAC1B,KAAK,MAAM,MAAM,IAAI,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;YAChD,OAAO,CAAC,MAAM,CAAC,KAAK,CAChB,KAAK,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,UAAU,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,UAAU,IAAI,CACxH,CAAC;QACN,CAAC;IACL,OAAO,OAAO,CAAC;AACnB,CAAC;AACD,SAAS,YAAY,CAAC,IAAY;IAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAClD,KAAK,CAAC,IAAI,KAAK,MAAM;QACjB,CAAC,CAAC,UAAU,KAAK,KAAK,CAAC,IAAI,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACpE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,SAAS,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5D,UAAU,KAAK,GAAG,KAAK,CAAC,SAAS,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAC9D,CAAC;IACF,OAAO,qBAAqB,CAAC,IAAI,CAC7B,CAAC,IAAI,EAAE,EAAE,CACL,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,cAAc,KAAK,KAAK,EAAE,UAAU,CACvE,CAAC;AACN,CAAC;AACD,SAAS,QAAQ,CAAC,IAAwB,EAAE,KAAU,EAAE,IAAY;IAChE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,mCAAmC,CAAC,CAAC;IAChE,MAAM,SAAS,GAAgD;QAC3D,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,KAAK;QAChB,eAAe,EAAE,WAAW;QAC5B,cAAc,EAAE,UAAU;KAC7B,CAAC;IACF,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACpC,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACrD,IAAI,CAAC,SAAS,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;QACxD,OAAO,IAAI,CAAC,GAAG,CAAC;IACpB,CAAC;IACD,MAAM,EAAE,GAAG,MAAM,CACb,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CACzE,CAAC;IACF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QAAE,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IACvE,OAAO;QACH,OAAO,EAAE,SAAS,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACtD,QAAQ,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE;QAC3B,IAAI;KACP,CAAC;AACN,CAAC;AACD,KAAK,UAAU,WAAW,CAAC,IAAY;IACnC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,KAAK,IAAI,MAAM,OAAO,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAC/D,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,KAAK,CAAC,cAAc,EAAE;YACtB,MAAM,IAAI,KAAK,CAAC,2CAA2C,IAAI,EAAE,CAAC,CAAC;QACvE,IAAI,KAAK,CAAC,WAAW,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAC7D,IAAI,KAAK,CAAC,MAAM,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;AACxB,CAAC;AACD,KAAK,UAAU,aAAa,CACxB,MAAc,EACd,MAAkB,EAClB,OAAuB;IAEvB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,IAAI,IAAI,MAAM,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3C,IACI,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO;YACzB,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAEpD,SAAS;QACb,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;YAAE,SAAS;QAChD,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC;YACrC,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,QAAQ,CAAC,IAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACrD,IAAI,IAAI,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI;YAC/C,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,cAAc,IAAI,gBAAgB,CAAC,CAAC;QAC/D,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC;YAC9D,OAAO,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CACP,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,EACtB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CACzC,CAAC;IACN,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,IAAI;QACb,MAAM,IAAI,KAAK,CAAC,uCAAuC,MAAM,EAAE,CAAC,CAAC;IACrE,OAAO,CAAC,MAAM,CAAC,KAAK,CAChB,GAAG,OAAO,CAAC,IAAI,GAAG,OAAO,aAAa,OAAO,sBAAsB,CACtE,CAAC;IACF,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI;QAAE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI;QAAE,OAAO,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,OAAO,CACvB,OAAO,CAAC,GAAG,EACX,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,GAAG,MAAM,WAAW,CACjE,CAAC;IACF,MAAM,OAAO,GAAG,CAAC,MAAc,EAAE,KAAa,EAAE,EAAE;QAC9C,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACrC,OAAO,IAAI,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC;IAC1E,CAAC,CAAC;IACF,IAAI,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC;QAC5D,MAAM,IAAI,KAAK,CACX,0DAA0D,CAC7D,CAAC;IACN,MAAM,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CACzB,GAAG,EAAE;QACD,MAAM,IAAI,KAAK,CAAC,0BAA0B,WAAW,EAAE,CAAC,CAAC;IAC7D,CAAC,EACD,CAAC,KAA4B,EAAE,EAAE;QAC7B,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,KAAK,CAAC;IAC7C,CAAC,CACJ,CAAC;IACF,MAAM,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,MAAM,OAAO,CACzB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,mBAAmB,CAAC,CAClD,CAAC;IACF,IAAI,CAAC;QACD,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE;YACtB,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CACb,IAAI,KAAK,MAAM;gBACf,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;qBAClB,KAAK,CAAC,GAAG,CAAC;qBACV,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;SAChD,CAAC,CAAC;QACH,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,OAAO;YAClC,MAAM,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;QACzD,MAAM,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACnC,OAAO,CAAC,MAAM,CAAC,KAAK,CAChB,0CAA0C,WAAW,IAAI,CAC5D,CAAC;IACN,CAAC;YAAS,CAAC;QACP,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,CAAC,CAAC;AACb,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,WAAW,CAC7B,MAAkB,EAClB,OAAuB;IAEvB,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,CAAC,IAAI;QACL,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACtE,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,IAAI,CAAC,cAAc,EAAE;QACrB,MAAM,IAAI,KAAK,CACX,iEAAiE,CACpE,CAAC;IACN,IAAI,IAAI,CAAC,WAAW,EAAE;QAAE,OAAO,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACtE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;IACxD,MAAM,KAAK,GAAG,MAAM;QAChB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7D,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI;QAAE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI;QAAE,OAAO,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,OAAO,CACvB,OAAO,CAAC,GAAG,EACX,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC;QAClC,GAAG,IAAI,aAAa,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CACpD,CAAC;IACF,MAAM,eAAe,CACjB,WAAW,EACX,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CACzE,CAAC;IACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,WAAW,IAAI,CAAC,CAAC;IACzE,OAAO,CAAC,CAAC;AACb,CAAC"}
package/dist/index.js CHANGED
@@ -14900,7 +14900,7 @@ var CONFIG_FORMATS = {
14900
14900
  Tenant: { slug: "tenant", file: "TenantConfigFile", version: 1 },
14901
14901
  Client: { slug: "client", file: "ClientConfigFile", version: 1 },
14902
14902
  KmsConfig: { slug: "kms-config", file: "KmsConfigFile", version: 1 },
14903
- KeyChain: { slug: "key-chain", file: "KeyChainConfigFile", version: 1 },
14903
+ KeyChain: { slug: "key-chain", file: "KeyChainConfigFile", version: 2 },
14904
14904
  RegistrarConfig: {
14905
14905
  slug: "registrar-config",
14906
14906
  file: "RegistrarConfigFile",
@@ -14958,6 +14958,9 @@ function resourceId(input) {
14958
14958
  throw new Error(`Configuration spec.${field} is required`);
14959
14959
  return id;
14960
14960
  }
14961
+ function bareFileVersion(kind, spec) {
14962
+ return kind === "KeyChain" && "type" in spec ? 2 : 1;
14963
+ }
14961
14964
  var presentationConfigV1ToV2 = {
14962
14965
  id: "presentation-config-v2-provides-attestations",
14963
14966
  kind: "PresentationConfig",
@@ -15001,6 +15004,15 @@ var CONFIG_MIGRATIONS = [
15001
15004
  // list references: a v2 spec is a valid v3 spec.
15002
15005
  migrate: (spec) => ({ spec })
15003
15006
  },
15007
+ {
15008
+ id: "key-chain-v2-type",
15009
+ kind: "KeyChain",
15010
+ from: 1,
15011
+ to: 2,
15012
+ // v2 only adds the optional key chain `type`: a v1 spec is a valid v2
15013
+ // spec, imported as before.
15014
+ migrate: (spec) => ({ spec })
15015
+ },
15004
15016
  {
15005
15017
  id: "credential-config-v2-x509-trusted-authority",
15006
15018
  kind: "CredentialConfig",
@@ -21560,6 +21572,373 @@ var CONFIG_SCHEMAS = [
21560
21572
  }
21561
21573
  }
21562
21574
  },
21575
+ {
21576
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
21577
+ "$id": "https://eudiplo.dev/schemas/v2/KeyChainConfigFile.schema.json",
21578
+ "title": "KeyChainConfigFile",
21579
+ "type": "object",
21580
+ "properties": {
21581
+ "$schema": {
21582
+ "type": "string",
21583
+ "const": "https://eudiplo.dev/schemas/v2/KeyChainConfigFile.schema.json"
21584
+ },
21585
+ "metadata": {
21586
+ "type": "object",
21587
+ "properties": {
21588
+ "generation": {
21589
+ "type": "integer",
21590
+ "minimum": 1,
21591
+ "maximum": 9007199254740991
21592
+ },
21593
+ "ownership": {
21594
+ "type": "string",
21595
+ "enum": [
21596
+ "unmanaged",
21597
+ "file-managed"
21598
+ ]
21599
+ }
21600
+ },
21601
+ "additionalProperties": false
21602
+ },
21603
+ "spec": {
21604
+ "type": "object",
21605
+ "properties": {
21606
+ "id": {
21607
+ "type": "string"
21608
+ },
21609
+ "description": {
21610
+ "type": "string"
21611
+ },
21612
+ "usageType": {
21613
+ "type": "string",
21614
+ "enum": [
21615
+ "access",
21616
+ "attestation",
21617
+ "trustList",
21618
+ "statusList",
21619
+ "encrypt"
21620
+ ]
21621
+ },
21622
+ "type": {
21623
+ "description": "Key chain type. For a `private-jwk` key source without `activeJwk`, `standalone` makes `jwk` the signing key and `crt` its chain, leaf first; `internalChain` makes `jwk` a CA key and the last `crt` entry its CA certificate (created if `crt` is omitted), and the import generates a new signing key with a certificate issued by it. Without `type`, `jwk` is a CA key only if `rotationPolicy.enabled` is true and `crt` is not a single self-signed certificate that is not a CA. For `regenerate`, it is the type of the new key chain and must equal `keySource.keyChainType` if both are set. For the other key sources, it must match the key chain they describe.",
21624
+ "type": "string",
21625
+ "enum": [
21626
+ "standalone",
21627
+ "internalChain"
21628
+ ]
21629
+ },
21630
+ "keySource": {
21631
+ "oneOf": [
21632
+ {
21633
+ "type": "object",
21634
+ "properties": {
21635
+ "type": {
21636
+ "type": "string",
21637
+ "const": "private-jwk"
21638
+ },
21639
+ "jwk": {
21640
+ "type": "object",
21641
+ "properties": {
21642
+ "kty": {
21643
+ "type": "string",
21644
+ "description": "Key type (for example EC)."
21645
+ },
21646
+ "x": {
21647
+ "type": "string",
21648
+ "description": "Elliptic curve public x coordinate."
21649
+ },
21650
+ "y": {
21651
+ "type": "string",
21652
+ "description": "Elliptic curve public y coordinate."
21653
+ },
21654
+ "crv": {
21655
+ "type": "string",
21656
+ "description": "Elliptic curve name."
21657
+ },
21658
+ "d": {
21659
+ "type": "string",
21660
+ "description": "Private key value."
21661
+ },
21662
+ "alg": {
21663
+ "description": "Optional algorithm hint.",
21664
+ "type": "string"
21665
+ },
21666
+ "kid": {
21667
+ "description": "Optional key identifier.",
21668
+ "type": "string"
21669
+ }
21670
+ },
21671
+ "required": [
21672
+ "kty",
21673
+ "x",
21674
+ "y",
21675
+ "crv",
21676
+ "d"
21677
+ ],
21678
+ "additionalProperties": false
21679
+ },
21680
+ "activeJwk": {
21681
+ "type": "object",
21682
+ "properties": {
21683
+ "kty": {
21684
+ "type": "string",
21685
+ "description": "Key type (for example EC)."
21686
+ },
21687
+ "x": {
21688
+ "type": "string",
21689
+ "description": "Elliptic curve public x coordinate."
21690
+ },
21691
+ "y": {
21692
+ "type": "string",
21693
+ "description": "Elliptic curve public y coordinate."
21694
+ },
21695
+ "crv": {
21696
+ "type": "string",
21697
+ "description": "Elliptic curve name."
21698
+ },
21699
+ "d": {
21700
+ "type": "string",
21701
+ "description": "Private key value."
21702
+ },
21703
+ "alg": {
21704
+ "description": "Optional algorithm hint.",
21705
+ "type": "string"
21706
+ },
21707
+ "kid": {
21708
+ "description": "Optional key identifier.",
21709
+ "type": "string"
21710
+ }
21711
+ },
21712
+ "required": [
21713
+ "kty",
21714
+ "x",
21715
+ "y",
21716
+ "crv",
21717
+ "d"
21718
+ ],
21719
+ "additionalProperties": false
21720
+ }
21721
+ },
21722
+ "required": [
21723
+ "type",
21724
+ "jwk"
21725
+ ],
21726
+ "additionalProperties": false
21727
+ },
21728
+ {
21729
+ "type": "object",
21730
+ "properties": {
21731
+ "type": {
21732
+ "type": "string",
21733
+ "const": "external-reference"
21734
+ },
21735
+ "provider": {
21736
+ "type": "string"
21737
+ },
21738
+ "externalKeyId": {
21739
+ "type": "string"
21740
+ },
21741
+ "publicJwk": {
21742
+ "type": "object",
21743
+ "properties": {
21744
+ "kty": {
21745
+ "type": "string"
21746
+ },
21747
+ "x": {
21748
+ "type": "string"
21749
+ },
21750
+ "y": {
21751
+ "type": "string"
21752
+ },
21753
+ "crv": {
21754
+ "type": "string"
21755
+ },
21756
+ "alg": {
21757
+ "type": "string"
21758
+ },
21759
+ "kid": {
21760
+ "type": "string"
21761
+ }
21762
+ },
21763
+ "required": [
21764
+ "kty",
21765
+ "x",
21766
+ "y",
21767
+ "crv"
21768
+ ],
21769
+ "additionalProperties": false
21770
+ },
21771
+ "activeExternalKeyId": {
21772
+ "type": "string"
21773
+ },
21774
+ "activePublicJwk": {
21775
+ "type": "object",
21776
+ "properties": {
21777
+ "kty": {
21778
+ "type": "string"
21779
+ },
21780
+ "x": {
21781
+ "type": "string"
21782
+ },
21783
+ "y": {
21784
+ "type": "string"
21785
+ },
21786
+ "crv": {
21787
+ "type": "string"
21788
+ },
21789
+ "alg": {
21790
+ "type": "string"
21791
+ },
21792
+ "kid": {
21793
+ "type": "string"
21794
+ }
21795
+ },
21796
+ "required": [
21797
+ "kty",
21798
+ "x",
21799
+ "y",
21800
+ "crv"
21801
+ ],
21802
+ "additionalProperties": false
21803
+ }
21804
+ },
21805
+ "required": [
21806
+ "type",
21807
+ "provider",
21808
+ "externalKeyId",
21809
+ "publicJwk"
21810
+ ],
21811
+ "additionalProperties": false
21812
+ },
21813
+ {
21814
+ "type": "object",
21815
+ "properties": {
21816
+ "type": {
21817
+ "type": "string",
21818
+ "const": "required"
21819
+ },
21820
+ "publicJwk": {
21821
+ "type": "object",
21822
+ "properties": {
21823
+ "kty": {
21824
+ "type": "string"
21825
+ },
21826
+ "x": {
21827
+ "type": "string"
21828
+ },
21829
+ "y": {
21830
+ "type": "string"
21831
+ },
21832
+ "crv": {
21833
+ "type": "string"
21834
+ },
21835
+ "alg": {
21836
+ "type": "string"
21837
+ },
21838
+ "kid": {
21839
+ "type": "string"
21840
+ }
21841
+ },
21842
+ "required": [
21843
+ "kty",
21844
+ "x",
21845
+ "y",
21846
+ "crv"
21847
+ ],
21848
+ "additionalProperties": false
21849
+ }
21850
+ },
21851
+ "required": [
21852
+ "type"
21853
+ ],
21854
+ "additionalProperties": false
21855
+ },
21856
+ {
21857
+ "type": "object",
21858
+ "properties": {
21859
+ "type": {
21860
+ "type": "string",
21861
+ "const": "regenerate"
21862
+ },
21863
+ "keyChainType": {
21864
+ "type": "string",
21865
+ "enum": [
21866
+ "standalone",
21867
+ "internalChain"
21868
+ ]
21869
+ }
21870
+ },
21871
+ "required": [
21872
+ "type"
21873
+ ],
21874
+ "additionalProperties": false
21875
+ }
21876
+ ]
21877
+ },
21878
+ "crt": {
21879
+ "type": "array",
21880
+ "items": {
21881
+ "type": "string"
21882
+ }
21883
+ },
21884
+ "activeCertificate": {
21885
+ "description": "Active certificate for an internal key chain.",
21886
+ "type": "string"
21887
+ },
21888
+ "kmsProvider": {
21889
+ "type": "string"
21890
+ },
21891
+ "rotationPolicy": {
21892
+ "type": "object",
21893
+ "properties": {
21894
+ "enabled": {
21895
+ "type": "boolean"
21896
+ },
21897
+ "intervalDays": {
21898
+ "anyOf": [
21899
+ {
21900
+ "type": "number",
21901
+ "minimum": 1,
21902
+ "maximum": 3650
21903
+ },
21904
+ {
21905
+ "type": "null"
21906
+ }
21907
+ ]
21908
+ },
21909
+ "certValidityDays": {
21910
+ "anyOf": [
21911
+ {
21912
+ "type": "number",
21913
+ "minimum": 1,
21914
+ "maximum": 3650
21915
+ },
21916
+ {
21917
+ "type": "null"
21918
+ }
21919
+ ]
21920
+ }
21921
+ },
21922
+ "required": [
21923
+ "enabled"
21924
+ ],
21925
+ "additionalProperties": false
21926
+ }
21927
+ },
21928
+ "required": [
21929
+ "usageType",
21930
+ "keySource"
21931
+ ],
21932
+ "additionalProperties": false
21933
+ }
21934
+ },
21935
+ "required": [
21936
+ "$schema",
21937
+ "metadata",
21938
+ "spec"
21939
+ ],
21940
+ "additionalProperties": false
21941
+ },
21563
21942
  {
21564
21943
  "$schema": "https://json-schema.org/draft/2020-12/schema",
21565
21944
  "$id": "https://eudiplo.dev/schemas/v2/PresentationConfigFile.schema.json",
@@ -23859,7 +24238,11 @@ function wrapBare(kind, input, path2) {
23859
24238
  singleton[kind] ?? spec.id ?? spec.clientId ?? basename2(path2, ".json")
23860
24239
  );
23861
24240
  if (!singleton[kind]) spec[kind === "Client" ? "clientId" : "id"] = id;
23862
- return { $schema: schemaUrl(kind, 1), metadata: { generation: 1 }, spec };
24241
+ return {
24242
+ $schema: schemaUrl(kind, bareFileVersion(kind, input)),
24243
+ metadata: { generation: 1 },
24244
+ spec
24245
+ };
23863
24246
  }
23864
24247
  async function folderFiles(path2) {
23865
24248
  const files = [];
@@ -26497,7 +26880,7 @@ function createDeploymentCommands(context, setExitCode) {
26497
26880
  // package.json
26498
26881
  var package_default = {
26499
26882
  name: "@eudiplo/cli",
26500
- version: "9.1.0-main.2a73124",
26883
+ version: "9.1.0-main.3597292",
26501
26884
  description: "Deployment-aware command line tools for EUDIPLO",
26502
26885
  private: false,
26503
26886
  type: "module",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eudiplo/cli",
3
- "version": "9.1.0-main.2a73124",
3
+ "version": "9.1.0-main.3597292",
4
4
  "description": "Deployment-aware command line tools for EUDIPLO",
5
5
  "private": false,
6
6
  "type": "module",
@@ -12,7 +12,8 @@
12
12
  "issuance:offer",
13
13
  "issuance:manage",
14
14
  "presentation:request",
15
- "presentation:manage"
15
+ "presentation:manage",
16
+ "registrar:manage"
16
17
  ]
17
18
  }
18
19
  }
@@ -21,7 +21,8 @@
21
21
  "kmsProvider": "db",
22
22
  "rotationPolicy": {
23
23
  "certValidityDays": 30,
24
- "enabled": true
24
+ "enabled": true,
25
+ "intervalDays": 20
25
26
  }
26
27
  }
27
28
  }
@@ -21,7 +21,8 @@
21
21
  "kmsProvider": "db",
22
22
  "rotationPolicy": {
23
23
  "certValidityDays": 30,
24
- "enabled": true
24
+ "enabled": true,
25
+ "intervalDays": 20
25
26
  }
26
27
  }
27
28
  }
@@ -19,7 +19,7 @@
19
19
  "minLength": 1
20
20
  },
21
21
  "roles": {
22
- "description": "Optional default role assignments for the tenant.",
22
+ "description": "Roles of the tenant's admin client `<id>-admin`, which also gets clients:manage. They are all that client can grant, unless they include tenant:admin. Without roles, no admin client is created.",
23
23
  "type": "array",
24
24
  "items": {
25
25
  "type": "string",
@@ -1,12 +1,15 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "anyOf": [
3
+ "$id": "./KeyChainConfigFile.schema.json",
4
+ "title": "KeyChainConfigFile",
5
+ "description": "Configuration file identified by its $schema URL.",
6
+ "oneOf": [
4
7
  {
5
8
  "type": "object",
6
9
  "properties": {
7
10
  "$schema": {
8
11
  "type": "string",
9
- "const": "https://eudiplo.dev/schemas/v1/KeyChainConfigFile.schema.json"
12
+ "const": "https://eudiplo.dev/schemas/v2/KeyChainConfigFile.schema.json"
10
13
  },
11
14
  "metadata": {
12
15
  "type": "object",
@@ -45,6 +48,14 @@
45
48
  "encrypt"
46
49
  ]
47
50
  },
51
+ "type": {
52
+ "description": "Key chain type. For a `private-jwk` key source without `activeJwk`, `standalone` makes `jwk` the signing key and `crt` its chain, leaf first; `internalChain` makes `jwk` a CA key and the last `crt` entry its CA certificate (created if `crt` is omitted), and the import generates a new signing key with a certificate issued by it. Without `type`, `jwk` is a CA key only if `rotationPolicy.enabled` is true and `crt` is not a single self-signed certificate that is not a CA. For `regenerate`, it is the type of the new key chain and must equal `keySource.keyChainType` if both are set. For the other key sources, it must match the key chain they describe.",
53
+ "type": "string",
54
+ "enum": [
55
+ "standalone",
56
+ "internalChain"
57
+ ]
58
+ },
48
59
  "keySource": {
49
60
  "oneOf": [
50
61
  {
@@ -358,123 +369,9 @@
358
369
  "additionalProperties": false
359
370
  },
360
371
  {
361
- "type": "object",
362
- "properties": {
363
- "id": {
364
- "description": "Optional key chain id. If omitted, one is generated.",
365
- "type": "string"
366
- },
367
- "key": {
368
- "description": "Private key material in JWK format.",
369
- "type": "object",
370
- "properties": {
371
- "kty": {
372
- "type": "string",
373
- "description": "Key type (for example EC)."
374
- },
375
- "x": {
376
- "type": "string",
377
- "description": "Elliptic curve public x coordinate."
378
- },
379
- "y": {
380
- "type": "string",
381
- "description": "Elliptic curve public y coordinate."
382
- },
383
- "crv": {
384
- "type": "string",
385
- "description": "Elliptic curve name."
386
- },
387
- "d": {
388
- "type": "string",
389
- "description": "Private key value."
390
- },
391
- "alg": {
392
- "description": "Optional algorithm hint.",
393
- "type": "string"
394
- },
395
- "kid": {
396
- "description": "Optional key identifier.",
397
- "type": "string"
398
- }
399
- },
400
- "required": [
401
- "kty",
402
- "x",
403
- "y",
404
- "crv",
405
- "d"
406
- ],
407
- "additionalProperties": false
408
- },
409
- "keyPem": {
410
- "description": "PKCS#8 PEM-encoded EC private key material.",
411
- "type": "string",
412
- "minLength": 1
413
- },
414
- "description": {
415
- "description": "Optional key chain description.",
416
- "type": "string"
417
- },
418
- "usageType": {
419
- "type": "string",
420
- "enum": [
421
- "access",
422
- "attestation",
423
- "trustList",
424
- "statusList",
425
- "encrypt"
426
- ],
427
- "description": "Key usage category for the imported key chain."
428
- },
429
- "crt": {
430
- "description": "Optional certificate chain values in PEM or base64 DER.",
431
- "type": "array",
432
- "items": {
433
- "type": "string"
434
- }
435
- },
436
- "kmsProvider": {
437
- "description": "Optional KMS provider id.",
438
- "type": "string"
439
- },
440
- "rotationPolicy": {
441
- "description": "Optional rotation policy for imported key chains.",
442
- "type": "object",
443
- "properties": {
444
- "enabled": {
445
- "type": "boolean",
446
- "description": "Enable automatic rotation for imported key chains."
447
- },
448
- "intervalDays": {
449
- "description": "Rotation interval in days.",
450
- "type": "number",
451
- "minimum": 1,
452
- "maximum": 3650
453
- },
454
- "certValidityDays": {
455
- "description": "Certificate validity period in days.",
456
- "type": "number",
457
- "minimum": 1,
458
- "maximum": 3650
459
- }
460
- },
461
- "required": [
462
- "enabled"
463
- ],
464
- "additionalProperties": false
465
- }
466
- },
467
- "required": [
468
- "usageType"
469
- ],
470
- "additionalProperties": false
471
- }
472
- ],
473
- "$id": "./KeyChainConfigFile.schema.json",
474
- "title": "KeyChainConfigFile",
475
- "description": "Configuration file identified by its $schema URL.",
476
- "oneOf": [
477
- {
372
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
373
+ "$id": "https://eudiplo.dev/schemas/v1/KeyChainConfigFile.schema.json",
374
+ "title": "KeyChainConfigFile",
478
375
  "type": "object",
479
376
  "properties": {
480
377
  "$schema": {
@@ -829,6 +726,126 @@
829
726
  "spec"
830
727
  ],
831
728
  "additionalProperties": false
729
+ },
730
+ {
731
+ "type": "object",
732
+ "properties": {
733
+ "id": {
734
+ "description": "Optional key chain id. If omitted, one is generated.",
735
+ "type": "string"
736
+ },
737
+ "key": {
738
+ "description": "Private key material in JWK format.",
739
+ "type": "object",
740
+ "properties": {
741
+ "kty": {
742
+ "type": "string",
743
+ "description": "Key type (for example EC)."
744
+ },
745
+ "x": {
746
+ "type": "string",
747
+ "description": "Elliptic curve public x coordinate."
748
+ },
749
+ "y": {
750
+ "type": "string",
751
+ "description": "Elliptic curve public y coordinate."
752
+ },
753
+ "crv": {
754
+ "type": "string",
755
+ "description": "Elliptic curve name."
756
+ },
757
+ "d": {
758
+ "type": "string",
759
+ "description": "Private key value."
760
+ },
761
+ "alg": {
762
+ "description": "Optional algorithm hint.",
763
+ "type": "string"
764
+ },
765
+ "kid": {
766
+ "description": "Optional key identifier.",
767
+ "type": "string"
768
+ }
769
+ },
770
+ "required": [
771
+ "kty",
772
+ "x",
773
+ "y",
774
+ "crv",
775
+ "d"
776
+ ],
777
+ "additionalProperties": false
778
+ },
779
+ "keyPem": {
780
+ "description": "PKCS#8 PEM-encoded EC private key material.",
781
+ "type": "string",
782
+ "minLength": 1
783
+ },
784
+ "description": {
785
+ "description": "Optional key chain description.",
786
+ "type": "string"
787
+ },
788
+ "usageType": {
789
+ "type": "string",
790
+ "enum": [
791
+ "access",
792
+ "attestation",
793
+ "trustList",
794
+ "statusList",
795
+ "encrypt"
796
+ ],
797
+ "description": "Key usage category for the imported key chain."
798
+ },
799
+ "type": {
800
+ "description": "Key chain type. `standalone`: `key` is the signing key and `crt` its chain, leaf first. `internalChain`: `key` is a CA key and the last `crt` entry its CA certificate (created if `crt` is omitted); the import generates a new signing key with a certificate issued by it. Without `type`, `key` is a CA key only if `rotationPolicy.enabled` is true and `crt` is not a single self-signed certificate that is not a CA.",
801
+ "type": "string",
802
+ "enum": [
803
+ "standalone",
804
+ "internalChain"
805
+ ]
806
+ },
807
+ "crt": {
808
+ "description": "Optional certificate chain values in PEM or base64 DER.",
809
+ "type": "array",
810
+ "items": {
811
+ "type": "string"
812
+ }
813
+ },
814
+ "kmsProvider": {
815
+ "description": "Optional KMS provider id.",
816
+ "type": "string"
817
+ },
818
+ "rotationPolicy": {
819
+ "description": "Optional rotation policy for imported key chains.",
820
+ "type": "object",
821
+ "properties": {
822
+ "enabled": {
823
+ "type": "boolean",
824
+ "description": "Enable automatic rotation for imported key chains."
825
+ },
826
+ "intervalDays": {
827
+ "description": "Rotation interval in days.",
828
+ "type": "number",
829
+ "minimum": 1,
830
+ "maximum": 3650
831
+ },
832
+ "certValidityDays": {
833
+ "description": "Certificate validity period in days.",
834
+ "type": "number",
835
+ "minimum": 1,
836
+ "maximum": 3650
837
+ }
838
+ },
839
+ "required": [
840
+ "enabled"
841
+ ],
842
+ "additionalProperties": false
843
+ }
844
+ },
845
+ "required": [
846
+ "usageType"
847
+ ],
848
+ "additionalProperties": false
832
849
  }
833
850
  ]
834
851
  }
@@ -38,7 +38,7 @@
38
38
  "description": "Enable or disable automatic key rotation."
39
39
  },
40
40
  "intervalDays": {
41
- "description": "Rotation interval in days.",
41
+ "description": "Rotation interval in days. Required when `enabled` is true.",
42
42
  "type": "number",
43
43
  "minimum": 1,
44
44
  "maximum": 3650
@@ -68,6 +68,14 @@
68
68
  ],
69
69
  "description": "Key usage category for the imported key chain."
70
70
  },
71
+ "type": {
72
+ "description": "Key chain type. `standalone`: `key` is the signing key and `crt` its chain, leaf first. `internalChain`: `key` is a CA key and the last `crt` entry its CA certificate (created if `crt` is omitted); the import generates a new signing key with a certificate issued by it. Without `type`, `key` is a CA key only if `rotationPolicy.enabled` is true and `crt` is not a single self-signed certificate that is not a CA.",
73
+ "type": "string",
74
+ "enum": [
75
+ "standalone",
76
+ "internalChain"
77
+ ]
78
+ },
71
79
  "crt": {
72
80
  "description": "Optional certificate chain values in PEM or base64 DER.",
73
81
  "type": "array",
@@ -7,7 +7,7 @@
7
7
  "description": "Enable or disable automatic key rotation."
8
8
  },
9
9
  "intervalDays": {
10
- "description": "Rotation interval in days.",
10
+ "description": "Rotation interval in days. Required when `enabled` is true.",
11
11
  "type": "number",
12
12
  "minimum": 1,
13
13
  "maximum": 3650
@@ -1,6 +1,9 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "anyOf": [
3
+ "$id": "./TenantConfigFile.schema.json",
4
+ "title": "TenantConfigFile",
5
+ "description": "Configuration file identified by its $schema URL.",
6
+ "oneOf": [
4
7
  {
5
8
  "type": "object",
6
9
  "properties": {
@@ -214,133 +217,5 @@
214
217
  "additionalProperties": false,
215
218
  "description": "Payload used when importing tenant metadata from config files."
216
219
  }
217
- ],
218
- "$id": "./TenantConfigFile.schema.json",
219
- "title": "TenantConfigFile",
220
- "description": "Configuration file identified by its $schema URL.",
221
- "oneOf": [
222
- {
223
- "type": "object",
224
- "properties": {
225
- "$schema": {
226
- "type": "string",
227
- "const": "https://eudiplo.dev/schemas/v1/TenantConfigFile.schema.json"
228
- },
229
- "metadata": {
230
- "type": "object",
231
- "properties": {
232
- "generation": {
233
- "type": "integer",
234
- "minimum": 1,
235
- "maximum": 9007199254740991
236
- },
237
- "ownership": {
238
- "type": "string",
239
- "enum": [
240
- "unmanaged",
241
- "file-managed"
242
- ]
243
- }
244
- },
245
- "additionalProperties": false
246
- },
247
- "spec": {
248
- "type": "object",
249
- "properties": {
250
- "name": {
251
- "default": "EUDIPLO",
252
- "description": "Display name of the tenant.",
253
- "type": "string",
254
- "minLength": 1
255
- },
256
- "description": {
257
- "description": "Optional tenant description.",
258
- "type": "string",
259
- "minLength": 1
260
- },
261
- "sessionConfig": {
262
- "description": "Optional tenant-specific session storage configuration.",
263
- "type": "object",
264
- "properties": {
265
- "ttlSeconds": {
266
- "description": "Session time-to-live in seconds.",
267
- "type": "integer",
268
- "minimum": 60,
269
- "maximum": 9007199254740991
270
- },
271
- "cleanupMode": {
272
- "description": "Whether to fully delete or anonymize expired sessions.",
273
- "type": "string",
274
- "enum": [
275
- "full",
276
- "anonymize"
277
- ]
278
- }
279
- },
280
- "additionalProperties": false
281
- },
282
- "statusListConfig": {
283
- "description": "Optional tenant-specific status list defaults.",
284
- "type": "object",
285
- "properties": {
286
- "capacity": {
287
- "description": "Default status list capacity.",
288
- "type": "integer",
289
- "minimum": 100,
290
- "maximum": 9007199254740991
291
- },
292
- "bits": {
293
- "description": "Bits-per-status setting (1, 2, 4, or 8).",
294
- "anyOf": [
295
- {
296
- "type": "number",
297
- "const": 1
298
- },
299
- {
300
- "type": "number",
301
- "const": 2
302
- },
303
- {
304
- "type": "number",
305
- "const": 4
306
- },
307
- {
308
- "type": "number",
309
- "const": 8
310
- }
311
- ]
312
- },
313
- "ttl": {
314
- "description": "JWT TTL for status list tokens in seconds.",
315
- "type": "integer",
316
- "minimum": 60,
317
- "maximum": 9007199254740991
318
- },
319
- "immediateUpdate": {
320
- "description": "Regenerate status list JWTs immediately after status updates.",
321
- "type": "boolean"
322
- },
323
- "enableAggregation": {
324
- "description": "Include aggregation_uri in generated status list JWTs.",
325
- "type": "boolean"
326
- }
327
- },
328
- "additionalProperties": false
329
- }
330
- },
331
- "required": [
332
- "name"
333
- ],
334
- "additionalProperties": false,
335
- "description": "Payload used when importing tenant metadata from config files."
336
- }
337
- },
338
- "required": [
339
- "$schema",
340
- "metadata",
341
- "spec"
342
- ],
343
- "additionalProperties": false
344
- }
345
220
  ]
346
221
  }