@eudiplo/cli 7.6.1 → 8.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/dist/commands/config/portability/action.d.ts +1 -1
  2. package/dist/commands/config/portability/action.d.ts.map +1 -1
  3. package/dist/commands/config/portability/action.js +49 -95
  4. package/dist/commands/config/portability/action.js.map +1 -1
  5. package/dist/commands/config/portability/index.d.ts.map +1 -1
  6. package/dist/commands/config/portability/index.js +37 -5
  7. package/dist/commands/config/portability/index.js.map +1 -1
  8. package/dist/commands/config/portability/migrations.d.ts +3 -21
  9. package/dist/commands/config/portability/migrations.d.ts.map +1 -1
  10. package/dist/commands/config/portability/migrations.js +4 -92
  11. package/dist/commands/config/portability/migrations.js.map +1 -1
  12. package/dist/commands/config/portability/migrations.spec.js +12 -14
  13. package/dist/commands/config/portability/migrations.spec.js.map +1 -1
  14. package/dist/commands/config/portability/upgrade.d.ts +3 -0
  15. package/dist/commands/config/portability/upgrade.d.ts.map +1 -0
  16. package/dist/commands/config/portability/upgrade.js +199 -0
  17. package/dist/commands/config/portability/upgrade.js.map +1 -0
  18. package/dist/commands/config/tenant/action.js +3 -4
  19. package/dist/commands/config/tenant/action.js.map +1 -1
  20. package/dist/commands/config/validate/validator.d.ts.map +1 -1
  21. package/dist/commands/config/validate/validator.js +50 -30
  22. package/dist/commands/config/validate/validator.js.map +1 -1
  23. package/dist/commands/demo/action.d.ts.map +1 -1
  24. package/dist/commands/demo/action.js +2 -0
  25. package/dist/commands/demo/action.js.map +1 -1
  26. package/dist/commands/deployment/action.d.ts +1 -1
  27. package/dist/commands/deployment/action.d.ts.map +1 -1
  28. package/dist/commands/deployment/action.js +1 -0
  29. package/dist/commands/deployment/action.js.map +1 -1
  30. package/dist/commands/deployment/index.d.ts.map +1 -1
  31. package/dist/commands/deployment/index.js +29 -9
  32. package/dist/commands/deployment/index.js.map +1 -1
  33. package/dist/commands/init/action.d.ts.map +1 -1
  34. package/dist/commands/init/action.js +1 -0
  35. package/dist/commands/init/action.js.map +1 -1
  36. package/dist/commands/instance/action.d.ts.map +1 -1
  37. package/dist/commands/instance/action.js +42 -1
  38. package/dist/commands/instance/action.js.map +1 -1
  39. package/dist/commands/instance/index.d.ts.map +1 -1
  40. package/dist/commands/instance/index.js +5 -1
  41. package/dist/commands/instance/index.js.map +1 -1
  42. package/dist/index.js +23288 -3
  43. package/dist/services/cli-config.d.ts.map +1 -1
  44. package/dist/services/cli-config.js +46 -1
  45. package/dist/services/cli-config.js.map +1 -1
  46. package/dist/services/deployment-drivers.d.ts +10 -0
  47. package/dist/services/deployment-drivers.d.ts.map +1 -1
  48. package/dist/services/deployment-drivers.js +357 -6
  49. package/dist/services/deployment-drivers.js.map +1 -1
  50. package/dist/services/deployment-target.js +1 -1
  51. package/dist/services/deployment-target.js.map +1 -1
  52. package/dist/services/diagnostics.d.ts +3 -9
  53. package/dist/services/diagnostics.d.ts.map +1 -1
  54. package/dist/services/diagnostics.js +1 -7
  55. package/dist/services/diagnostics.js.map +1 -1
  56. package/dist/services/kubectl.d.ts +51 -0
  57. package/dist/services/kubectl.d.ts.map +1 -0
  58. package/dist/services/kubectl.js +150 -0
  59. package/dist/services/kubectl.js.map +1 -0
  60. package/dist/types.d.ts +15 -2
  61. package/dist/types.d.ts.map +1 -1
  62. package/package.json +4 -3
  63. package/templates/demo-config/attribute-providers/claims-provider.json +8 -2
  64. package/templates/demo-config/clients/presentation-test.json +8 -2
  65. package/templates/demo-config/clients/test.json +12 -6
  66. package/templates/demo-config/info.json +7 -1
  67. package/templates/demo-config/issuance/credentials/citizen.json +43 -37
  68. package/templates/demo-config/issuance/credentials/pid-key.json +371 -365
  69. package/templates/demo-config/issuance/credentials/pid-mdoc.json +444 -438
  70. package/templates/demo-config/issuance/credentials/pid.json +472 -466
  71. package/templates/demo-config/issuance/issuance.json +1 -3
  72. package/templates/demo-config/issuance/status-lists/pid.json +12 -6
  73. package/templates/demo-config/key-chains/access.json +2 -4
  74. package/templates/demo-config/key-chains/attestation.json +2 -4
  75. package/templates/demo-config/key-chains/status-list.json +1 -3
  76. package/templates/demo-config/key-chains/trust-list.json +1 -3
  77. package/templates/demo-config/presentation/age-over-18.json +20 -7
  78. package/templates/demo-config/presentation/pid.json +1 -3
  79. package/templates/demo-config/trust-lists/trustlist-580831bc-ef11-43f4-a3be-a2b6bf1b29a3-config.json +96 -90
  80. package/templates/demo-config/webhook-endpoints/notification.json +8 -2
  81. package/templates/schemas/AttributeProviderConfigFile.schema.json +38 -15
  82. package/templates/schemas/ClientConfigFile.schema.json +38 -15
  83. package/templates/schemas/CredentialConfigFile.schema.json +38 -15
  84. package/templates/schemas/IssuanceConfigFile.schema.json +24 -12
  85. package/templates/schemas/KeyChainConfigFile.schema.json +373 -19
  86. package/templates/schemas/KmsConfigFile.schema.json +21 -14
  87. package/templates/schemas/PresentationConfigFile.schema.json +41 -13
  88. package/templates/schemas/RegistrarConfigFile.schema.json +21 -14
  89. package/templates/schemas/StatusListConfigFile.schema.json +38 -15
  90. package/templates/schemas/TenantConfigFile.schema.json +136 -20
  91. package/templates/schemas/TrustListConfigFile.schema.json +38 -15
  92. package/templates/schemas/WebhookEndpointConfigFile.schema.json +38 -15
