@eudiplo/cli 7.2.0-main.5fdd9ce → 7.2.0-main.adf8d90

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 (177) hide show
  1. package/README.md +44 -0
  2. package/dist/commands/commands/index.d.ts +4 -0
  3. package/dist/commands/commands/index.d.ts.map +1 -0
  4. package/dist/commands/commands/index.js +13 -0
  5. package/dist/commands/commands/index.js.map +1 -0
  6. package/dist/commands/commands/render.d.ts +4 -0
  7. package/dist/commands/commands/render.d.ts.map +1 -0
  8. package/dist/commands/commands/render.js +52 -0
  9. package/dist/commands/commands/render.js.map +1 -0
  10. package/dist/commands/completion/action.d.ts +6 -0
  11. package/dist/commands/completion/action.d.ts.map +1 -0
  12. package/dist/commands/completion/action.js +133 -0
  13. package/dist/commands/completion/action.js.map +1 -0
  14. package/dist/commands/completion/index.d.ts +6 -0
  15. package/dist/commands/completion/index.d.ts.map +1 -0
  16. package/dist/commands/completion/index.js +23 -0
  17. package/dist/commands/completion/index.js.map +1 -0
  18. package/dist/commands/config/action.d.ts +4 -0
  19. package/dist/commands/config/action.d.ts.map +1 -0
  20. package/dist/commands/config/action.js +33 -0
  21. package/dist/commands/config/action.js.map +1 -0
  22. package/dist/commands/config/editor/action.d.ts +3 -0
  23. package/dist/commands/config/editor/action.d.ts.map +1 -0
  24. package/dist/commands/config/editor/action.js +112 -0
  25. package/dist/commands/config/editor/action.js.map +1 -0
  26. package/dist/commands/config/editor/index.d.ts +5 -0
  27. package/dist/commands/config/editor/index.d.ts.map +1 -0
  28. package/dist/commands/config/editor/index.js +20 -0
  29. package/dist/commands/config/editor/index.js.map +1 -0
  30. package/dist/commands/config/index.d.ts +1 -1
  31. package/dist/commands/config/index.d.ts.map +1 -1
  32. package/dist/commands/config/index.js +22 -0
  33. package/dist/commands/config/index.js.map +1 -1
  34. package/dist/commands/config/portability/action.d.ts +5 -0
  35. package/dist/commands/config/portability/action.d.ts.map +1 -0
  36. package/dist/commands/config/portability/action.js +164 -0
  37. package/dist/commands/config/portability/action.js.map +1 -0
  38. package/dist/commands/config/portability/index.d.ts +5 -0
  39. package/dist/commands/config/portability/index.d.ts.map +1 -0
  40. package/dist/commands/config/portability/index.js +44 -0
  41. package/dist/commands/config/portability/index.js.map +1 -0
  42. package/dist/commands/config/portability/migrations.d.ts +24 -0
  43. package/dist/commands/config/portability/migrations.d.ts.map +1 -0
  44. package/dist/commands/config/portability/migrations.js +95 -0
  45. package/dist/commands/config/portability/migrations.js.map +1 -0
  46. package/dist/commands/config/portability/migrations.spec.d.ts +2 -0
  47. package/dist/commands/config/portability/migrations.spec.d.ts.map +1 -0
  48. package/dist/commands/config/portability/migrations.spec.js +32 -0
  49. package/dist/commands/config/portability/migrations.spec.js.map +1 -0
  50. package/dist/commands/config/tenant/action.d.ts.map +1 -1
  51. package/dist/commands/config/tenant/action.js +7 -4
  52. package/dist/commands/config/tenant/action.js.map +1 -1
  53. package/dist/commands/config/tenant/index.d.ts.map +1 -1
  54. package/dist/commands/config/tenant/index.js.map +1 -1
  55. package/dist/commands/config/validate/action.d.ts.map +1 -1
  56. package/dist/commands/config/validate/action.js +3 -1
  57. package/dist/commands/config/validate/action.js.map +1 -1
  58. package/dist/commands/config/validate/registry.d.ts +1 -0
  59. package/dist/commands/config/validate/registry.d.ts.map +1 -1
  60. package/dist/commands/config/validate/registry.js +1 -1
  61. package/dist/commands/config/validate/registry.js.map +1 -1
  62. package/dist/commands/config/validate/registry.json +11 -22
  63. package/dist/commands/config/validate/report.d.ts.map +1 -1
  64. package/dist/commands/config/validate/report.js +6 -1
  65. package/dist/commands/config/validate/report.js.map +1 -1
  66. package/dist/commands/config/validate/schemas.d.ts +1 -0
  67. package/dist/commands/config/validate/schemas.d.ts.map +1 -1
  68. package/dist/commands/config/validate/schemas.js +16 -5
  69. package/dist/commands/config/validate/schemas.js.map +1 -1
  70. package/dist/commands/config/validate/types.d.ts.map +1 -1
  71. package/dist/commands/config/validate/validator.d.ts.map +1 -1
  72. package/dist/commands/config/validate/validator.js +13 -5
  73. package/dist/commands/config/validate/validator.js.map +1 -1
  74. package/dist/commands/demo/action.d.ts.map +1 -1
  75. package/dist/commands/demo/action.js +2 -1
  76. package/dist/commands/demo/action.js.map +1 -1
  77. package/dist/commands/demo/index.d.ts.map +1 -1
  78. package/dist/commands/demo/index.js.map +1 -1
  79. package/dist/commands/deployment/action.d.ts.map +1 -1
  80. package/dist/commands/deployment/action.js +10 -3
  81. package/dist/commands/deployment/action.js.map +1 -1
  82. package/dist/commands/deployment/index.d.ts.map +1 -1
  83. package/dist/commands/deployment/index.js.map +1 -1
  84. package/dist/commands/doctor/action.d.ts.map +1 -1
  85. package/dist/commands/doctor/action.js +1 -1
  86. package/dist/commands/doctor/action.js.map +1 -1
  87. package/dist/commands/init/action.d.ts.map +1 -1
  88. package/dist/commands/init/action.js +19 -6
  89. package/dist/commands/init/action.js.map +1 -1
  90. package/dist/commands/init/index.d.ts.map +1 -1
  91. package/dist/commands/init/index.js.map +1 -1
  92. package/dist/commands/instance/action.d.ts +4 -0
  93. package/dist/commands/instance/action.d.ts.map +1 -1
  94. package/dist/commands/instance/action.js +66 -1
  95. package/dist/commands/instance/action.js.map +1 -1
  96. package/dist/commands/instance/index.d.ts.map +1 -1
  97. package/dist/commands/instance/index.js +31 -1
  98. package/dist/commands/instance/index.js.map +1 -1
  99. package/dist/commands/shared.d.ts.map +1 -1
  100. package/dist/commands/shared.js +4 -1
  101. package/dist/commands/shared.js.map +1 -1
  102. package/dist/commands/status/action.d.ts.map +1 -1
  103. package/dist/commands/status/action.js.map +1 -1
  104. package/dist/commands/version/action.d.ts.map +1 -1
  105. package/dist/commands/version/action.js +3 -1
  106. package/dist/commands/version/action.js.map +1 -1
  107. package/dist/index.js +0 -0
  108. package/dist/runtime.d.ts +2 -0
  109. package/dist/runtime.d.ts.map +1 -1
  110. package/dist/runtime.js +8 -1
  111. package/dist/runtime.js.map +1 -1
  112. package/dist/sea-assets.d.ts +4 -2
  113. package/dist/sea-assets.d.ts.map +1 -1
  114. package/dist/sea-assets.js +6 -3
  115. package/dist/sea-assets.js.map +1 -1
  116. package/dist/services/cli-config.d.ts +2 -0
  117. package/dist/services/cli-config.d.ts.map +1 -1
  118. package/dist/services/cli-config.js +22 -1
  119. package/dist/services/cli-config.js.map +1 -1
  120. package/dist/services/compose-project.d.ts.map +1 -1
  121. package/dist/services/compose-project.js +14 -6
  122. package/dist/services/compose-project.js.map +1 -1
  123. package/dist/services/deployment-drivers.d.ts.map +1 -1
  124. package/dist/services/deployment-drivers.js +20 -6
  125. package/dist/services/deployment-drivers.js.map +1 -1
  126. package/dist/services/diagnostics.d.ts.map +1 -1
  127. package/dist/services/diagnostics.js +3 -1
  128. package/dist/services/diagnostics.js.map +1 -1
  129. package/dist/services/instance-selection.d.ts.map +1 -1
  130. package/dist/services/instance-selection.js.map +1 -1
  131. package/dist/services/project-directory.d.ts.map +1 -1
  132. package/dist/services/project-directory.js.map +1 -1
  133. package/dist/types.d.ts.map +1 -1
  134. package/package.json +5 -3
  135. package/templates/demo-config/issuance/issuance.json +20 -12
  136. package/templates/demo-config/key-chains/access.json +13 -2
  137. package/templates/demo-config/key-chains/attestation.json +15 -4
  138. package/templates/demo-config/key-chains/status-list.json +15 -4
  139. package/templates/demo-config/key-chains/trust-list.json +13 -2
  140. package/templates/demo-config/presentation/age-over-18.json +46 -53
  141. package/templates/demo-config/presentation/pid.json +44 -0
  142. package/templates/demo-config.manifest.json +1 -0
  143. package/templates/schemas/AttributeProviderAuth.schema.json +60 -0
  144. package/templates/schemas/AttributeProviderConfigFile.schema.json +37 -0
  145. package/templates/schemas/CertImportDto.schema.json +35 -0
  146. package/templates/schemas/ClientConfigFile.schema.json +37 -0
  147. package/templates/schemas/ConfigDocumentMetadata.schema.json +25 -0
  148. package/templates/schemas/CreateStatusListDto.schema.json +46 -0
  149. package/templates/schemas/CreateTenantDto.schema.json +116 -0
  150. package/templates/schemas/CredentialConfigFile.schema.json +37 -0
  151. package/templates/schemas/DCQL.schema.json +401 -0
  152. package/templates/schemas/EmbeddedDisclosurePolicy.schema.json +106 -0
  153. package/templates/schemas/ImportTenantDto.schema.json +69 -0
  154. package/templates/schemas/IssuanceConfigFile.schema.json +32 -0
  155. package/templates/schemas/KeyChainConfigFile.schema.json +101 -0
  156. package/templates/schemas/KeyChainCreateDto.schema.json +66 -0
  157. package/templates/schemas/KeyChainUpdateDto.schema.json +40 -0
  158. package/templates/schemas/KmsConfigFile.schema.json +37 -0
  159. package/templates/schemas/PresentationConfigFile.schema.json +32 -0
  160. package/templates/schemas/RegistrarConfigFile.schema.json +37 -0
  161. package/templates/schemas/RotationPolicyCreateDto.schema.json +28 -0
  162. package/templates/schemas/RotationPolicyUpdateDto.schema.json +25 -0
  163. package/templates/schemas/SessionStorageConfig.schema.json +24 -0
  164. package/templates/schemas/StatusListConfig.schema.json +51 -0
  165. package/templates/schemas/StatusListConfigFile.schema.json +37 -0
  166. package/templates/schemas/TransactionData.schema.json +24 -0
  167. package/templates/schemas/TrustListConfigFile.schema.json +37 -0
  168. package/templates/schemas/UpdateAttributeProviderDto.schema.json +93 -0
  169. package/templates/schemas/UpdateClientDto.schema.json +62 -0
  170. package/templates/schemas/UpdateStatusListConfigDto.schema.json +85 -0
  171. package/templates/schemas/UpdateStatusListDto.schema.json +33 -0
  172. package/templates/schemas/UpdateTenantDto.schema.json +96 -0
  173. package/templates/schemas/UpdateWebhookEndpointDto.schema.json +93 -0
  174. package/templates/schemas/VCT.schema.json +37 -0
  175. package/templates/schemas/WebhookConfig.schema.json +80 -0
  176. package/templates/schemas/WebhookEndpointConfigFile.schema.json +37 -0
  177. package/templates/schemas.manifest.json +34 -1
