@serve.zone/interfaces 31.9.0 → 32.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 (203) hide show
  1. package/changelog.md +476 -0
  2. package/dist_ts/00_commitinfo_data.js +3 -3
  3. package/dist_ts/appstore/types.d.ts +4 -6
  4. package/dist_ts/appstore/types.js +5 -5
  5. package/dist_ts/data/backup.d.ts +3 -26
  6. package/dist_ts/data/cluster.d.ts +36 -11
  7. package/dist_ts/data/cluster.js +33 -22
  8. package/dist_ts/data/clusteringress.d.ts +8 -0
  9. package/dist_ts/data/clusteringress.js +13 -8
  10. package/dist_ts/data/clusternode.d.ts +121 -74
  11. package/dist_ts/data/clusternode.js +109 -132
  12. package/dist_ts/data/coremail.d.ts +3 -7
  13. package/dist_ts/data/coremail.js +2 -2
  14. package/dist_ts/data/coremail.runtime.d.ts +0 -1
  15. package/dist_ts/data/coremail.runtime.js +5 -22
  16. package/dist_ts/data/deploymentadoption.d.ts +0 -2
  17. package/dist_ts/data/deploymentadoption.js +40 -6
  18. package/dist_ts/data/deploymentoperation.js +16 -3
  19. package/dist_ts/data/deploymentpreflight.d.ts +0 -2
  20. package/dist_ts/data/deploymentpreflight.js +1 -1
  21. package/dist_ts/data/immutableimage.d.ts +38 -21
  22. package/dist_ts/data/immutableimage.js +45 -5
  23. package/dist_ts/data/index.d.ts +1 -1
  24. package/dist_ts/data/isolatedrestore.d.ts +139 -21
  25. package/dist_ts/data/isolatedrestore.golden.d.ts +0 -1
  26. package/dist_ts/data/isolatedrestore.golden.js +6 -9
  27. package/dist_ts/data/isolatedrestore.js +176 -40
  28. package/dist_ts/data/mail.d.ts +1 -1
  29. package/dist_ts/data/networkaddressplan.d.ts +8 -8
  30. package/dist_ts/data/networkaddressplan.js +4 -4
  31. package/dist_ts/data/networkauthority.d.ts +20 -22
  32. package/dist_ts/data/networkauthority.js +26 -28
  33. package/dist_ts/data/networkcredential.d.ts +10 -10
  34. package/dist_ts/data/networkcredential.js +16 -16
  35. package/dist_ts/data/networkdelivery.d.ts +18 -18
  36. package/dist_ts/data/networkdelivery.js +16 -16
  37. package/dist_ts/data/networklease.d.ts +18 -7
  38. package/dist_ts/data/networklease.js +29 -7
  39. package/dist_ts/data/networknode.d.ts +2 -2
  40. package/dist_ts/data/networkprojection.d.ts +59 -60
  41. package/dist_ts/data/networkprojection.js +53 -57
  42. package/dist_ts/data/networkprotection.d.ts +27 -28
  43. package/dist_ts/data/networkprotection.js +36 -36
  44. package/dist_ts/data/networkrouter.d.ts +11 -11
  45. package/dist_ts/data/networkrouter.js +1 -1
  46. package/dist_ts/data/networksigning.d.ts +16 -18
  47. package/dist_ts/data/networksigning.js +20 -21
  48. package/dist_ts/data/nodecredential.d.ts +4 -6
  49. package/dist_ts/data/nodeenrollment.d.ts +35 -40
  50. package/dist_ts/data/nodeenrollment.js +57 -72
  51. package/dist_ts/data/privatenetwork.d.ts +21 -24
  52. package/dist_ts/data/privatenetwork.js +39 -54
  53. package/dist_ts/data/runtimeassignment.d.ts +50 -34
  54. package/dist_ts/data/runtimeassignment.js +79 -45
  55. package/dist_ts/data/runtimeconfig.d.ts +21 -22
  56. package/dist_ts/data/runtimeconfig.js +24 -24
  57. package/dist_ts/data/runtimesession.d.ts +100 -62
  58. package/dist_ts/data/runtimesession.js +98 -79
  59. package/dist_ts/data/runtimeterminalreceipt.d.ts +28 -29
  60. package/dist_ts/data/runtimeterminalreceipt.js +42 -42
  61. package/dist_ts/data/secret.d.ts +18 -25
  62. package/dist_ts/data/secret.js +12 -52
  63. package/dist_ts/data/servicecredential.d.ts +14 -16
  64. package/dist_ts/data/servicecredential.js +17 -28
  65. package/dist_ts/data/serviceruntime.d.ts +7 -7
  66. package/dist_ts/data/serviceruntime.js +4 -4
  67. package/dist_ts/data/sparknodereport.d.ts +27 -14
  68. package/dist_ts/data/sparknodereport.js +35 -28
  69. package/dist_ts/data/webpush.d.ts +0 -1
  70. package/dist_ts/index.d.ts +2 -1
  71. package/dist_ts/index.js +3 -2
  72. package/dist_ts/platform/objectstorageretention.d.ts +21 -24
  73. package/dist_ts/platform/objectstorageretention.js +10 -17
  74. package/dist_ts/platform/storage.d.ts +1 -3
  75. package/dist_ts/platform/storagemigration.d.ts +0 -7
  76. package/dist_ts/platform/storagemigration.golden.d.ts +0 -1
  77. package/dist_ts/platform/storagemigration.golden.js +8 -12
  78. package/dist_ts/platform/storagemigration.js +6 -51
  79. package/dist_ts/platform/types.d.ts +2 -2
  80. package/dist_ts/private/canonicaljson.d.ts +9 -1
  81. package/dist_ts/private/canonicaljson.js +14 -2
  82. package/dist_ts/private/dataproperties.d.ts +62 -0
  83. package/dist_ts/private/dataproperties.js +117 -0
  84. package/dist_ts/private/networkcontract.d.ts +10 -10
  85. package/dist_ts/private/networkcontract.js +1 -1
  86. package/dist_ts/private/releaseversion.d.ts +37 -0
  87. package/dist_ts/private/releaseversion.js +48 -0
  88. package/dist_ts/private/runtimepolicy.d.ts +2 -2
  89. package/dist_ts/private/runtimepolicy.js +1 -1
  90. package/dist_ts/private/tokenlist.d.ts +9 -0
  91. package/dist_ts/private/tokenlist.js +23 -0
  92. package/dist_ts/protocol.d.ts +137 -0
  93. package/dist_ts/protocol.js +255 -0
  94. package/dist_ts/requests/admin.d.ts +8 -8
  95. package/dist_ts/requests/backup.d.ts +102 -112
  96. package/dist_ts/requests/cluster.d.ts +10 -10
  97. package/dist_ts/requests/clusteringress.d.ts +9 -0
  98. package/dist_ts/requests/clusteringress.js +1 -1
  99. package/dist_ts/requests/config.d.ts +3 -3
  100. package/dist_ts/requests/corestore.d.ts +0 -3
  101. package/dist_ts/requests/corestore.js +5 -9
  102. package/dist_ts/requests/network.d.ts +30 -30
  103. package/dist_ts/requests/node.d.ts +15 -28
  104. package/dist_ts/requests/pallet.d.ts +13 -13
  105. package/dist_ts/requests/runtimesession.d.ts +53 -41
  106. package/dist_ts/requests/secret.d.ts +4 -5
  107. package/dist_ts/requests/secret.js +1 -5
  108. package/dist_ts/runtime.corestore.d.ts +56 -74
  109. package/dist_ts/runtime.corestore.databaseexportpackage.d.ts +30 -36
  110. package/dist_ts/runtime.corestore.databaseexportpackage.golden.d.ts +11 -12
  111. package/dist_ts/runtime.corestore.databaseexportpackage.golden.js +54 -71
  112. package/dist_ts/runtime.corestore.databaseexportpackage.js +9 -25
  113. package/dist_ts/runtime.corestore.js +35 -135
  114. package/dist_ts/runtime.corestore.relay.js +2 -7
  115. package/dist_ts/runtime.d.ts +38 -48
  116. package/dist_ts/runtime.js +20 -77
  117. package/dist_ts/runtime.networkprojection.d.ts +4 -4
  118. package/dist_ts/runtime.networkprojection.js +18 -18
  119. package/dist_ts/runtime.workloadinit.d.ts +23 -24
  120. package/dist_ts/runtime.workloadinit.js +6 -13
  121. package/package.json +2 -2
  122. package/readme.md +421 -270
  123. package/ts/00_commitinfo_data.ts +3 -3
  124. package/ts/appstore/types.ts +4 -6
  125. package/ts/data/backup.ts +3 -38
  126. package/ts/data/cluster.ts +51 -34
  127. package/ts/data/clusteringress.ts +12 -12
  128. package/ts/data/clusternode.ts +204 -232
  129. package/ts/data/coremail.runtime.ts +4 -21
  130. package/ts/data/coremail.ts +3 -7
  131. package/ts/data/deploymentadoption.ts +46 -4
  132. package/ts/data/deploymentoperation.ts +16 -1
  133. package/ts/data/deploymentpreflight.ts +0 -2
  134. package/ts/data/immutableimage.ts +71 -24
  135. package/ts/data/index.ts +1 -1
  136. package/ts/data/isolatedrestore.golden.ts +5 -9
  137. package/ts/data/isolatedrestore.ts +339 -54
  138. package/ts/data/mail.ts +1 -1
  139. package/ts/data/networkaddressplan.ts +13 -13
  140. package/ts/data/networkauthority.ts +42 -46
  141. package/ts/data/networkcredential.ts +24 -24
  142. package/ts/data/networkdelivery.ts +27 -27
  143. package/ts/data/networklease.ts +40 -13
  144. package/ts/data/networknode.ts +2 -2
  145. package/ts/data/networkprojection.ts +119 -124
  146. package/ts/data/networkprotection.ts +54 -55
  147. package/ts/data/networkrouter.ts +14 -14
  148. package/ts/data/networksigning.ts +29 -32
  149. package/ts/data/nodecredential.ts +4 -6
  150. package/ts/data/nodeenrollment.ts +96 -114
  151. package/ts/data/privatenetwork.ts +58 -74
  152. package/ts/data/runtimeassignment.ts +143 -94
  153. package/ts/data/runtimeconfig.ts +45 -46
  154. package/ts/data/runtimesession.ts +185 -138
  155. package/ts/data/runtimeterminalreceipt.ts +72 -73
  156. package/ts/data/secret.ts +28 -76
  157. package/ts/data/servicecredential.ts +33 -43
  158. package/ts/data/serviceruntime.ts +11 -11
  159. package/ts/data/sparknodereport.ts +48 -36
  160. package/ts/data/webpush.ts +0 -1
  161. package/ts/index.ts +2 -0
  162. package/ts/platform/objectstorageretention.ts +40 -54
  163. package/ts/platform/storage.ts +1 -3
  164. package/ts/platform/storagemigration.golden.ts +7 -11
  165. package/ts/platform/storagemigration.ts +5 -55
  166. package/ts/platform/types.ts +2 -2
  167. package/ts/private/canonicaljson.ts +13 -1
  168. package/ts/private/dataproperties.ts +139 -0
  169. package/ts/private/networkcontract.ts +9 -9
  170. package/ts/private/releaseversion.ts +70 -0
  171. package/ts/private/runtimepolicy.ts +2 -2
  172. package/ts/private/tokenlist.ts +30 -0
  173. package/ts/protocol.ts +364 -0
  174. package/ts/requests/admin.ts +11 -11
  175. package/ts/requests/backup.ts +112 -117
  176. package/ts/requests/cluster.ts +13 -13
  177. package/ts/requests/clusteringress.ts +9 -0
  178. package/ts/requests/config.ts +3 -3
  179. package/ts/requests/corestore.ts +4 -16
  180. package/ts/requests/network.ts +40 -40
  181. package/ts/requests/node.ts +21 -38
  182. package/ts/requests/pallet.ts +17 -17
  183. package/ts/requests/runtimesession.ts +63 -51
  184. package/ts/requests/secret.ts +5 -10
  185. package/ts/runtime.corestore.databaseexportpackage.golden.ts +77 -95
  186. package/ts/runtime.corestore.databaseexportpackage.ts +51 -73
  187. package/ts/runtime.corestore.relay.ts +1 -10
  188. package/ts/runtime.corestore.ts +118 -268
  189. package/ts/runtime.networkprojection.ts +30 -30
  190. package/ts/runtime.ts +83 -158
  191. package/ts/runtime.workloadinit.ts +36 -48
  192. package/dist_ts/runtime.cloudlylegacydeploymentsettlement.d.ts +0 -902
  193. package/dist_ts/runtime.cloudlylegacydeploymentsettlement.golden.d.ts +0 -35
  194. package/dist_ts/runtime.cloudlylegacydeploymentsettlement.golden.js +0 -315
  195. package/dist_ts/runtime.cloudlylegacydeploymentsettlement.js +0 -3315
  196. package/dist_ts/runtime.cloudlylegacydeploymentsettlement.offlineexport.d.ts +0 -291
  197. package/dist_ts/runtime.cloudlylegacydeploymentsettlement.offlineexport.golden.d.ts +0 -30
  198. package/dist_ts/runtime.cloudlylegacydeploymentsettlement.offlineexport.golden.js +0 -408
  199. package/dist_ts/runtime.cloudlylegacydeploymentsettlement.offlineexport.js +0 -1126
  200. package/ts/runtime.cloudlylegacydeploymentsettlement.golden.ts +0 -421
  201. package/ts/runtime.cloudlylegacydeploymentsettlement.offlineexport.golden.ts +0 -510
  202. package/ts/runtime.cloudlylegacydeploymentsettlement.offlineexport.ts +0 -2470
  203. package/ts/runtime.cloudlylegacydeploymentsettlement.ts +0 -6630