@@ -1,8 +1,6 @@
1
1
  {
2
- "apiVersion": "eudiplo.io/issuance-config/v2",
3
- "kind": "IssuanceConfig",
2
+ "$schema": "https://eudiplo.dev/schemas/v1/IssuanceConfigFile.schema.json",
4
3
  "metadata": {
5
- "id": "issuance",
6
4
  "generation": 1
7
5
  },
8
6
  "spec": {
@@ -1,7 +1,13 @@
1
1
  {
2
- "id": "pid",
3
- "credentialConfigurationId": "pid",
4
- "capacity": 50000,
5
- "bits": 1,
6
- "keyChainId": "dbb65456-c358-46c1-bb5b-c777ef72c1d4"
7
- }
2
+ "$schema": "https://eudiplo.dev/schemas/v1/StatusListConfigFile.schema.json",
3
+ "metadata": {
4
+ "generation": 1
5
+ },
6
+ "spec": {
7
+ "id": "pid",
8
+ "credentialConfigurationId": "pid",
9
+ "capacity": 50000,
10
+ "bits": 1,
11
+ "keyChainId": "dbb65456-c358-46c1-bb5b-c777ef72c1d4"
12
+ }
13
+ }
@@ -1,8 +1,6 @@
1
1
  {
2
- "apiVersion": "eudiplo.io/key-chain/v2",
3
- "kind": "KeyChain",
2
+ "$schema": "https://eudiplo.dev/schemas/v1/KeyChainConfigFile.schema.json",
4
3
  "metadata": {
5
- "id": "2f71c235-87e2-43c9-b572-739a3164ce95",
6
4
  "generation": 1
7
5
  },
8
6
  "spec": {
@@ -25,4 +23,4 @@
25
23
  "-----BEGIN CERTIFICATE-----\nMIIBqDCCAU6gAwIBAgIRAKvmiMRB5R7lA5jLGSWb+t0wCgYIKoZIzj0EAwIwIzEL\nMAkGA1UEBhMCREUxFDASBgNVBAMTC0RlbW8gVGVuYW50MB4XDTI2MDMwOTExMDM1\nN1oXDTI3MDMwOTExMDM1N1owIzELMAkGA1UEBhMCREUxFDASBgNVBAMTC0RlbW8g\nVGVuYW50MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEXhUejp+xQ/Dk0dRpg8PB\nFr0viFpdI/nmErMWjzOnOEhN+9KNHrc6GPwemIGRWbQVqJ4qZqEU0kLgh9dm0vXg\n9KNjMGEwIgYDVR0RBBswGYIXc2VydmljZS5ldWRpLXdhbGxldC5kZXYwDAYDVR0T\nAQH/BAIwADAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0OBBYEFJ/qrJtPiM+jlZzxig8f\nVugUZLHYMAoGCCqGSM49BAMCA0gAMEUCIQDxZTfmEZ6XXETPk5iQHRqpPmhJYMpB\n3KZ/XzNBTbC8OAIgZwa4rpELbnfCweRNhC0JjZ/sVZl1TPgBd11N56l7r34=\n-----END CERTIFICATE-----"
26
24
  ]
27
25
  }
28
- }
26
+ }
@@ -1,8 +1,6 @@
1
1
  {
2
- "apiVersion": "eudiplo.io/key-chain/v2",
3
- "kind": "KeyChain",
2
+ "$schema": "https://eudiplo.dev/schemas/v1/KeyChainConfigFile.schema.json",
4
3
  "metadata": {
5
- "id": "dbb65456-c358-46c1-bb5b-c777ef72c1d3",
6
4
  "generation": 1
7
5
  },
8
6
  "spec": {
@@ -26,4 +24,4 @@
26
24
  "enabled": true
27
25
  }
28
26
  }