@@ -0,0 +1,106 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "oneOf": [
4
+ {
5
+ "type": "object",
6
+ "properties": {
7
+ "policy": {
8
+ "type": "string",
9
+ "const": "attestationBased",
10
+ "description": "Attestation-based policy discriminator."
11
+ },
12
+ "values": {
13
+ "type": "array",
14
+ "items": {
15
+ "type": "object",
16
+ "properties": {
17
+ "claims": {
18
+ "description": "Claims constraints considered by policy evaluation.",
19
+ "type": "array",
20
+ "items": {}
21
+ },
22
+ "credentials": {
23
+ "type": "array",
24
+ "items": {},
25
+ "description": "Credential constraints considered by policy evaluation."
26
+ },
27
+ "credential_sets": {
28
+ "description": "Optional credential set constraints.",
29
+ "type": "array",
30
+ "items": {}
31
+ }
32
+ },
33
+ "required": [
34
+ "credentials"
35
+ ],
36
+ "additionalProperties": false
37
+ },
38
+ "description": "Attestation requirements used for policy enforcement."
39
+ }
40
+ },
41
+ "required": [
42
+ "policy",
43
+ "values"
44
+ ],
45
+ "additionalProperties": false
46
+ },
47
+ {
48
+ "type": "object",
49
+ "properties": {
50
+ "policy": {
51
+ "type": "string",
52
+ "const": "none",
53
+ "description": "No disclosure policy enforcement."
54
+ }
55
+ },
56
+ "required": [
57
+ "policy"
58
+ ],
59
+ "additionalProperties": false
60
+ },
61
+ {
62
+ "type": "object",
63
+ "properties": {
64
+ "policy": {
65
+ "type": "string",
66
+ "const": "allowList",
67
+ "description": "Allow-list based policy discriminator."
68
+ },
69
+ "values": {
70
+ "type": "array",
71
+ "items": {
72
+ "type": "string"
73
+ },
74
+ "description": "Allowed values for policy checks."
75
+ }
76
+ },
77
+ "required": [
78
+ "policy",
79
+ "values"
80
+ ],
81
+ "additionalProperties": false
82
+ },
83
+ {
84
+ "type": "object",
85
+ "properties": {
86
+ "policy": {
87
+ "type": "string",
88
+ "const": "rootOfTrust",
89
+ "description": "Root-of-trust policy discriminator."
90
+ },
91
+ "values": {
92
+ "type": "string",
93
+ "description": "Root-of-trust identifier or reference."
94
+ }
95
+ },
96
+ "required": [
97
+ "policy",
98
+ "values"
99
+ ],
100
+ "additionalProperties": false
101
+ }
102
+ ],
103
+ "description": "Embedded disclosure policy configuration.",
104
+ "$id": "./EmbeddedDisclosurePolicy.schema.json",
105
+ "title": "EmbeddedDisclosurePolicy"
106
+ }
@@ -12,6 +12,75 @@
12
12
  "description": "Optional tenant description.",