@@ -1,408 +0,0 @@
1
- import { deepFreezeValue } from './private/canonicaljson.js';
2
- const oneSha = '1'.repeat(64);
3
- const twoSha = '2'.repeat(64);
4
- const stateA = `hmac-sha256:${'a'.repeat(64)}`;
5
- const stateB = `hmac-sha256:${'b'.repeat(64)}`;
6
- const sourceFile = {
7
- format: 'smartdb.database.export.v1',
8
- databaseName: 'cloudly',
9
- byteLength: 153,
10
- sha256: 'df3f7c55318a807851916057ba5fb410b87856b0821aa16140343274aee5e734',
11
- lineFeedTerminator: 'single-lf',
12
- };
13
- const transformedCoreFile = {
14
- ...sourceFile,
15
- sha256: '90a65ce8addfe673454d542f842b2551ff322c6f618c89603a2cedd374b5e958',
16
- };
17
- const completeOutputFile = {
18
- ...sourceFile,
19
- byteLength: 4249,
20
- sha256: '9321522806fa2957c169940990a4bb7072cec52fa65243eb5b4b570f9dbe9677',
21
- };
22
- const counts = {
23
- operationCount: 1,
24
- routeClaimsStabilized: 1,
25
- routeClaimsRemoved: 0,
26
- resourceClaimsRemoved: 1,
27
- };
28
- const classificationCounts = {
29
- 'image-recorded-not-current': 1,
30
- 'image-recorded-current-failed': 0,
31
- 'rolling-out-current-failed': 0,
32
- 'rolling-out-superseded': 0,
33
- };
34
- const plan = {
35
- schemaVersion: 1,
36
- kind: 'cloudly-legacy-deployment-settlement-offline-export-plan',
37
- operationId: 'offline-settlement-operation-1',
38
- settlementId: 'offline-settlement-1',
39
- sourceFile,
40
- effectiveAt: 1_700_000_100_000,
41
- sourceStateHmac: stateA,
42
- finalStateHmac: stateB,
43
- sourceCensus: {
44
- operations: 3,
45
- services: 2,
46
- images: 2,
47
- releases: 2,
48
- rolloutOperations: 1,
49
- routeClaims: 1,
50
- resourceClaims: 1,
51
- },
52
- entries: [{
53
- operationId: 'deployment-operation-1',
54
- serviceId: 'service-cloudly',
55
- sourceRevision: 4,
56
- sourceState: 'image-recorded',
57
- classification: 'image-recorded-not-current',
58
- finalRevision: 7,
59
- sourceDocumentHmac: `hmac-sha256:${'c'.repeat(64)}`,
60
- finalDocumentHmac: `hmac-sha256:${'d'.repeat(64)}`,
61
- routeClaimsStabilized: 1,
62
- routeClaimsRemoved: 0,
63
- resourceClaimsRemoved: 1,
64
- }],
65
- counts,
66
- classificationCounts,
67
- };
68
- const sourceAuthority = {
69
- schemaVersion: 1,
70
- kind: 'cloudly-legacy-deployment-settlement-offline-export-source-authority',
71
- role: 'source-rehearsal',
72
- operationId: plan.operationId,
73
- settlementId: plan.settlementId,
74
- authorityId: 'offline-source-authority-1',
75
- keyId: 'offline-source-key-1',
76
- keyVersion: 1,
77
- issuedAt: 1_700_000_000_000,
78
- expiresAt: 1_700_003_600_000,
79
- sourceFile,
80
- approvedSourceBackup: {
81
- backupId: 'backup-cloudly-approved-1',
82
- sourceServiceId: 'service-cloudly',
83
- snapshotId: 'snapshot-cloudly-approved-1',
84
- backupReceiptSha256: oneSha,
85
- },
86
- planSha256: 'cc42fb32c5d39200abc02a5c660bd8bca83d6125e5804c567194e867f37e3211',
87
- rehearsalRequestSha256: twoSha,
88
- };
89
- const sourceReference = {
90
- schemaVersion: 1,
91
- kind: 'cloudly-legacy-deployment-settlement-offline-export-authority-reference',
92
- role: 'source-rehearsal',
93
- operationId: plan.operationId,
94
- settlementId: plan.settlementId,
95
- authorityId: sourceAuthority.authorityId,
96
- keyId: sourceAuthority.keyId,
97
- keyVersion: 1,
98
- authorityMetadataSha256: 'd2a474d5525d8e8b0d2c34ab86132de0f0806bc8f7f32e38a588fb4ef19be672',
99
- };
100
- const rehearsalAttestation = {
101
- schemaVersion: 1,
102
- kind: 'cloudly-legacy-deployment-settlement-offline-export-rehearsal-attestation',
103
- sourceAuthority: sourceReference,
104
- plan,
105
- planSha256: sourceAuthority.planSha256,
106
- rehearsalRequestSha256: sourceAuthority.rehearsalRequestSha256,
107
- scratchAllocation: {
108
- purpose: 'scratch-rehearsal',
109
- rehearsalId: 'offline-rehearsal-1',
110
- allocationId: '3'.repeat(64),
111
- generation: 2,
112
- bindingSha256: '4'.repeat(64),
113
- receiptSha256: '5'.repeat(64),
114
- },
115
- outcome: 'transform-required',
116
- observedFinalStateHmac: plan.finalStateHmac,
117
- observedCounts: counts,
118
- observedClassificationCounts: classificationCounts,
119
- completedAt: 1_700_000_200_000,
120
- payloadSha256: 'e0608cd3d32ffad30e5e6f0081f9b4f291721466d73ce10b4d67bd6af3f8cbd0',
121
- mac: 'ZggVBSaNWSi9yHtkh7RT-9vpl1_k4AEDSXUeTL97klQ',
122
- };
123
- const productionTransformAuthority = {
124
- schemaVersion: 1,
125
- kind: 'cloudly-legacy-deployment-settlement-offline-export-production-transform-authority',
126
- role: 'production-transform',
127
- operationId: plan.operationId,
128
- settlementId: plan.settlementId,
129
- authorityId: 'offline-production-transform-authority-1',
130
- keyId: 'offline-production-transform-key-1',
131
- keyVersion: 1,
132
- issuedAt: 1_700_000_200_001,
133
- expiresAt: 1_700_003_600_000,
134
- sourceAuthority: sourceReference,
135
- authenticatedRehearsalAttestationSha256: '52ef3f14f1b49d0deecc106084d9a9738452a71b6814eccc276768915895dabb',
136
- };
137
- const productionReference = {
138
- schemaVersion: 1,
139
- kind: 'cloudly-legacy-deployment-settlement-offline-export-authority-reference',
140
- role: 'production-transform',
141
- operationId: plan.operationId,
142
- settlementId: plan.settlementId,
143
- authorityId: productionTransformAuthority.authorityId,
144
- keyId: productionTransformAuthority.keyId,
145
- keyVersion: 1,
146
- authorityMetadataSha256: 'e908f529a2b690ee1bdc543a41aa817923293f4fd6020e6dbdba3bd1ba06afc3',
147
- };
148
- const transformAuthorization = {
149
- schemaVersion: 1,
150
- kind: 'cloudly-legacy-deployment-settlement-offline-export-production-transform-authorization',
151
- authority: productionReference,
152
- sourceAuthority: sourceReference,
153
- attemptId: 'offline-transform-attempt-1',
154
- authenticatedRehearsalAttestationSha256: productionTransformAuthority.authenticatedRehearsalAttestationSha256,
155
- planSha256: sourceAuthority.planSha256,
156
- requestSha256: '6'.repeat(64),
157
- requestedAt: 1_700_000_200_002,
158
- authorizedAt: 1_700_000_200_003,
159
- payloadSha256: '4b26aab4acbcab2906f4dee3933993557f2d5041cce054b85218095ea36c9553',
160
- mac: 'zUsdWtWP-OCA5dxxiSgRE4SVyqlPgC45vIP2hRO9l5k',
161
- };
162
- const attemptJournal = {
163
- _id: 'offline-export-attempt-697623f8e74a47f3877ecb8d8498990177790714',
164
- schemaVersion: 1,
165
- kind: 'cloudly_legacy_deployment_settlement_export_attempt_v1',
166
- purpose: 'production-transform',
167
- operationId: plan.operationId,
168
- settlementId: plan.settlementId,
169
- attemptId: transformAuthorization.attemptId,
170
- sourceAuthority: sourceReference,
171
- productionTransformAuthority: productionReference,
172
- authenticatedRehearsalAttestationSha256: productionTransformAuthority.authenticatedRehearsalAttestationSha256,
173
- transformAuthorizationSha256: '623ef0de5347ba67bae37669aca258037bde3646c8d61212b49aa69a2ea10704',
174
- planSha256: sourceAuthority.planSha256,
175
- requestSha256: transformAuthorization.requestSha256,
176
- sourceFile,
177
- transformedCoreFile,
178
- sourceStateHmac: plan.sourceStateHmac,
179
- finalStateHmac: plan.finalStateHmac,
180
- outcome: 'transformed',
181
- counts,
182
- classificationCounts,
183
- completedAt: 1_700_000_200_004,
184
- mac: 'ie6_srw9DT1pKeY-89EByxuTB77pJnY6wtZ2oetoUn8',
185
- };
186
- const completeOutputReceipt = {
187
- schemaVersion: 1,
188
- kind: 'cloudly-legacy-deployment-settlement-offline-export-complete-output-receipt',
189
- authority: productionReference,
190
- sourceAuthority: sourceReference,
191
- operationId: plan.operationId,
192
- settlementId: plan.settlementId,
193
- attemptId: transformAuthorization.attemptId,
194
- journalSha256: '20db40edc61104b0d6d68fceaf6ec05c1df48da5dacb63f7b08040cd763c6e8c',
195
- transformedCoreFile,
196
- completeOutputFile,
197
- journalGrowthBytes: completeOutputFile.byteLength - transformedCoreFile.byteLength,
198
- completedAt: 1_700_000_200_005,
199
- payloadSha256: 'd4cd42199c816bb48a706be8c3d2a9e5b9ba2a1326b3ae092b1d97bf7335f407',
200
- mac: 'ADs3Fb6Zrjl91eJroSX6XXKxbbvqWWgq-lsr9VdeRr8',
201
- };
202
- const result = {
203
- schemaVersion: 1,
204
- kind: 'cloudly-legacy-deployment-settlement-offline-export-transform-result',
205
- status: 'completed',
206
- operationId: plan.operationId,
207
- settlementId: plan.settlementId,
208
- attemptId: transformAuthorization.attemptId,
209
- sourceAuthority: sourceReference,
210
- productionTransformAuthority: productionReference,
211
- planSha256: sourceAuthority.planSha256,
212
- requestSha256: transformAuthorization.requestSha256,
213
- completeOutputReceiptSha256: '47eea07082fa86f8bac5af82397321cffc55924f4487866a7b147d9c256e39f5',
214
- outcome: 'transformed',
215
- counts,
216
- classificationCounts,
217
- completedAt: completeOutputReceipt.completedAt,
218
- };
219
- const planCanonical = '{"classificationCounts":{"image-recorded-current-failed":0,"image-recorded-not-current":1,"rolling-out-current-failed":0,"rolling-out-superseded":0},'
220
- + '"counts":{"operationCount":1,"resourceClaimsRemoved":1,"routeClaimsRemoved":0,"routeClaimsStabilized":1},'
221
- + '"effectiveAt":1700000100000,"entries":[{"classification":"image-recorded-not-current",'
222
- + '"finalDocumentHmac":"hmac-sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd",'
223
- + '"finalRevision":7,"operationId":"deployment-operation-1","resourceClaimsRemoved":1,'
224
- + '"routeClaimsRemoved":0,"routeClaimsStabilized":1,"serviceId":"service-cloudly",'
225
- + '"sourceDocumentHmac":"hmac-sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",'
226
- + '"sourceRevision":4,"sourceState":"image-recorded"}],'
227
- + '"finalStateHmac":"hmac-sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",'
228
- + '"kind":"cloudly-legacy-deployment-settlement-offline-export-plan",'
229
- + '"operationId":"offline-settlement-operation-1","schemaVersion":1,'
230
- + '"settlementId":"offline-settlement-1","sourceCensus":{"images":2,"operations":3,'
231
- + '"releases":2,"resourceClaims":1,"rolloutOperations":1,"routeClaims":1,"services":2},'
232
- + '"sourceFile":{"byteLength":153,"databaseName":"cloudly",'
233
- + '"format":"smartdb.database.export.v1","lineFeedTerminator":"single-lf",'
234
- + '"sha256":"df3f7c55318a807851916057ba5fb410b87856b0821aa16140343274aee5e734"},'
235
- + '"sourceStateHmac":"hmac-sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}';
236
- const sourceReferenceCanonical = '{"authorityId":"offline-source-authority-1",'
237
- + '"authorityMetadataSha256":"d2a474d5525d8e8b0d2c34ab86132de0f0806bc8f7f32e38a588fb4ef19be672",'
238
- + '"keyId":"offline-source-key-1","keyVersion":1,'
239
- + '"kind":"cloudly-legacy-deployment-settlement-offline-export-authority-reference",'
240
- + '"operationId":"offline-settlement-operation-1","role":"source-rehearsal",'
241
- + '"schemaVersion":1,"settlementId":"offline-settlement-1"}';
242
- const productionReferenceCanonical = '{"authorityId":"offline-production-transform-authority-1",'
243
- + '"authorityMetadataSha256":"e908f529a2b690ee1bdc543a41aa817923293f4fd6020e6dbdba3bd1ba06afc3",'
244
- + '"keyId":"offline-production-transform-key-1","keyVersion":1,'
245
- + '"kind":"cloudly-legacy-deployment-settlement-offline-export-authority-reference",'
246
- + '"operationId":"offline-settlement-operation-1","role":"production-transform",'
247
- + '"schemaVersion":1,"settlementId":"offline-settlement-1"}';
248
- const sourceAuthorityCanonical = '{"approvedSourceBackup":{"backupId":"backup-cloudly-approved-1",'
249
- + '"backupReceiptSha256":"1111111111111111111111111111111111111111111111111111111111111111",'
250
- + '"snapshotId":"snapshot-cloudly-approved-1","sourceServiceId":"service-cloudly"},'
251
- + '"authorityId":"offline-source-authority-1","expiresAt":1700003600000,'
252
- + '"issuedAt":1700000000000,"keyId":"offline-source-key-1","keyVersion":1,'
253
- + '"kind":"cloudly-legacy-deployment-settlement-offline-export-source-authority",'
254
- + '"operationId":"offline-settlement-operation-1",'
255
- + '"planSha256":"cc42fb32c5d39200abc02a5c660bd8bca83d6125e5804c567194e867f37e3211",'
256
- + '"rehearsalRequestSha256":"2222222222222222222222222222222222222222222222222222222222222222",'
257
- + '"role":"source-rehearsal","schemaVersion":1,"settlementId":"offline-settlement-1",'
258
- + '"sourceFile":{"byteLength":153,"databaseName":"cloudly",'
259
- + '"format":"smartdb.database.export.v1","lineFeedTerminator":"single-lf",'
260
- + '"sha256":"df3f7c55318a807851916057ba5fb410b87856b0821aa16140343274aee5e734"}}';
261
- const rehearsalAttestationCanonical = '{"completedAt":1700000200000,'
262
- + '"kind":"cloudly-legacy-deployment-settlement-offline-export-rehearsal-attestation",'
263
- + '"mac":"ZggVBSaNWSi9yHtkh7RT-9vpl1_k4AEDSXUeTL97klQ",'
264
- + '"observedClassificationCounts":{"image-recorded-current-failed":0,'
265
- + '"image-recorded-not-current":1,"rolling-out-current-failed":0,"rolling-out-superseded":0},'
266
- + '"observedCounts":{"operationCount":1,"resourceClaimsRemoved":1,"routeClaimsRemoved":0,'
267
- + '"routeClaimsStabilized":1},'
268
- + '"observedFinalStateHmac":"hmac-sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",'
269
- + '"outcome":"transform-required",'
270
- + '"payloadSha256":"e0608cd3d32ffad30e5e6f0081f9b4f291721466d73ce10b4d67bd6af3f8cbd0",'
271
- + `"plan":${planCanonical},`
272
- + '"planSha256":"cc42fb32c5d39200abc02a5c660bd8bca83d6125e5804c567194e867f37e3211",'
273
- + '"rehearsalRequestSha256":"2222222222222222222222222222222222222222222222222222222222222222",'
274
- + '"schemaVersion":1,"scratchAllocation":{'
275
- + '"allocationId":"3333333333333333333333333333333333333333333333333333333333333333",'
276
- + '"bindingSha256":"4444444444444444444444444444444444444444444444444444444444444444",'
277
- + '"generation":2,"purpose":"scratch-rehearsal",'
278
- + '"receiptSha256":"5555555555555555555555555555555555555555555555555555555555555555",'
279
- + '"rehearsalId":"offline-rehearsal-1"},'
280
- + `"sourceAuthority":${sourceReferenceCanonical}}`;
281
- const productionTransformAuthorityCanonical = '{"authenticatedRehearsalAttestationSha256":'
282
- + '"52ef3f14f1b49d0deecc106084d9a9738452a71b6814eccc276768915895dabb",'
283
- + '"authorityId":"offline-production-transform-authority-1",'
284
- + '"expiresAt":1700003600000,"issuedAt":1700000200001,'
285
- + '"keyId":"offline-production-transform-key-1","keyVersion":1,'
286
- + '"kind":"cloudly-legacy-deployment-settlement-offline-export-production-transform-authority",'
287
- + '"operationId":"offline-settlement-operation-1","role":"production-transform",'
288
- + '"schemaVersion":1,"settlementId":"offline-settlement-1",'
289
- + `"sourceAuthority":${sourceReferenceCanonical}}`;
290
- const transformAuthorizationCanonical = '{"attemptId":"offline-transform-attempt-1",'
291
- + '"authenticatedRehearsalAttestationSha256":'
292
- + '"52ef3f14f1b49d0deecc106084d9a9738452a71b6814eccc276768915895dabb",'
293
- + `"authority":${productionReferenceCanonical},`
294
- + '"authorizedAt":1700000200003,'
295
- + '"kind":"cloudly-legacy-deployment-settlement-offline-export-production-transform-authorization",'
296
- + '"mac":"zUsdWtWP-OCA5dxxiSgRE4SVyqlPgC45vIP2hRO9l5k",'
297
- + '"payloadSha256":"4b26aab4acbcab2906f4dee3933993557f2d5041cce054b85218095ea36c9553",'
298
- + '"planSha256":"cc42fb32c5d39200abc02a5c660bd8bca83d6125e5804c567194e867f37e3211",'
299
- + '"requestSha256":"6666666666666666666666666666666666666666666666666666666666666666",'
300
- + '"requestedAt":1700000200002,"schemaVersion":1,'
301
- + `"sourceAuthority":${sourceReferenceCanonical}}`;
302
- const attemptJournalCanonical = '{"_id":"offline-export-attempt-697623f8e74a47f3877ecb8d8498990177790714",'
303
- + '"attemptId":"offline-transform-attempt-1",'
304
- + '"authenticatedRehearsalAttestationSha256":'
305
- + '"52ef3f14f1b49d0deecc106084d9a9738452a71b6814eccc276768915895dabb",'
306
- + '"classificationCounts":{"image-recorded-current-failed":0,"image-recorded-not-current":1,'
307
- + '"rolling-out-current-failed":0,"rolling-out-superseded":0},'
308
- + '"completedAt":1700000200004,"counts":{"operationCount":1,"resourceClaimsRemoved":1,'
309
- + '"routeClaimsRemoved":0,"routeClaimsStabilized":1},'
310
- + '"finalStateHmac":"hmac-sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",'
311
- + '"kind":"cloudly_legacy_deployment_settlement_export_attempt_v1",'
312
- + '"mac":"ie6_srw9DT1pKeY-89EByxuTB77pJnY6wtZ2oetoUn8",'
313
- + '"operationId":"offline-settlement-operation-1","outcome":"transformed",'
314
- + '"planSha256":"cc42fb32c5d39200abc02a5c660bd8bca83d6125e5804c567194e867f37e3211",'
315
- + `"productionTransformAuthority":${productionReferenceCanonical},`
316
- + '"purpose":"production-transform",'
317
- + '"requestSha256":"6666666666666666666666666666666666666666666666666666666666666666",'
318
- + '"schemaVersion":1,"settlementId":"offline-settlement-1",'
319
- + `"sourceAuthority":${sourceReferenceCanonical},`
320
- + '"sourceFile":{"byteLength":153,"databaseName":"cloudly",'
321
- + '"format":"smartdb.database.export.v1","lineFeedTerminator":"single-lf",'
322
- + '"sha256":"df3f7c55318a807851916057ba5fb410b87856b0821aa16140343274aee5e734"},'
323
- + '"sourceStateHmac":"hmac-sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",'
324
- + '"transformAuthorizationSha256":'
325
- + '"623ef0de5347ba67bae37669aca258037bde3646c8d61212b49aa69a2ea10704",'
326
- + '"transformedCoreFile":{"byteLength":153,"databaseName":"cloudly",'
327
- + '"format":"smartdb.database.export.v1","lineFeedTerminator":"single-lf",'
328
- + '"sha256":"90a65ce8addfe673454d542f842b2551ff322c6f618c89603a2cedd374b5e958"}}';
329
- const completeOutputReceiptCanonical = '{"attemptId":"offline-transform-attempt-1",'
330
- + `"authority":${productionReferenceCanonical},`
331
- + '"completeOutputFile":{"byteLength":4249,"databaseName":"cloudly",'
332
- + '"format":"smartdb.database.export.v1","lineFeedTerminator":"single-lf",'
333
- + '"sha256":"9321522806fa2957c169940990a4bb7072cec52fa65243eb5b4b570f9dbe9677"},'
334
- + '"completedAt":1700000200005,"journalGrowthBytes":4096,'
335
- + '"journalSha256":"20db40edc61104b0d6d68fceaf6ec05c1df48da5dacb63f7b08040cd763c6e8c",'
336
- + '"kind":"cloudly-legacy-deployment-settlement-offline-export-complete-output-receipt",'
337
- + '"mac":"ADs3Fb6Zrjl91eJroSX6XXKxbbvqWWgq-lsr9VdeRr8",'
338
- + '"operationId":"offline-settlement-operation-1",'
339
- + '"payloadSha256":"d4cd42199c816bb48a706be8c3d2a9e5b9ba2a1326b3ae092b1d97bf7335f407",'
340
- + '"schemaVersion":1,"settlementId":"offline-settlement-1",'
341
- + `"sourceAuthority":${sourceReferenceCanonical},`
342
- + '"transformedCoreFile":{"byteLength":153,"databaseName":"cloudly",'
343
- + '"format":"smartdb.database.export.v1","lineFeedTerminator":"single-lf",'
344
- + '"sha256":"90a65ce8addfe673454d542f842b2551ff322c6f618c89603a2cedd374b5e958"}}';
345
- const resultCanonical = '{"attemptId":"offline-transform-attempt-1",'
346
- + '"classificationCounts":{"image-recorded-current-failed":0,"image-recorded-not-current":1,'
347
- + '"rolling-out-current-failed":0,"rolling-out-superseded":0},'
348
- + '"completeOutputReceiptSha256":'
349
- + '"47eea07082fa86f8bac5af82397321cffc55924f4487866a7b147d9c256e39f5",'
350
- + '"completedAt":1700000200005,"counts":{"operationCount":1,"resourceClaimsRemoved":1,'
351
- + '"routeClaimsRemoved":0,"routeClaimsStabilized":1},'
352
- + '"kind":"cloudly-legacy-deployment-settlement-offline-export-transform-result",'
353
- + '"operationId":"offline-settlement-operation-1","outcome":"transformed",'
354
- + '"planSha256":"cc42fb32c5d39200abc02a5c660bd8bca83d6125e5804c567194e867f37e3211",'
355
- + `"productionTransformAuthority":${productionReferenceCanonical},`
356
- + '"requestSha256":"6666666666666666666666666666666666666666666666666666666666666666",'
357
- + '"schemaVersion":1,"settlementId":"offline-settlement-1",'
358
- + `"sourceAuthority":${sourceReferenceCanonical},"status":"completed"}`;
359
- export const cloudlyLegacyDeploymentSettlementOfflineExportGoldenVectors = deepFreezeValue({
360
- version: 1,
361
- sourceAuthority: {
362
- input: sourceAuthority,
363
- reference: sourceReference,
364
- canonical: sourceAuthorityCanonical,
365
- sha256: 'd2a474d5525d8e8b0d2c34ab86132de0f0806bc8f7f32e38a588fb4ef19be672',
366
- },
367
- plan: {
368
- input: plan,
369
- canonical: planCanonical,
370
- sha256: 'cc42fb32c5d39200abc02a5c660bd8bca83d6125e5804c567194e867f37e3211',
371
- },
372
- rehearsalAttestation: {
373
- input: rehearsalAttestation,
374
- canonical: rehearsalAttestationCanonical,
375
- sha256: '52ef3f14f1b49d0deecc106084d9a9738452a71b6814eccc276768915895dabb',
376
- hmac: 'ZggVBSaNWSi9yHtkh7RT-9vpl1_k4AEDSXUeTL97klQ',
377
- },
378
- productionTransformAuthority: {
379
- input: productionTransformAuthority,
380
- reference: productionReference,
381
- canonical: productionTransformAuthorityCanonical,
382
- sha256: 'e908f529a2b690ee1bdc543a41aa817923293f4fd6020e6dbdba3bd1ba06afc3',
383
- },
384
- transformAuthorization: {
385
- input: transformAuthorization,
386
- canonical: transformAuthorizationCanonical,
387
- sha256: '623ef0de5347ba67bae37669aca258037bde3646c8d61212b49aa69a2ea10704',
388
- hmac: 'zUsdWtWP-OCA5dxxiSgRE4SVyqlPgC45vIP2hRO9l5k',
389
- },
390
- attemptJournal: {
391
- input: attemptJournal,
392
- canonical: attemptJournalCanonical,
393
- sha256: '20db40edc61104b0d6d68fceaf6ec05c1df48da5dacb63f7b08040cd763c6e8c',
394
- hmac: 'ie6_srw9DT1pKeY-89EByxuTB77pJnY6wtZ2oetoUn8',
395
- },
396
- completeOutputReceipt: {
397
- input: completeOutputReceipt,
398
- canonical: completeOutputReceiptCanonical,
399
- sha256: '47eea07082fa86f8bac5af82397321cffc55924f4487866a7b147d9c256e39f5',
400
- hmac: 'ADs3Fb6Zrjl91eJroSX6XXKxbbvqWWgq-lsr9VdeRr8',
401
- },
402
- result: {
403
- input: result,
404
- canonical: resultCanonical,
405
- sha256: '014686d7f47b1d7361d895c503350ff18dd8218c5d78a047374fb09034591962',
406
- },
407
- });
408
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS5jbG91ZGx5bGVnYWN5ZGVwbG95bWVudHNldHRsZW1lbnQub2ZmbGluZWV4cG9ydC5nb2xkZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9ydW50aW1lLmNsb3VkbHlsZWdhY3lkZXBsb3ltZW50c2V0dGxlbWVudC5vZmZsaW5lZXhwb3J0LmdvbGRlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUEwRDdELE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDOUIsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUM5QixNQUFNLE1BQU0sR0FBRyxlQUFlLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQVcsQ0FBQztBQUN4RCxNQUFNLE1BQU0sR0FBRyxlQUFlLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQVcsQ0FBQztBQUV4RCxNQUFNLFVBQVUsR0FBRztJQUNqQixNQUFNLEVBQUUsNEJBQXFDO0lBQzdDLFlBQVksRUFBRSxTQUFTO0lBQ3ZCLFVBQVUsRUFBRSxHQUFHO0lBQ2YsTUFBTSxFQUFFLGtFQUFrRTtJQUMxRSxrQkFBa0IsRUFBRSxXQUFvQjtDQUN6QyxDQUFDO0FBQ0YsTUFBTSxtQkFBbUIsR0FBRztJQUMxQixHQUFHLFVBQVU7SUFDYixNQUFNLEVBQUUsa0VBQWtFO0NBQzNFLENBQUM7QUFDRixNQUFNLGtCQUFrQixHQUFHO0lBQ3pCLEdBQUcsVUFBVTtJQUNiLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLE1BQU0sRUFBRSxrRUFBa0U7Q0FDM0UsQ0FBQztBQUNGLE1BQU0sTUFBTSxHQUFHO0lBQ2IsY0FBYyxFQUFFLENBQUM7SUFDakIscUJBQXFCLEVBQUUsQ0FBQztJQUN4QixrQkFBa0IsRUFBRSxDQUFDO0lBQ3JCLHFC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