29
- }
27
+ }
@@ -1,8 +1,6 @@
1
1
  {
2
- "apiVersion": "eudiplo.io/key-chain/v2",
3
- "kind": "KeyChain",
2
+ "$schema": "https://eudiplo.dev/schemas/v1/KeyChainConfigFile.schema.json",
4
3
  "metadata": {
5
- "id": "dbb65456-c358-46c1-bb5b-c777ef72c1d4",
6
4
  "generation": 1
7
5
  },
8
6
  "spec": {
@@ -1,8 +1,6 @@
1
1
  {
2
- "apiVersion": "eudiplo.io/key-chain/v2",
3
- "kind": "KeyChain",
2
+ "$schema": "https://eudiplo.dev/schemas/v1/KeyChainConfigFile.schema.json",
4
3
  "metadata": {
5
- "id": "570852d7-7e7f-40af-a0e3-a6ebffd75ed0",
6
4
  "generation": 1
7
5
  },
8
6
  "spec": {
@@ -1,8 +1,6 @@
1
1
  {
2
- "apiVersion": "eudiplo.io/presentation-config/v2",
3
- "kind": "PresentationConfig",
2
+ "$schema": "https://eudiplo.dev/schemas/v1/PresentationConfigFile.schema.json",
4
3
  "metadata": {
5
- "id": "age-over-18",
6
4
  "generation": 1
7
5
  },
8
6
  "spec": {
@@ -14,11 +12,16 @@
14
12
  "id": "pid-sd-jwt",
15
13
  "format": "dc+sd-jwt",
16
14
  "meta": {
17
- "vct_values": ["urn:eudi:pid:de:1"]
15
+ "vct_values": [
16
+ "urn:eudi:pid:de:1"
17
+ ]
18
18
  },
19
19
  "claims": [
20
20
  {
21
- "path": ["age_equal_or_over", "18"]
21
+ "path": [
22
+ "age_equal_or_over",
23
+ "18"
24
+ ]
22
25
  }
23
26
  ]
24
27
  },
@@ -30,7 +33,10 @@
30
33
  },
31
34
  "claims": [
32
35
  {
33
- "path": ["eu.europa.ec.eudi.pid.1", "age_over_18"],
36
+ "path": [
37
+ "eu.europa.ec.eudi.pid.1",
38
+ "age_over_18"
39
+ ],
34
40
  "intent_to_retain": false
35
41
  }
36
42
  ],
@@ -48,7 +54,14 @@
48
54
  ],
49
55
  "credential_sets": [
50
56
  {
51
- "options": [["pid-sd-jwt"], ["pid-mso-mdoc"]]
57
+ "options": [
58
+ [
59
+ "pid-sd-jwt"
60
+ ],
61
+ [
62
+ "pid-mso-mdoc"
63
+ ]
64
+ ]
52
65
  }
53
66
  ]
54
67
  },
@@ -1,8 +1,6 @@
1
1
  {
2
- "apiVersion": "eudiplo.io/presentation-config/v2",
3
- "kind": "PresentationConfig",
2
+ "$schema": "https://eudiplo.dev/schemas/v1/PresentationConfigFile.schema.json",
4
3
  "metadata": {
5
- "id": "pid",
6
4
  "generation": 1
7
5
  },
8
6
  "spec": {
@@ -1,112 +1,118 @@
1
1
  {
2
- "id": "580831bc-ef11-43f4-a3be-a2b6bf1b29a3",
3
- "description": "trust list for pid issuance",
4
- "keyChainId": "570852d7-7e7f-40af-a0e3-a6ebffd75ed0",
5
- "entities": [
6
- {
7
- "type": "internal",
8
- "issuerKeyChainId": "dbb65456-c358-46c1-bb5b-c777ef72c1d3",
9
- "revocationKeyChainId": "dbb65456-c358-46c1-bb5b-c777ef72c1d4",
10
- "info": {
11
- "name": "PID Provider",
12
- "locale": "en"
13
- }
14
- }
15
- ],
16
- "data": {
17
- "ListAndSchemeInformation": {
18
- "LoTEVersionIdentifier": 1,
19
- "LoTESequenceNumber": 2,
20
- "LoTEType": "http://uri.etsi.org/19602/LoTEType/EUEAAProvidersList",
21
- "StatusDeterminationApproach": "http://uri.etsi.org/19602/EUEAAProvidersList/StatusDetn/EU",
22
- "SchemeTypeCommunityRules": [
23
- {
24
- "locale": "en",
25
- "uriValue": "http://uri.etsi.org/19602/EUEAAProviders/schemerules/EU"
2
+ "$schema": "https://eudiplo.dev/schemas/v1/TrustListConfigFile.schema.json",
3
+ "metadata": {
4
+ "generation": 1
5
+ },
6
+ "spec": {
7
+ "id": "580831bc-ef11-43f4-a3be-a2b6bf1b29a3",
8
+ "description": "trust list for pid issuance",
9
+ "keyChainId": "570852d7-7e7f-40af-a0e3-a6ebffd75ed0",
10
+ "entities": [
11
+ {
12
+ "type": "internal",
13
+ "issuerKeyChainId": "dbb65456-c358-46c1-bb5b-c777ef72c1d3",
14
+ "revocationKeyChainId": "dbb65456-c358-46c1-bb5b-c777ef72c1d4",
15
+ "info": {
16
+ "name": "PID Provider",
17
+ "locale": "en"
26
18
  }
27
- ],
28
- "SchemeTerritory": "EU",
29
- "NextUpdate": "2026-02-01T09:40:29.793Z",
30
- "SchemeOperatorName": [
19
+ }
20
+ ],
21
+ "data": {
22
+ "ListAndSchemeInformation": {
23
+ "LoTEVersionIdentifier": 1,
24
+ "LoTESequenceNumber": 2,
25
+ "LoTEType": "http://uri.etsi.org/19602/LoTEType/EUEAAProvidersList",
26
+ "StatusDeterminationApproach": "http://uri.etsi.org/19602/EUEAAProvidersList/StatusDetn/EU",
27
+ "SchemeTypeCommunityRules": [
28
+ {
29
+ "locale": "en",
30
+ "uriValue": "http://uri.etsi.org/19602/EUEAAProviders/schemerules/EU"
31
+ }
32
+ ],
33
+ "SchemeTerritory": "EU",
34
+ "NextUpdate": "2026-02-01T09:40:29.793Z",
35
+ "SchemeOperatorName": [
36
+ {
37
+ "locale": "en",
38
+ "value": "Root Tenant"
39
+ }
40
+ ],
41
+ "ListIssueDateTime": "2026-01-02T09:40:29.793Z"
42
+ },
43
+ "TrustedEntitiesList": [
31
44
  {
32
- "locale": "en",
33
- "value": "Root Tenant"
34
- }
35
- ],
36
- "ListIssueDateTime": "2026-01-02T09:40:29.793Z"
37
- },
38
- "TrustedEntitiesList": [
39
- {
40
- "TrustedEntityInformation": {
41
- "TEInformationURI": [
42
- {
43
- "locale": "en",
44
- "uriValue": "http://example.com/te-info"
45
- }
46
- ],
47
- "TEName": [
48
- {
49
- "locale": "en",
50
- "value": "PID Provider"
51
- }
52
- ],
53
- "TEAddress": {
54
- "TEElectronicAddress": [
45
+ "TrustedEntityInformation": {
46
+ "TEInformationURI": [
55
47
  {
56
48
  "locale": "en",
57
- "uriValue": "mailto:example@example.com"
49
+ "uriValue": "http://example.com/te-info"
58
50
  }
59
51
  ],
60
- "TEPostalAddress": [
52
+ "TEName": [
61
53
  {
62
- "Country": "DE",
63
54
  "locale": "en",
64
- "Locality": "",
65
- "PostalCode": "",
66
- "StreetAddress": ""
55
+ "value": "PID Provider"
67
56
  }
68
- ]
69
- }
70
- },
71
- "TrustedEntityServices": [
72
- {
73
- "ServiceInformation": {
74
- "ServiceTypeIdentifier": "http://uri.etsi.org/19602/SvcType/EAA/Issuance",
75
- "ServiceName": [
57
+ ],
58
+ "TEAddress": {
59
+ "TEElectronicAddress": [
76
60
  {
77
61
  "locale": "en",
78
- "value": "EAA-Issuance-Service"
62
+ "uriValue": "mailto:example@example.com"
79
63
  }
80
64
  ],
81
- "ServiceDigitalIdentity": {
82
- "X509Certificates": [
83
- {
84
- "val": "MIIBbzCCARagAwIBAgIBATAKBggqhkjOPQQDAjAWMRQwEgYDVQQDEwtSb290IFRlbmFudDAeFw0yNjAxMDIwOTIzMjJaFw0yNzAxMDIwOTIzMjJaMBYxFDASBgNVBAMTC1Jvb3QgVGVuYW50MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHHkkbUgKSkkqXmL8utl+TLWIg8CYQS4WPJ8j/nO44YzU0ljQtPeYS65wtAJklY2sDt9VbzKlHhl/ly67zk2NLKNVMFMwIgYDVR0RBBswGYIXc2VydmljZS5ldWRpLXdhbGxldC5kZXYwDgYDVR0PAQH/BAQDAgWgMB0GA1UdDgQWBBRvQX4DfNolj/xERsq6Mnn0LJ1LZDAKBggqhkjOPQQDAgNHADBEAiAv/7ZiDe2XT+7GNMQGWbEr+IakJ2Y5EMnur10iLIhVZQIgKrri3W2Bq2qSVyiF0w8v+NwM7Iej3vWwt95KZ2EZ1Cg="
85
- }
86
- ]
87
- }
88
- }
89
- },
90
- {
91
- "ServiceInformation": {
92
- "ServiceName": [
65
+ "TEPostalAddress": [
93
66
  {
67
+ "Country": "DE",
94
68
  "locale": "en",
95
- "value": "EAA-Revocation-Service"
69
+ "Locality": "",
70
+ "PostalCode": "",
71
+ "StreetAddress": ""
96
72
  }
97
- ],
98
- "ServiceTypeIdentifier": "http://uri.etsi.org/19602/SvcType/EAA/Revocation",
99
- "ServiceDigitalIdentity": {
100
- "X509Certificates": [
73
+ ]
74
+ }
75
+ },
76
+ "TrustedEntityServices": [
77
+ {
78
+ "ServiceInformation": {
79
+ "ServiceTypeIdentifier": "http://uri.etsi.org/19602/SvcType/EAA/Issuance",
80
+ "ServiceName": [
101
81
  {
102
- "val": "MIIBcDCCARagAwIBAgIBATAKBggqhkjOPQQDAjAWMRQwEgYDVQQDEwtSb290IFRlbmFudDAeFw0yNjAxMDIwODQwNDFaFw0yNzAxMDIwODQwNDFaMBYxFDASBgNVBAMTC1Jvb3QgVGVuYW50MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEjl97bi6xKezsht0gbbRpkprPE7Ib926KL7MCbnHtnoGNCEJmvdXuaZm86HO1S6T0+QgH8XyC+8FRNGssEDxkQKNVMFMwIgYDVR0RBBswGYIXc2VydmljZS5ldWRpLXdhbGxldC5kZXYwDgYDVR0PAQH/BAQDAgWgMB0GA1UdDgQWBBQ0c6zxfvAgXDu6ikUlMCge3Yn2LTAKBggqhkjOPQQDAgNIADBFAiEA2/XJ9iirNeYCewMScN2SoGa41T1trYmPfqyqV/BP8+8CIFzOX+GgcnGp4H6qJ3IMueeU8ujXeS3nTHKT6U2yONH6"
82
+ "locale": "en",
83
+ "value": "EAA-Issuance-Service"
103
84
  }
104
- ]
85
+ ],
86
+ "ServiceDigitalIdentity": {
87
+ "X509Certificates": [
88
+ {
89
+ "val": "MIIBbzCCARagAwIBAgIBATAKBggqhkjOPQQDAjAWMRQwEgYDVQQDEwtSb290IFRlbmFudDAeFw0yNjAxMDIwOTIzMjJaFw0yNzAxMDIwOTIzMjJaMBYxFDASBgNVBAMTC1Jvb3QgVGVuYW50MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHHkkbUgKSkkqXmL8utl+TLWIg8CYQS4WPJ8j/nO44YzU0ljQtPeYS65wtAJklY2sDt9VbzKlHhl/ly67zk2NLKNVMFMwIgYDVR0RBBswGYIXc2VydmljZS5ldWRpLXdhbGxldC5kZXYwDgYDVR0PAQH/BAQDAgWgMB0GA1UdDgQWBBRvQX4DfNolj/xERsq6Mnn0LJ1LZDAKBggqhkjOPQQDAgNHADBEAiAv/7ZiDe2XT+7GNMQGWbEr+IakJ2Y5EMnur10iLIhVZQIgKrri3W2Bq2qSVyiF0w8v+NwM7Iej3vWwt95KZ2EZ1Cg="
90
+ }
91
+ ]
92
+ }
93
+ }
94
+ },
95
+ {
96
+ "ServiceInformation": {
97
+ "ServiceName": [
98
+ {
99
+ "locale": "en",
100
+ "value": "EAA-Revocation-Service"
101
+ }
102
+ ],
103
+ "ServiceTypeIdentifier": "http://uri.etsi.org/19602/SvcType/EAA/Revocation",
104
+ "ServiceDigitalIdentity": {
105
+ "X509Certificates": [
106
+ {
107
+ "val": "MIIBcDCCARagAwIBAgIBATAKBggqhkjOPQQDAjAWMRQwEgYDVQQDEwtSb290IFRlbmFudDAeFw0yNjAxMDIwODQwNDFaFw0yNzAxMDIwODQwNDFaMBYxFDASBgNVBAMTC1Jvb3QgVGVuYW50MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEjl97bi6xKezsht0gbbRpkprPE7Ib926KL7MCbnHtnoGNCEJmvdXuaZm86HO1S6T0+QgH8XyC+8FRNGssEDxkQKNVMFMwIgYDVR0RBBswGYIXc2VydmljZS5ldWRpLXdhbGxldC5kZXYwDgYDVR0PAQH/BAQDAgWgMB0GA1UdDgQWBBQ0c6zxfvAgXDu6ikUlMCge3Yn2LTAKBggqhkjOPQQDAgNIADBFAiEA2/XJ9iirNeYCewMScN2SoGa41T1trYmPfqyqV/BP8+8CIFzOX+GgcnGp4H6qJ3IMueeU8ujXeS3nTHKT6U2yONH6"
108
+ }
109
+ ]
110
+ }
105
111
  }
106
112
  }
107
- }
108
- ]
109
- }
110
- ]
113
+ ]
114
+ }
115
+ ]
116
+ }
111
117
  }
112
- }
118
+ }
@@ -1,9 +1,15 @@
1
1
  {
2
+ "$schema": "https://eudiplo.dev/schemas/v1/WebhookEndpointConfigFile.schema.json",
3
+ "metadata": {
4
+ "generation": 1
5
+ },
6
+ "spec": {
2
7
  "id": "notification",
3
8
  "name": "Notification Webhook",
4
9
  "description": "Receives credential issuance lifecycle events",
5
10
  "url": "${WEBHOOK_NOTIFICATION_URL:http://localhost:8787}",
6
11
  "auth": {
7
- "type": "none"
12
+ "type": "none"
8
13
  }
9
- }
14
+ }
15
+ }
@@ -2,33 +2,56 @@
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "./AttributeProviderConfigFile.schema.json",
4
4
  "title": "AttributeProviderConfigFile",
5
- "description": "An attribute-provider configuration file in legacy payload or versioned-envelope form.",
5
+ "description": "Configuration file identified by its $schema URL.",
6
6
  "oneOf": [
7
- {
8
- "$ref": "./CreateAttributeProviderDto.schema.json"
9
- },
10
7
  {
11
8
  "type": "object",
12
9
  "properties": {
13
- "apiVersion": {
14
- "type": "string",
15
- "const": "eudiplo.io/attribute-provider/v1"
16
- },
17
- "kind": {
10
+ "$schema": {
18
11
  "type": "string",
19
- "const": "AttributeProvider"
12
+ "const": "https://eudiplo.dev/schemas/v1/AttributeProviderConfigFile.schema.json"
20
13
  },
21
14
  "metadata": {
22
- "$ref": "./ConfigDocumentMetadata.schema.json"
15
+ "type": "object",
16
+ "properties": {
17
+ "generation": {
18
+ "type": "integer",
19
+ "minimum": 1,
20
+ "description": "Monotonically increasing configuration generation."
21
+ },
22
+ "ownership": {
23
+ "type": "string",
24
+ "enum": [
25
+ "unmanaged",
26
+ "file-managed"
27
+ ],
28
+ "description": "Requested ownership recorded when the document is applied."
29
+ }
30
+ },
31
+ "additionalProperties": false
23
32
  },
24
33
  "spec": {
25
- "$ref": "./CreateAttributeProviderDto.schema.json"
34
+ "allOf": [
35
+ {
36
+ "$ref": "./CreateAttributeProviderDto.schema.json"
37
+ },
38
+ {
39
+ "type": "object",
40
+ "required": [
41
+ "id"
42
+ ],
43
+ "properties": {
44
+ "id": {
45
+ "type": "string",
46
+ "minLength": 1
47
+ }
48
+ }
49
+ }
50
+ ]
26
51
  }
27
52
  },
28
53
  "required": [
29
- "apiVersion",
30
- "kind",
31
- "metadata",
54
+ "$schema",
32
55
  "spec"
33
56
  ],
34
57
  "additionalProperties": false
@@ -2,33 +2,56 @@
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "./ClientConfigFile.schema.json",
4
4
  "title": "ClientConfigFile",
5
- "description": "A client configuration file in legacy payload or versioned-envelope form.",
5
+ "description": "Configuration file identified by its $schema URL.",
6
6
  "oneOf": [
7
- {
8
- "$ref": "./CreateClientDto.schema.json"
9
- },
10
7
  {
11
8
  "type": "object",
12
9
  "properties": {
13
- "apiVersion": {
14
- "type": "string",
15
- "const": "eudiplo.io/client/v1"
16
- },
17
- "kind": {
10
+ "$schema": {
18
11
  "type": "string",
19
- "const": "Client"
12
+ "const": "https://eudiplo.dev/schemas/v1/ClientConfigFile.schema.json"
20
13
  },
21
14
  "metadata": {
22
- "$ref": "./ConfigDocumentMetadata.schema.json"
15
+ "type": "object",
16
+ "properties": {
17
+ "generation": {
18
+ "type": "integer",
19
+ "minimum": 1,
20
+ "description": "Monotonically increasing configuration generation."
21
+ },
22
+ "ownership": {
23
+ "type": "string",
24
+ "enum": [
25
+ "unmanaged",
26
+ "file-managed"
27
+ ],
28
+ "description": "Requested ownership recorded when the document is applied."
29
+ }
30
+ },
31
+ "additionalProperties": false
23
32
  },
24
33
  "spec": {
25
- "$ref": "./CreateClientDto.schema.json"
34
+ "allOf": [
35
+ {
36
+ "$ref": "./CreateClientDto.schema.json"
37
+ },
38
+ {
39
+ "type": "object",
40
+ "required": [
41
+ "clientId"
42
+ ],
43
+ "properties": {
44
+ "clientId": {
45
+ "type": "string",
46
+ "minLength": 1
47
+ }
48
+ }
49
+ }
50
+ ]
26
51
  }
27
52
  },
28
53
  "required": [
29
- "apiVersion",
30
- "kind",
31
- "metadata",
54
+ "$schema",
32
55
  "spec"
33
56
  ],
34
57
  "additionalProperties": false
@@ -2,33 +2,56 @@
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "./CredentialConfigFile.schema.json",
4
4
  "title": "CredentialConfigFile",
5
- "description": "A credential configuration file in legacy payload or versioned-envelope form.",
5
+ "description": "Configuration file identified by its $schema URL.",
6
6
  "oneOf": [
7
- {
8
- "$ref": "./CredentialConfigCreate.schema.json"
9
- },
10
7
  {
11
8
  "type": "object",
12
9
  "properties": {
13
- "apiVersion": {
14
- "type": "string",
15
- "const": "eudiplo.io/credential-config/v1"
16
- },
17
- "kind": {
10
+ "$schema": {
18
11
  "type": "string",
19
- "const": "CredentialConfig"
12
+ "const": "https://eudiplo.dev/schemas/v1/CredentialConfigFile.schema.json"
20
13
  },
21
14
  "metadata": {
22
- "$ref": "./ConfigDocumentMetadata.schema.json"
15
+ "type": "object",
16
+ "properties": {
17
+ "generation": {
18
+ "type": "integer",
19
+ "minimum": 1,
20
+ "description": "Monotonically increasing configuration generation."
21
+ },
22
+ "ownership": {
23
+ "type": "string",
24
+ "enum": [
25
+ "unmanaged",
26
+ "file-managed"
27
+ ],
28
+ "description": "Requested ownership recorded when the document is applied."
29
+ }
30
+ },
31
+ "additionalProperties": false
23
32
  },
24
33
  "spec": {
25
- "$ref": "./CredentialConfigCreate.schema.json"
34
+ "allOf": [
35
+ {
36
+ "$ref": "./CredentialConfigCreate.schema.json"
37
+ },
38
+ {
39
+ "type": "object",
40
+ "required": [
41
+ "id"
42
+ ],
43
+ "properties": {
44
+ "id": {
45
+ "type": "string",
46
+ "minLength": 1
47
+ }
48
+ }
49
+ }
50
+ ]
26
51
  }
27
52
  },
28
53
  "required": [
29
- "apiVersion",
30
- "kind",
31
- "metadata",
54
+ "$schema",
32
55
  "spec"
33
56
  ],
34
57
  "additionalProperties": false
@@ -2,30 +2,42 @@
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "./IssuanceConfigFile.schema.json",
4
4
  "title": "IssuanceConfigFile",
5
- "description": "An issuance configuration file in legacy payload or versioned-envelope form.",
5
+ "description": "Configuration file identified by its $schema URL.",
6
6
  "oneOf": [
7
- {
8
- "$ref": "./IssuanceConfig.schema.json"
9
- },
10
7
  {
11
8
  "type": "object",
12
9
  "properties": {
13
- "apiVersion": {
14
- "type": "string",
15
- "const": "eudiplo.io/issuance-config/v2"
16
- },
17
- "kind": {
10
+ "$schema": {
18
11
  "type": "string",
19
- "const": "IssuanceConfig"
12
+ "const": "https://eudiplo.dev/schemas/v1/IssuanceConfigFile.schema.json"
20
13
  },
21
14
  "metadata": {
22
- "$ref": "./ConfigDocumentMetadata.schema.json"
15
+ "type": "object",
16
+ "properties": {
17
+ "generation": {
18
+ "type": "integer",
19
+ "minimum": 1,
20
+ "description": "Monotonically increasing configuration generation."
21
+ },
22
+ "ownership": {
23
+ "type": "string",
24
+ "enum": [
25
+ "unmanaged",
26
+ "file-managed"
27
+ ],
28
+ "description": "Requested ownership recorded when the document is applied."
29
+ }
30
+ },
31
+ "additionalProperties": false
23
32
  },
24
33
  "spec": {
25
34
  "$ref": "./IssuanceConfig.schema.json"
26
35
  }
27
36
  },
28
- "required": ["apiVersion", "kind", "metadata", "spec"],
37
+ "required": [
38
+ "$schema",
39
+ "spec"
40
+ ],
29
41
  "additionalProperties": false
30
42
  }
31
43
  ]