13
13
  "type": "string",
14
14
  "minLength": 1
15
+ },
16
+ "sessionConfig": {
17
+ "description": "Optional tenant-specific session storage configuration.",
18
+ "type": "object",
19
+ "properties": {
20
+ "ttlSeconds": {
21
+ "description": "Session time-to-live in seconds.",
22
+ "type": "integer",
23
+ "minimum": 60,
24
+ "maximum": 9007199254740991
25
+ },
26
+ "cleanupMode": {
27
+ "description": "Whether to fully delete or anonymize expired sessions.",
28
+ "type": "string",
29
+ "enum": [
30
+ "full",
31
+ "anonymize"
32
+ ]
33
+ }
34
+ },
35
+ "additionalProperties": false
36
+ },
37
+ "statusListConfig": {
38
+ "description": "Optional tenant-specific status list defaults.",
39
+ "type": "object",
40
+ "properties": {
41
+ "capacity": {
42
+ "description": "Default status list capacity.",
43
+ "type": "integer",
44
+ "minimum": 100,
45
+ "maximum": 9007199254740991
46
+ },
47
+ "bits": {
48
+ "description": "Bits-per-status setting (1, 2, 4, or 8).",
49
+ "anyOf": [
50
+ {
51
+ "type": "number",
52
+ "const": 1
53
+ },
54
+ {
55
+ "type": "number",
56
+ "const": 2
57
+ },
58
+ {
59
+ "type": "number",
60
+ "const": 4
61
+ },
62
+ {
63
+ "type": "number",
64
+ "const": 8
65
+ }
66
+ ]
67
+ },
68
+ "ttl": {
69
+ "description": "JWT TTL for status list tokens in seconds.",
70
+ "type": "integer",
71
+ "minimum": 60,
72
+ "maximum": 9007199254740991
73
+ },
74
+ "immediateUpdate": {
75
+ "description": "Regenerate status list JWTs immediately after status updates.",
76
+ "type": "boolean"
77
+ },
78
+ "enableAggregation": {
79
+ "description": "Include aggregation_uri in generated status list JWTs.",
80
+ "type": "boolean"
81
+ }
82
+ },
83
+ "additionalProperties": false
15
84
  }
16
85
  },
17
86
  "required": [
@@ -0,0 +1,32 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "./IssuanceConfigFile.schema.json",
4
+ "title": "IssuanceConfigFile",
5
+ "description": "An issuance configuration file in legacy payload or versioned-envelope form.",
6
+ "oneOf": [
7
+ {
8
+ "$ref": "./IssuanceConfig.schema.json"
9
+ },
10
+ {
11
+ "type": "object",
12
+ "properties": {
13
+ "apiVersion": {
14
+ "type": "string",
15
+ "const": "eudiplo.io/issuance-config/v2"
16
+ },
17
+ "kind": {
18
+ "type": "string",
19
+ "const": "IssuanceConfig"
20
+ },
21
+ "metadata": {
22
+ "$ref": "./ConfigDocumentMetadata.schema.json"
23
+ },
24
+ "spec": {
25
+ "$ref": "./IssuanceConfig.schema.json"
26
+ }
27
+ },
28
+ "required": ["apiVersion", "kind", "metadata", "spec"],
29
+ "additionalProperties": false
30
+ }
31
+ ]
32
+ }
@@ -0,0 +1,101 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "./KeyChainConfigFile.schema.json",
4
+ "title": "KeyChainConfigFile",
5
+ "description": "A key-chain configuration file in legacy payload or versioned-envelope form.",
6
+ "oneOf": [
7
+ {
8
+ "$ref": "./KeyChainImportDto.schema.json"
9
+ },
10
+ {
11
+ "type": "object",
12
+ "properties": {
13
+ "apiVersion": {
14
+ "type": "string",
15
+ "const": "eudiplo.io/key-chain/v2"
16
+ },
17
+ "kind": {
18
+ "type": "string",
19
+ "const": "KeyChain"
20
+ },
21
+ "metadata": {
22
+ "$ref": "./ConfigDocumentMetadata.schema.json"
23
+ },
24
+ "spec": {
25
+ "$ref": "#/$defs/portableSpec"
26
+ }
27
+ },
28
+ "required": ["apiVersion", "kind", "metadata", "spec"],
29
+ "additionalProperties": false
30
+ }
31
+ ],
32
+ "$defs": {
33
+ "ecPrivateJwk": {
34
+ "type": "object",
35
+ "properties": {
36
+ "kty": { "type": "string" },
37
+ "x": { "type": "string" },
38
+ "y": { "type": "string" },
39
+ "crv": { "type": "string" },
40
+ "d": { "type": "string" },
41
+ "alg": { "type": "string" },
42
+ "kid": { "type": "string" }
43
+ },
44
+ "required": ["kty", "x", "y", "crv", "d"],
45
+ "additionalProperties": false
46
+ },
47
+ "portableSpec": {
48
+ "type": "object",
49
+ "properties": {
50
+ "id": {
51
+ "type": "string",
52
+ "description": "Optional key-chain id duplicated from envelope metadata."
53
+ },
54
+ "description": { "type": "string" },
55
+ "usageType": {
56
+ "type": "string",
57
+ "enum": ["access", "attestation", "trustList", "statusList", "encrypt"]
58
+ },
59
+ "keySource": {
60
+ "type": "object",
61
+ "properties": {
62
+ "type": {
63
+ "type": "string",
64
+ "const": "private-jwk"
65
+ },
66
+ "jwk": {
67
+ "$ref": "#/$defs/ecPrivateJwk"
68
+ }
69
+ },
70
+ "required": ["type", "jwk"],
71
+ "additionalProperties": false
72
+ },
73
+ "crt": {
74
+ "type": "array",
75
+ "items": { "type": "string" }
76
+ },
77
+ "kmsProvider": { "type": "string" },
78
+ "rotationPolicy": {
79
+ "type": "object",
80
+ "properties": {
81
+ "enabled": { "type": "boolean" },
82
+ "intervalDays": {
83
+ "type": "number",
84
+ "minimum": 1,
85
+ "maximum": 3650
86
+ },
87
+ "certValidityDays": {
88
+ "type": "number",
89
+ "minimum": 1,
90
+ "maximum": 3650
91
+ }
92
+ },
93
+ "required": ["enabled"],
94
+ "additionalProperties": false
95
+ }
96
+ },
97
+ "required": ["usageType", "keySource"],
98
+ "additionalProperties": false
99
+ }
100
+ }
101
+ }
@@ -0,0 +1,66 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "usageType": {
6
+ "type": "string",
7
+ "enum": [
8
+ "access",
9
+ "attestation",
10
+ "trustList",
11
+ "statusList",
12
+ "encrypt"
13
+ ],
14
+ "description": "Key usage category for the key chain."
15
+ },
16
+ "type": {
17
+ "type": "string",
18
+ "enum": [
19
+ "standalone",
20
+ "internalChain"
21
+ ],
22
+ "description": "Key chain mode."
23
+ },
24
+ "description": {
25
+ "description": "Optional key chain description.",
26
+ "type": "string"
27
+ },
28
+ "kmsProvider": {
29
+ "description": "Optional KMS provider id for key storage operations.",
30
+ "type": "string"
31
+ },
32
+ "rotationPolicy": {
33
+ "description": "Optional rotation policy.",
34
+ "type": "object",
35
+ "properties": {
36
+ "enabled": {
37
+ "type": "boolean",
38
+ "description": "Enable or disable automatic key rotation."
39
+ },
40
+ "intervalDays": {
41
+ "description": "Rotation interval in days.",
42
+ "type": "number",
43
+ "minimum": 1,
44
+ "maximum": 3650
45
+ },
46
+ "certValidityDays": {
47
+ "description": "Certificate validity period in days for generated leaf certificates.",
48
+ "type": "number",
49
+ "minimum": 1,
50
+ "maximum": 3650
51
+ }
52
+ },
53
+ "required": [
54
+ "enabled"
55
+ ],
56
+ "additionalProperties": false
57
+ }
58
+ },
59
+ "required": [
60
+ "usageType",
61
+ "type"
62
+ ],
63
+ "additionalProperties": false,
64
+ "$id": "./KeyChainCreateDto.schema.json",
65
+ "title": "KeyChainCreateDto"
66
+ }
@@ -0,0 +1,40 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "description": {
6
+ "description": "Optional replacement description.",
7
+ "type": "string"
8
+ },
9
+ "rotationPolicy": {
10
+ "description": "Optional rotation policy updates.",
11
+ "type": "object",
12
+ "properties": {
13
+ "enabled": {
14
+ "description": "Optional replacement for rotation enabled flag.",
15
+ "type": "boolean"
16
+ },
17
+ "intervalDays": {
18
+ "description": "Optional replacement for rotation interval in days.",
19
+ "type": "number",
20
+ "minimum": 1,
21
+ "maximum": 3650
22
+ },
23
+ "certValidityDays": {
24
+ "description": "Optional replacement for certificate validity period in days.",
25
+ "type": "number",
26
+ "minimum": 1,
27
+ "maximum": 3650
28
+ }
29
+ },
30
+ "additionalProperties": false
31
+ },
32
+ "activeCertificate": {
33
+ "description": "Optional active certificate override.",
34
+ "type": "string"
35
+ }
36
+ },
37
+ "additionalProperties": false,
38
+ "$id": "./KeyChainUpdateDto.schema.json",
39
+ "title": "KeyChainUpdateDto"
40
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "./KmsConfigFile.schema.json",
4
+ "title": "KmsConfigFile",
5
+ "description": "A tenant KMS configuration file in legacy payload or versioned-envelope form.",
6
+ "oneOf": [
7
+ {
8
+ "$ref": "./KmsConfigDto.schema.json"
9
+ },
10
+ {
11
+ "type": "object",
12
+ "properties": {
13
+ "apiVersion": {
14
+ "type": "string",
15
+ "const": "eudiplo.io/kms-config/v1"
16
+ },
17
+ "kind": {
18
+ "type": "string",
19
+ "const": "KmsConfig"
20
+ },
21
+ "metadata": {
22
+ "$ref": "./ConfigDocumentMetadata.schema.json"
23
+ },
24
+ "spec": {
25
+ "$ref": "./KmsConfigDto.schema.json"
26
+ }
27
+ },
28
+ "required": [
29
+ "apiVersion",
30
+ "kind",
31
+ "metadata",
32
+ "spec"
33
+ ],
34
+ "additionalProperties": false
35
+ }
36
+ ]
37
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "./PresentationConfigFile.schema.json",
4
+ "title": "PresentationConfigFile",
5
+ "description": "A presentation configuration file in legacy payload or versioned-envelope form.",
6
+ "oneOf": [
7
+ {
8
+ "$ref": "./PresentationConfigCreateDto.schema.json"
9
+ },
10
+ {
11
+ "type": "object",
12
+ "properties": {
13
+ "apiVersion": {
14
+ "type": "string",
15
+ "const": "eudiplo.io/presentation-config/v2"
16
+ },
17
+ "kind": {
18
+ "type": "string",
19
+ "const": "PresentationConfig"
20
+ },
21
+ "metadata": {
22
+ "$ref": "./ConfigDocumentMetadata.schema.json"
23
+ },
24
+ "spec": {
25
+ "$ref": "./PresentationConfigCreateDto.schema.json"
26
+ }
27
+ },
28
+ "required": ["apiVersion", "kind", "metadata", "spec"],
29
+ "additionalProperties": false
30
+ }
31
+ ]
32
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "./RegistrarConfigFile.schema.json",
4
+ "title": "RegistrarConfigFile",
5
+ "description": "A registrar configuration file in legacy payload or versioned-envelope form.",
6
+ "oneOf": [
7
+ {
8
+ "$ref": "./CreateRegistrarConfigDto.schema.json"
9
+ },
10
+ {
11
+ "type": "object",
12
+ "properties": {
13
+ "apiVersion": {
14
+ "type": "string",
15
+ "const": "eudiplo.io/registrar-config/v1"
16
+ },
17
+ "kind": {
18
+ "type": "string",
19
+ "const": "RegistrarConfig"
20
+ },
21
+ "metadata": {
22
+ "$ref": "./ConfigDocumentMetadata.schema.json"
23
+ },
24
+ "spec": {
25
+ "$ref": "./CreateRegistrarConfigDto.schema.json"
26
+ }
27
+ },
28
+ "required": [
29
+ "apiVersion",
30
+ "kind",
31
+ "metadata",
32
+ "spec"
33
+ ],
34
+ "additionalProperties": false
35
+ }
36
+ ]
37
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "enabled": {
6
+ "type": "boolean",
7
+ "description": "Enable or disable automatic key rotation."
8
+ },
9
+ "intervalDays": {
10
+ "description": "Rotation interval in days.",
11
+ "type": "number",
12
+ "minimum": 1,
13
+ "maximum": 3650
14
+ },
15
+ "certValidityDays": {
16
+ "description": "Certificate validity period in days for generated leaf certificates.",
17
+ "type": "number",
18
+ "minimum": 1,
19
+ "maximum": 3650
20
+ }
21
+ },
22
+ "required": [
23
+ "enabled"
24
+ ],
25
+ "additionalProperties": false,
26
+ "$id": "./RotationPolicyCreateDto.schema.json",
27
+ "title": "RotationPolicyCreateDto"
28
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "enabled": {
6
+ "description": "Optional replacement for rotation enabled flag.",
7
+ "type": "boolean"
8
+ },
9
+ "intervalDays": {
10
+ "description": "Optional replacement for rotation interval in days.",
11
+ "type": "number",
12
+ "minimum": 1,
13
+ "maximum": 3650
14
+ },
15
+ "certValidityDays": {
16
+ "description": "Optional replacement for certificate validity period in days.",
17
+ "type": "number",
18
+ "minimum": 1,
19
+ "maximum": 3650
20
+ }
21
+ },
22
+ "additionalProperties": false,
23
+ "$id": "./RotationPolicyUpdateDto.schema.json",
24
+ "title": "RotationPolicyUpdateDto"
25
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "ttlSeconds": {
6
+ "description": "Session time-to-live in seconds.",
7
+ "type": "integer",
8
+ "minimum": 60,
9
+ "maximum": 9007199254740991
10
+ },
11
+ "cleanupMode": {
12
+ "description": "Whether to fully delete or anonymize expired sessions.",
13
+ "type": "string",
14
+ "enum": [
15
+ "full",
16
+ "anonymize"
17
+ ]
18
+ }
19
+ },
20
+ "additionalProperties": false,
21
+ "description": "Tenant session storage configuration.",
22
+ "$id": "./SessionStorageConfig.schema.json",
23
+ "title": "SessionStorageConfig"
24
+ }
@@ -0,0 +1,51 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "capacity": {
6
+ "description": "Default status list capacity.",
7
+ "type": "integer",
8
+ "minimum": 100,
9
+ "maximum": 9007199254740991
10
+ },
11
+ "bits": {
12
+ "description": "Bits-per-status setting (1, 2, 4, or 8).",
13
+ "anyOf": [
14
+ {
15
+ "type": "number",
16
+ "const": 1
17
+ },
18
+ {
19
+ "type": "number",
20
+ "const": 2
21
+ },
22
+ {
23
+ "type": "number",
24
+ "const": 4
25
+ },
26
+ {
27
+ "type": "number",
28
+ "const": 8
29
+ }
30
+ ]
31
+ },
32
+ "ttl": {
33
+ "description": "JWT TTL for status list tokens in seconds.",
34
+ "type": "integer",
35
+ "minimum": 60,
36
+ "maximum": 9007199254740991
37
+ },
38
+ "immediateUpdate": {
39
+ "description": "Regenerate status list JWTs immediately after status updates.",
40
+ "type": "boolean"
41
+ },
42
+ "enableAggregation": {
43
+ "description": "Include aggregation_uri in generated status list JWTs.",
44
+ "type": "boolean"
45
+ }
46
+ },
47
+ "additionalProperties": false,
48
+ "description": "Tenant defaults for status list generation and publishing behavior.",
49
+ "$id": "./StatusListConfig.schema.json",
50
+ "title": "StatusListConfig"
51
+ }