@serve.zone/interfaces 31.9.0 → 32.0.0
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.
- package/.smartconfig.json +1 -0
- package/changelog.md +467 -0
- package/dist_ts/00_commitinfo_data.js +3 -3
- package/dist_ts/appstore/types.d.ts +4 -6
- package/dist_ts/appstore/types.js +5 -5
- package/dist_ts/data/backup.d.ts +3 -26
- package/dist_ts/data/cluster.d.ts +36 -11
- package/dist_ts/data/cluster.js +33 -22
- package/dist_ts/data/clusteringress.d.ts +8 -0
- package/dist_ts/data/clusteringress.js +13 -8
- package/dist_ts/data/clusternode.d.ts +121 -74
- package/dist_ts/data/clusternode.js +109 -132
- package/dist_ts/data/coremail.d.ts +3 -7
- package/dist_ts/data/coremail.js +2 -2
- package/dist_ts/data/coremail.runtime.d.ts +0 -1
- package/dist_ts/data/coremail.runtime.js +5 -22
- package/dist_ts/data/deploymentadoption.d.ts +0 -2
- package/dist_ts/data/deploymentadoption.js +40 -6
- package/dist_ts/data/deploymentoperation.js +16 -3
- package/dist_ts/data/deploymentpreflight.d.ts +0 -2
- package/dist_ts/data/deploymentpreflight.js +1 -1
- package/dist_ts/data/immutableimage.d.ts +38 -21
- package/dist_ts/data/immutableimage.js +45 -5
- package/dist_ts/data/index.d.ts +1 -1
- package/dist_ts/data/isolatedrestore.d.ts +139 -21
- package/dist_ts/data/isolatedrestore.golden.d.ts +0 -1
- package/dist_ts/data/isolatedrestore.golden.js +6 -9
- package/dist_ts/data/isolatedrestore.js +176 -40
- package/dist_ts/data/mail.d.ts +1 -1
- package/dist_ts/data/networkaddressplan.d.ts +8 -8
- package/dist_ts/data/networkaddressplan.js +4 -4
- package/dist_ts/data/networkauthority.d.ts +20 -22
- package/dist_ts/data/networkauthority.js +26 -28
- package/dist_ts/data/networkcredential.d.ts +10 -10
- package/dist_ts/data/networkcredential.js +16 -16
- package/dist_ts/data/networkdelivery.d.ts +18 -18
- package/dist_ts/data/networkdelivery.js +16 -16
- package/dist_ts/data/networklease.d.ts +18 -7
- package/dist_ts/data/networklease.js +29 -7
- package/dist_ts/data/networknode.d.ts +2 -2
- package/dist_ts/data/networkprojection.d.ts +59 -60
- package/dist_ts/data/networkprojection.js +53 -57
- package/dist_ts/data/networkprotection.d.ts +27 -28
- package/dist_ts/data/networkprotection.js +36 -36
- package/dist_ts/data/networkrouter.d.ts +11 -11
- package/dist_ts/data/networkrouter.js +1 -1
- package/dist_ts/data/networksigning.d.ts +16 -18
- package/dist_ts/data/networksigning.js +20 -21
- package/dist_ts/data/nodecredential.d.ts +4 -6
- package/dist_ts/data/nodeenrollment.d.ts +35 -40
- package/dist_ts/data/nodeenrollment.js +57 -72
- package/dist_ts/data/privatenetwork.d.ts +21 -24
- package/dist_ts/data/privatenetwork.js +39 -54
- package/dist_ts/data/runtimeassignment.d.ts +50 -34
- package/dist_ts/data/runtimeassignment.js +79 -45
- package/dist_ts/data/runtimeconfig.d.ts +21 -22
- package/dist_ts/data/runtimeconfig.js +24 -24
- package/dist_ts/data/runtimesession.d.ts +100 -62
- package/dist_ts/data/runtimesession.js +98 -79
- package/dist_ts/data/runtimeterminalreceipt.d.ts +28 -29
- package/dist_ts/data/runtimeterminalreceipt.js +42 -42
- package/dist_ts/data/secret.d.ts +18 -25
- package/dist_ts/data/secret.js +12 -52
- package/dist_ts/data/servicecredential.d.ts +14 -16
- package/dist_ts/data/servicecredential.js +17 -28
- package/dist_ts/data/serviceruntime.d.ts +7 -7
- package/dist_ts/data/serviceruntime.js +4 -4
- package/dist_ts/data/sparknodereport.d.ts +27 -14
- package/dist_ts/data/sparknodereport.js +35 -28
- package/dist_ts/data/webpush.d.ts +0 -1
- package/dist_ts/index.d.ts +2 -1
- package/dist_ts/index.js +3 -2
- package/dist_ts/platform/objectstorageretention.d.ts +21 -24
- package/dist_ts/platform/objectstorageretention.js +6 -18
- package/dist_ts/platform/storage.d.ts +1 -3
- package/dist_ts/platform/storagemigration.d.ts +0 -7
- package/dist_ts/platform/storagemigration.golden.d.ts +0 -1
- package/dist_ts/platform/storagemigration.golden.js +8 -12
- package/dist_ts/platform/storagemigration.js +6 -51
- package/dist_ts/platform/types.d.ts +2 -2
- package/dist_ts/private/canonicaljson.d.ts +9 -1
- package/dist_ts/private/canonicaljson.js +14 -2
- package/dist_ts/private/dataproperties.d.ts +62 -0
- package/dist_ts/private/dataproperties.js +117 -0
- package/dist_ts/private/networkcontract.d.ts +10 -10
- package/dist_ts/private/networkcontract.js +1 -1
- package/dist_ts/private/releaseversion.d.ts +37 -0
- package/dist_ts/private/releaseversion.js +48 -0
- package/dist_ts/private/runtimepolicy.d.ts +2 -2
- package/dist_ts/private/runtimepolicy.js +1 -1
- package/dist_ts/private/tokenlist.d.ts +9 -0
- package/dist_ts/private/tokenlist.js +23 -0
- package/dist_ts/protocol.d.ts +137 -0
- package/dist_ts/protocol.js +255 -0
- package/dist_ts/requests/admin.d.ts +8 -8
- package/dist_ts/requests/backup.d.ts +102 -112
- package/dist_ts/requests/cluster.d.ts +10 -10
- package/dist_ts/requests/clusteringress.d.ts +9 -0
- package/dist_ts/requests/clusteringress.js +1 -1
- package/dist_ts/requests/config.d.ts +3 -3
- package/dist_ts/requests/corestore.d.ts +0 -3
- package/dist_ts/requests/corestore.js +5 -9
- package/dist_ts/requests/network.d.ts +30 -30
- package/dist_ts/requests/node.d.ts +15 -28
- package/dist_ts/requests/pallet.d.ts +13 -13
- package/dist_ts/requests/runtimesession.d.ts +53 -41
- package/dist_ts/requests/secret.d.ts +4 -5
- package/dist_ts/requests/secret.js +1 -5
- package/dist_ts/runtime.corestore.d.ts +56 -74
- package/dist_ts/runtime.corestore.databaseexportpackage.d.ts +30 -36
- package/dist_ts/runtime.corestore.databaseexportpackage.golden.d.ts +11 -12
- package/dist_ts/runtime.corestore.databaseexportpackage.golden.js +54 -71
- package/dist_ts/runtime.corestore.databaseexportpackage.js +9 -25
- package/dist_ts/runtime.corestore.js +35 -135
- package/dist_ts/runtime.corestore.relay.js +2 -7
- package/dist_ts/runtime.d.ts +38 -48
- package/dist_ts/runtime.js +20 -77
- package/dist_ts/runtime.networkprojection.d.ts +4 -4
- package/dist_ts/runtime.networkprojection.js +18 -18
- package/dist_ts/runtime.workloadinit.d.ts +23 -24
- package/dist_ts/runtime.workloadinit.js +6 -13
- package/package.json +2 -2
- package/readme.md +421 -270
- package/ts/00_commitinfo_data.ts +3 -3
- package/ts/appstore/types.ts +4 -6
- package/ts/data/backup.ts +3 -38
- package/ts/data/cluster.ts +51 -34
- package/ts/data/clusteringress.ts +12 -12
- package/ts/data/clusternode.ts +204 -232
- package/ts/data/coremail.runtime.ts +4 -21
- package/ts/data/coremail.ts +3 -7
- package/ts/data/deploymentadoption.ts +46 -4
- package/ts/data/deploymentoperation.ts +16 -1
- package/ts/data/deploymentpreflight.ts +0 -2
- package/ts/data/immutableimage.ts +71 -24
- package/ts/data/index.ts +1 -1
- package/ts/data/isolatedrestore.golden.ts +5 -9
- package/ts/data/isolatedrestore.ts +339 -54
- package/ts/data/mail.ts +1 -1
- package/ts/data/networkaddressplan.ts +13 -13
- package/ts/data/networkauthority.ts +42 -46
- package/ts/data/networkcredential.ts +24 -24
- package/ts/data/networkdelivery.ts +27 -27
- package/ts/data/networklease.ts +40 -13
- package/ts/data/networknode.ts +2 -2
- package/ts/data/networkprojection.ts +119 -124
- package/ts/data/networkprotection.ts +54 -55
- package/ts/data/networkrouter.ts +14 -14
- package/ts/data/networksigning.ts +29 -32
- package/ts/data/nodecredential.ts +4 -6
- package/ts/data/nodeenrollment.ts +96 -114
- package/ts/data/privatenetwork.ts +58 -74
- package/ts/data/runtimeassignment.ts +143 -94
- package/ts/data/runtimeconfig.ts +45 -46
- package/ts/data/runtimesession.ts +185 -138
- package/ts/data/runtimeterminalreceipt.ts +72 -73
- package/ts/data/secret.ts +28 -76
- package/ts/data/servicecredential.ts +33 -43
- package/ts/data/serviceruntime.ts +11 -11
- package/ts/data/sparknodereport.ts +48 -36
- package/ts/data/webpush.ts +0 -1
- package/ts/index.ts +2 -0
- package/ts/platform/objectstorageretention.ts +36 -55
- package/ts/platform/storage.ts +1 -3
- package/ts/platform/storagemigration.golden.ts +7 -11
- package/ts/platform/storagemigration.ts +5 -55
- package/ts/platform/types.ts +2 -2
- package/ts/private/canonicaljson.ts +13 -1
- package/ts/private/dataproperties.ts +139 -0
- package/ts/private/networkcontract.ts +9 -9
- package/ts/private/releaseversion.ts +70 -0
- package/ts/private/runtimepolicy.ts +2 -2
- package/ts/private/tokenlist.ts +30 -0
- package/ts/protocol.ts +364 -0
- package/ts/requests/admin.ts +11 -11
- package/ts/requests/backup.ts +112 -117
- package/ts/requests/cluster.ts +13 -13
- package/ts/requests/clusteringress.ts +9 -0
- package/ts/requests/config.ts +3 -3
- package/ts/requests/corestore.ts +4 -16
- package/ts/requests/network.ts +40 -40
- package/ts/requests/node.ts +21 -38
- package/ts/requests/pallet.ts +17 -17
- package/ts/requests/runtimesession.ts +63 -51
- package/ts/requests/secret.ts +5 -10
- package/ts/runtime.corestore.databaseexportpackage.golden.ts +77 -95
- package/ts/runtime.corestore.databaseexportpackage.ts +51 -73
- package/ts/runtime.corestore.relay.ts +1 -10
- package/ts/runtime.corestore.ts +118 -268
- package/ts/runtime.networkprojection.ts +30 -30
- package/ts/runtime.ts +83 -158
- package/ts/runtime.workloadinit.ts +36 -48
- package/dist_ts/runtime.cloudlylegacydeploymentsettlement.d.ts +0 -902
- package/dist_ts/runtime.cloudlylegacydeploymentsettlement.golden.d.ts +0 -35
- package/dist_ts/runtime.cloudlylegacydeploymentsettlement.golden.js +0 -315
- package/dist_ts/runtime.cloudlylegacydeploymentsettlement.js +0 -3315
- package/dist_ts/runtime.cloudlylegacydeploymentsettlement.offlineexport.d.ts +0 -291
- package/dist_ts/runtime.cloudlylegacydeploymentsettlement.offlineexport.golden.d.ts +0 -30
- package/dist_ts/runtime.cloudlylegacydeploymentsettlement.offlineexport.golden.js +0 -408
- package/dist_ts/runtime.cloudlylegacydeploymentsettlement.offlineexport.js +0 -1126
- package/ts/runtime.cloudlylegacydeploymentsettlement.golden.ts +0 -421
- package/ts/runtime.cloudlylegacydeploymentsettlement.offlineexport.golden.ts +0 -510
- package/ts/runtime.cloudlylegacydeploymentsettlement.offlineexport.ts +0 -2470
- package/ts/runtime.cloudlylegacydeploymentsettlement.ts +0 -6630
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import * as plugins from './plugins.runtime.js';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { snapshotRuntimeNetworkNodeScope, snapshotRuntimeNetworkProjection, validateRuntimeNetworkProjection } from './data/networkprojection.js';
|
|
3
|
+
import { computeRuntimeNetworkSigningAuthorityDigest, runtimeNetworkSigningContract, snapshotRuntimeNetworkSigningAuthority, snapshotSignedRuntimeNetworkProjection } from './data/networksigning.js';
|
|
4
4
|
import { runtimeNetworkDnsLeaseRenewalContract, snapshotRuntimeNetworkDnsLeaseRenewal, snapshotSignedRuntimeNetworkDnsLeaseRenewal, validateRuntimeNetworkDnsLeaseRenewal } from './data/networklease.js';
|
|
5
5
|
import { captureNetwork, failNetwork, networkCanonical, networkEqual, networkReference, networkReferenceOf, networkSameScope, requireNetwork } from './private/networkcontract.js';
|
|
6
6
|
/** The private KeyObject is process-local. Persist only through the controller's encrypted secret store. */
|
|
7
|
-
export const
|
|
7
|
+
export const createRuntimeNetworkSigningKey = () => {
|
|
8
8
|
const pair = plugins.crypto.generateKeyPairSync('ed25519');
|
|
9
9
|
const jwk = pair.publicKey.export({ format: 'jwk' });
|
|
10
10
|
requireNetwork(jwk.kty === 'OKP' && jwk.crv === 'Ed25519' && typeof jwk.x === 'string');
|
|
11
11
|
return { publicKey: Buffer.from(jwk.x, 'base64url').toString('hex'), privateKey: pair.privateKey };
|
|
12
12
|
};
|
|
13
|
-
const projectionEnvelope = (authority, projection) => ({ domain:
|
|
13
|
+
const projectionEnvelope = (authority, projection) => ({ domain: runtimeNetworkSigningContract.signatureDomain, authority, projection });
|
|
14
14
|
const renewalEnvelope = (authority, renewal) => ({ domain: runtimeNetworkDnsLeaseRenewalContract.signatureDomain, authority, renewal });
|
|
15
15
|
const envelopeBytes = (envelope) => new TextEncoder().encode(networkCanonical(envelope));
|
|
16
16
|
/** A revoked revision has no key; any other must be intact and belong to the controller that owns the content. */
|
|
17
17
|
const liveKeyOf = async (authority, contentController) => {
|
|
18
18
|
const { publicKey } = authority;
|
|
19
19
|
requireNetwork(publicKey !== null && networkEqual(authority.controller, contentController)
|
|
20
|
-
&& authority.digest === await
|
|
20
|
+
&& authority.digest === await computeRuntimeNetworkSigningAuthorityDigest(authority));
|
|
21
21
|
return publicKey;
|
|
22
22
|
};
|
|
23
23
|
/** Sign as the authority's revision, and only with the private half of its live key. */
|
|
@@ -37,12 +37,12 @@ const requireSignedBy = async (trusted, signed, contentController, envelope) =>
|
|
|
37
37
|
requireNetwork(plugins.crypto.verify(null, envelopeBytes(envelope), key, Buffer.from(signed.signature, 'hex')));
|
|
38
38
|
};
|
|
39
39
|
/** Sign only validated complete state and a matching dedicated private key. */
|
|
40
|
-
export const
|
|
40
|
+
export const signRuntimeNetworkProjection = async (projectionValue, authorityValue, privateKey) => {
|
|
41
41
|
try {
|
|
42
|
-
const input =
|
|
43
|
-
const projection = await
|
|
42
|
+
const input = snapshotRuntimeNetworkProjection(projectionValue), authority = snapshotRuntimeNetworkSigningAuthority(authorityValue);
|
|
43
|
+
const projection = await validateRuntimeNetworkProjection(input);
|
|
44
44
|
const signed = await signAs(authority, privateKey, projection.controller, reference => projectionEnvelope(reference, projection));
|
|
45
|
-
return {
|
|
45
|
+
return { authority: signed.authority, projection, signature: signed.signature };
|
|
46
46
|
}
|
|
47
47
|
catch {
|
|
48
48
|
return failNetwork();
|
|
@@ -53,14 +53,14 @@ export const signRuntimeNetworkProjectionV1 = async (projectionValue, authorityV
|
|
|
53
53
|
* This verifies content/scope/signature only. The owner still performs atomic revision
|
|
54
54
|
* admission, live-session fencing, allocation barriers and conservative DNS time checks.
|
|
55
55
|
*/
|
|
56
|
-
export const
|
|
56
|
+
export const verifyRuntimeNetworkProjection = async (value, trustedAuthorityValue, trustedScopeValue) => {
|
|
57
57
|
try {
|
|
58
|
-
const signed =
|
|
59
|
-
const authority =
|
|
60
|
-
const trusted =
|
|
58
|
+
const signed = snapshotSignedRuntimeNetworkProjection(value);
|
|
59
|
+
const authority = snapshotRuntimeNetworkSigningAuthority(trustedAuthorityValue);
|
|
60
|
+
const trusted = snapshotRuntimeNetworkNodeScope(trustedScopeValue);
|
|
61
61
|
requireNetwork(networkSameScope(signed.projection, trusted));
|
|
62
62
|
await requireSignedBy(authority, signed, signed.projection.controller, projectionEnvelope(signed.authority, signed.projection));
|
|
63
|
-
await
|
|
63
|
+
await validateRuntimeNetworkProjection(signed.projection);
|
|
64
64
|
return signed;
|
|
65
65
|
}
|
|
66
66
|
catch {
|
|
@@ -70,7 +70,7 @@ export const verifyRuntimeNetworkProjectionV1 = async (value, trustedAuthorityVa
|
|
|
70
70
|
/** Sign only a validated renewal, with the same authority and key that sign this controller's projections. */
|
|
71
71
|
export const signRuntimeNetworkDnsLeaseRenewal = async (renewalValue, authorityValue, privateKey) => {
|
|
72
72
|
try {
|
|
73
|
-
const input = snapshotRuntimeNetworkDnsLeaseRenewal(renewalValue), authority =
|
|
73
|
+
const input = snapshotRuntimeNetworkDnsLeaseRenewal(renewalValue), authority = snapshotRuntimeNetworkSigningAuthority(authorityValue);
|
|
74
74
|
const renewal = await validateRuntimeNetworkDnsLeaseRenewal(input);
|
|
75
75
|
const signed = await signAs(authority, privateKey, renewal.controller, reference => renewalEnvelope(reference, renewal));
|
|
76
76
|
return { authority: signed.authority, renewal, signature: signed.signature };
|
|
@@ -92,8 +92,8 @@ export const signRuntimeNetworkDnsLeaseRenewal = async (renewalValue, authorityV
|
|
|
92
92
|
export const verifyRuntimeNetworkDnsLeaseRenewal = async (value, trustedAuthorityValue, trustedScopeValue, projectionAuthorityValue) => {
|
|
93
93
|
try {
|
|
94
94
|
const signed = snapshotSignedRuntimeNetworkDnsLeaseRenewal(value);
|
|
95
|
-
const authority =
|
|
96
|
-
const trusted =
|
|
95
|
+
const authority = snapshotRuntimeNetworkSigningAuthority(trustedAuthorityValue);
|
|
96
|
+
const trusted = snapshotRuntimeNetworkNodeScope(trustedScopeValue);
|
|
97
97
|
const projectionAuthority = networkReference(captureNetwork(projectionAuthorityValue));
|
|
98
98
|
requireNetwork(networkSameScope(signed.renewal, trusted) && networkEqual(signed.authority, projectionAuthority));
|
|
99
99
|
await requireSignedBy(authority, signed, signed.renewal.controller, renewalEnvelope(signed.authority, signed.renewal));
|
|
@@ -104,4 +104,4 @@ export const verifyRuntimeNetworkDnsLeaseRenewal = async (value, trustedAuthorit
|
|
|
104
104
|
return failNetwork();
|
|
105
105
|
}
|
|
106
106
|
};
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS5uZXR3b3JrcHJvamVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3J1bnRpbWUubmV0d29ya3Byb2plY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxzQkFBc0IsQ0FBQztBQUdoRCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsZ0NBQWdDLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVsSixPQUFPLEVBQUUsMkNBQTJDLEVBQUUsNkJBQTZCLEVBQ2pGLHNDQUFzQyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFbkgsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLHFDQUFxQyxFQUNuRiwyQ0FBMkMsRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JILE9BQU8sRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFDeEcsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFekUsNEdBQTRHO0FBQzVHLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLEdBQWdFLEVBQUU7SUFDOUcsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMzRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELGNBQWMsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLEtBQUssSUFBSSxHQUFHLENBQUMsR0FBRyxLQUFLLFNBQVMsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUM7SUFDeEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsSUFBSSxD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
|
|
@@ -7,18 +7,18 @@ export declare const workloadInitReleaseContract: Readonly<{
|
|
|
7
7
|
readonly imageIndexMediaType: "application/vnd.oci.image.index.v1+json";
|
|
8
8
|
readonly statementType: "https://in-toto.io/Statement/v1";
|
|
9
9
|
readonly predicateType: "https://slsa.dev/provenance/v1";
|
|
10
|
-
readonly buildType: "https://serve.zone/buildtypes/workloadinit-gitzone-tsdocker
|
|
11
|
-
readonly builderId: "https://serve.zone/builders/workloadinit-manual-release
|
|
10
|
+
readonly buildType: "https://serve.zone/buildtypes/workloadinit-gitzone-tsdocker";
|
|
11
|
+
readonly builderId: "https://serve.zone/builders/workloadinit-manual-release";
|
|
12
12
|
readonly signatureFormat: "cosign-dsse-bundle-v0.3";
|
|
13
13
|
readonly signatureAlgorithm: "ecdsa-p256-sha256";
|
|
14
14
|
}>;
|
|
15
|
-
export interface
|
|
15
|
+
export interface IWorkloadInitBuildToolVersions {
|
|
16
16
|
dockerBuildx: string;
|
|
17
17
|
gitzone: string;
|
|
18
18
|
tsdocker: string;
|
|
19
19
|
tsrust: string;
|
|
20
20
|
}
|
|
21
|
-
export interface
|
|
21
|
+
export interface IWorkloadInitReleaseIdentity {
|
|
22
22
|
packageName: typeof workloadInitReleaseContract.packageName;
|
|
23
23
|
version: string;
|
|
24
24
|
sourceRepository: typeof workloadInitReleaseContract.sourceRepository;
|
|
@@ -29,7 +29,7 @@ export interface IWorkloadInitReleaseIdentityV1 {
|
|
|
29
29
|
imageRepository: typeof workloadInitReleaseContract.imageRepository;
|
|
30
30
|
imageTag: string;
|
|
31
31
|
}
|
|
32
|
-
export interface
|
|
32
|
+
export interface IWorkloadInitReleaseAttestationStatement {
|
|
33
33
|
_type: typeof workloadInitReleaseContract.statementType;
|
|
34
34
|
subject: [
|
|
35
35
|
{
|
|
@@ -68,7 +68,7 @@ export interface IWorkloadInitReleaseAttestationStatementV1 {
|
|
|
68
68
|
runDetails: {
|
|
69
69
|
builder: {
|
|
70
70
|
id: typeof workloadInitReleaseContract.builderId;
|
|
71
|
-
version:
|
|
71
|
+
version: IWorkloadInitBuildToolVersions;
|
|
72
72
|
};
|
|
73
73
|
};
|
|
74
74
|
};
|
|
@@ -77,7 +77,7 @@ export interface IWorkloadInitReleaseAttestationStatementV1 {
|
|
|
77
77
|
* Cloudly-created summary of a private DSSE verification. Shape and digest
|
|
78
78
|
* validation do not independently prove the signature or its trust policy.
|
|
79
79
|
*/
|
|
80
|
-
export interface
|
|
80
|
+
export interface IWorkloadInitCloudlyVerificationSummary {
|
|
81
81
|
signatureFormat: typeof workloadInitReleaseContract.signatureFormat;
|
|
82
82
|
signatureAlgorithm: typeof workloadInitReleaseContract.signatureAlgorithm;
|
|
83
83
|
signerKeyId: TSha256Digest;
|
|
@@ -89,41 +89,40 @@ export interface IWorkloadInitCloudlyVerificationSummaryV1 {
|
|
|
89
89
|
policyDigest: TSha256Digest;
|
|
90
90
|
verifiedAt: number;
|
|
91
91
|
}
|
|
92
|
-
export interface
|
|
92
|
+
export interface IWorkloadInitApprovedArtifact {
|
|
93
93
|
platform: TImmutableContainerPlatform;
|
|
94
94
|
workloadInitPlatformManifestDigest: TSha256Digest;
|
|
95
95
|
workloadInitExecutableDigest: TSha256Digest;
|
|
96
96
|
}
|
|
97
|
-
export interface
|
|
98
|
-
|
|
99
|
-
release: IWorkloadInitReleaseIdentityV1;
|
|
97
|
+
export interface IWorkloadInitReleaseApproval {
|
|
98
|
+
release: IWorkloadInitReleaseIdentity;
|
|
100
99
|
imageIndexMediaType: typeof workloadInitReleaseContract.imageIndexMediaType;
|
|
101
100
|
workloadInitImageIndexDigest: TSha256Digest;
|
|
102
|
-
artifacts: [
|
|
103
|
-
verificationSummary:
|
|
101
|
+
artifacts: [IWorkloadInitApprovedArtifact, IWorkloadInitApprovedArtifact];
|
|
102
|
+
verificationSummary: IWorkloadInitCloudlyVerificationSummary;
|
|
104
103
|
approvedAt: number;
|
|
105
104
|
approvalDigest: TSha256Digest;
|
|
106
105
|
}
|
|
107
|
-
export interface
|
|
108
|
-
|
|
106
|
+
export interface IWorkloadInitApprovalAuthorityReference {
|
|
107
|
+
/** Counts Cloudly's approval decisions; a later generation supersedes an earlier one. */
|
|
109
108
|
authorityGeneration: number;
|
|
110
109
|
approvalDigest: TSha256Digest;
|
|
111
110
|
}
|
|
112
|
-
export interface
|
|
113
|
-
approval:
|
|
111
|
+
export interface IWorkloadInitActiveApprovalAuthority extends IWorkloadInitApprovalAuthorityReference {
|
|
112
|
+
approval: IWorkloadInitReleaseApproval;
|
|
114
113
|
}
|
|
115
114
|
export declare const validateWorkloadInitReleaseIdentity: (releaseArg: unknown) => string[];
|
|
116
115
|
export declare const createWorkloadInitReleaseAttestationStatement: (inputArg: {
|
|
117
|
-
release:
|
|
116
|
+
release: IWorkloadInitReleaseIdentity;
|
|
118
117
|
workloadInitImageIndexDigest: TSha256Digest;
|
|
119
|
-
toolVersions:
|
|
120
|
-
}) =>
|
|
121
|
-
export declare const createWorkloadInitReleaseAttestationPayload: (statementArg:
|
|
122
|
-
export declare const computeWorkloadInitReleaseAttestationStatementDigest: (statementArg:
|
|
118
|
+
toolVersions: IWorkloadInitBuildToolVersions;
|
|
119
|
+
}) => IWorkloadInitReleaseAttestationStatement;
|
|
120
|
+
export declare const createWorkloadInitReleaseAttestationPayload: (statementArg: IWorkloadInitReleaseAttestationStatement) => Uint8Array;
|
|
121
|
+
export declare const computeWorkloadInitReleaseAttestationStatementDigest: (statementArg: IWorkloadInitReleaseAttestationStatement) => Promise<TSha256Digest>;
|
|
123
122
|
export declare const validateWorkloadInitReleaseAttestationStatement: (statementArg: unknown) => string[];
|
|
124
123
|
export declare const validateWorkloadInitCloudlyVerificationSummary: (summaryArg: unknown) => string[];
|
|
125
|
-
export declare const createWorkloadInitReleaseApprovalDigestInput: (approvalArg:
|
|
126
|
-
export declare const computeWorkloadInitReleaseApprovalDigest: (approvalArg:
|
|
124
|
+
export declare const createWorkloadInitReleaseApprovalDigestInput: (approvalArg: IWorkloadInitReleaseApproval) => string;
|
|
125
|
+
export declare const computeWorkloadInitReleaseApprovalDigest: (approvalArg: IWorkloadInitReleaseApproval) => Promise<TSha256Digest>;
|
|
127
126
|
export declare const validateWorkloadInitReleaseApproval: (approvalArg: unknown) => Promise<string[]>;
|
|
128
127
|
export declare const validateWorkloadInitApprovalAuthorityReference: (referenceArg: unknown) => string[];
|
|
129
128
|
export declare const validateWorkloadInitActiveApprovalAuthority: (authorityArg: unknown) => Promise<string[]>;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { isSha256Digest } from './data/immutableimage.js';
|
|
2
|
+
import { hasExactKeys } from './private/dataproperties.js';
|
|
2
3
|
export const workloadInitReleaseContract = Object.freeze({
|
|
3
4
|
packageName: '@serve.zone/workloadinit',
|
|
4
5
|
sourceRepository: 'https://code.foss.global/serve.zone/workloadinit.git',
|
|
@@ -7,8 +8,8 @@ export const workloadInitReleaseContract = Object.freeze({
|
|
|
7
8
|
imageIndexMediaType: 'application/vnd.oci.image.index.v1+json',
|
|
8
9
|
statementType: 'https://in-toto.io/Statement/v1',
|
|
9
10
|
predicateType: 'https://slsa.dev/provenance/v1',
|
|
10
|
-
buildType: 'https://serve.zone/buildtypes/workloadinit-gitzone-tsdocker
|
|
11
|
-
builderId: 'https://serve.zone/builders/workloadinit-manual-release
|
|
11
|
+
buildType: 'https://serve.zone/buildtypes/workloadinit-gitzone-tsdocker',
|
|
12
|
+
builderId: 'https://serve.zone/builders/workloadinit-manual-release',
|
|
12
13
|
signatureFormat: 'cosign-dsse-bundle-v0.3',
|
|
13
14
|
signatureAlgorithm: 'ecdsa-p256-sha256',
|
|
14
15
|
});
|
|
@@ -17,7 +18,6 @@ const gitRevisionRegex = /^[a-f0-9]{40}$/;
|
|
|
17
18
|
const bareSha256Regex = /^[a-f0-9]{64}$/;
|
|
18
19
|
const toolVersionRegex = /^[A-Za-z0-9][A-Za-z0-9.+_-]{0,63}$/;
|
|
19
20
|
const isRecord = (valueArg) => (Boolean(valueArg) && typeof valueArg === 'object' && !Array.isArray(valueArg));
|
|
20
|
-
const hasExactKeys = (valueArg, keysArg) => JSON.stringify(Object.keys(valueArg).sort()) === JSON.stringify([...keysArg].sort());
|
|
21
21
|
const isPositiveSafeInteger = (valueArg) => (Number.isSafeInteger(valueArg) && valueArg > 0);
|
|
22
22
|
const computeSha256 = async (inputArg) => {
|
|
23
23
|
const digest = new Uint8Array(await globalThis.crypto.subtle.digest('SHA-256', new Uint8Array(inputArg)));
|
|
@@ -272,7 +272,6 @@ const canonicalVerificationSummary = (summaryArg) => ({
|
|
|
272
272
|
verifiedAt: summaryArg.verifiedAt,
|
|
273
273
|
});
|
|
274
274
|
export const createWorkloadInitReleaseApprovalDigestInput = (approvalArg) => JSON.stringify({
|
|
275
|
-
schemaVersion: approvalArg.schemaVersion,
|
|
276
275
|
purpose: 'serve.zone/workloadinit-release-approval',
|
|
277
276
|
release: canonicalReleaseIdentity(approvalArg.release),
|
|
278
277
|
imageIndexMediaType: approvalArg.imageIndexMediaType,
|
|
@@ -286,7 +285,6 @@ export const validateWorkloadInitReleaseApproval = async (approvalArg) => {
|
|
|
286
285
|
try {
|
|
287
286
|
if (!isRecord(approvalArg)
|
|
288
287
|
|| !hasExactKeys(approvalArg, [
|
|
289
|
-
'schemaVersion',
|
|
290
288
|
'release',
|
|
291
289
|
'imageIndexMediaType',
|
|
292
290
|
'workloadInitImageIndexDigest',
|
|
@@ -301,8 +299,7 @@ export const validateWorkloadInitReleaseApproval = async (approvalArg) => {
|
|
|
301
299
|
...validateWorkloadInitReleaseIdentity(approvalArg.release),
|
|
302
300
|
...validateWorkloadInitCloudlyVerificationSummary(approvalArg.verificationSummary),
|
|
303
301
|
];
|
|
304
|
-
if (approvalArg.
|
|
305
|
-
|| approvalArg.imageIndexMediaType !== workloadInitReleaseContract.imageIndexMediaType
|
|
302
|
+
if (approvalArg.imageIndexMediaType !== workloadInitReleaseContract.imageIndexMediaType
|
|
306
303
|
|| typeof approvalArg.workloadInitImageIndexDigest !== 'string'
|
|
307
304
|
|| !isSha256Digest(approvalArg.workloadInitImageIndexDigest)
|
|
308
305
|
|| !isPositiveSafeInteger(approvalArg.approvedAt)
|
|
@@ -362,15 +359,13 @@ export const validateWorkloadInitReleaseApproval = async (approvalArg) => {
|
|
|
362
359
|
export const validateWorkloadInitApprovalAuthorityReference = (referenceArg) => {
|
|
363
360
|
if (!isRecord(referenceArg)
|
|
364
361
|
|| !hasExactKeys(referenceArg, [
|
|
365
|
-
'authorityVersion',
|
|
366
362
|
'authorityGeneration',
|
|
367
363
|
'approvalDigest',
|
|
368
364
|
])) {
|
|
369
365
|
return ['WorkloadInit approval authority reference must use its exact schema'];
|
|
370
366
|
}
|
|
371
367
|
const errors = [];
|
|
372
|
-
if (referenceArg.
|
|
373
|
-
|| !isPositiveSafeInteger(referenceArg.authorityGeneration)
|
|
368
|
+
if (!isPositiveSafeInteger(referenceArg.authorityGeneration)
|
|
374
369
|
|| typeof referenceArg.approvalDigest !== 'string'
|
|
375
370
|
|| !isSha256Digest(referenceArg.approvalDigest)) {
|
|
376
371
|
errors.push('WorkloadInit approval authority reference fields must be canonical');
|
|
@@ -380,7 +375,6 @@ export const validateWorkloadInitApprovalAuthorityReference = (referenceArg) =>
|
|
|
380
375
|
export const validateWorkloadInitActiveApprovalAuthority = async (authorityArg) => {
|
|
381
376
|
if (!isRecord(authorityArg)
|
|
382
377
|
|| !hasExactKeys(authorityArg, [
|
|
383
|
-
'authorityVersion',
|
|
384
378
|
'authorityGeneration',
|
|
385
379
|
'approvalDigest',
|
|
386
380
|
'approval',
|
|
@@ -388,7 +382,6 @@ export const validateWorkloadInitActiveApprovalAuthority = async (authorityArg)
|
|
|
388
382
|
return ['active WorkloadInit approval authority must use its exact schema'];
|
|
389
383
|
}
|
|
390
384
|
const reference = {
|
|
391
|
-
authorityVersion: authorityArg.authorityVersion,
|
|
392
385
|
authorityGeneration: authorityArg.authorityGeneration,
|
|
393
386
|
approvalDigest: authorityArg.approvalDigest,
|
|
394
387
|
};
|
|
@@ -402,4 +395,4 @@ export const validateWorkloadInitActiveApprovalAuthority = async (authorityArg)
|
|
|
402
395
|
}
|
|
403
396
|
return errors;
|
|
404
397
|
};
|
|
405
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS53b3JrbG9hZGluaXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9ydW50aW1lLndvcmtsb2FkaW5pdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFMUQsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUN2RCxXQUFXLEVBQUUsMEJBQTBCO0lBQ3ZDLGdCQUFnQixFQUFFLHNEQUFzRDtJQUN4RSxhQUFhLEVBQUUsa0JBQWtCO0lBQ2pDLGVBQWUsRUFBRSx5QkFBeUI7SUFDMUMsbUJBQW1CLEVBQUUseUNBQXlDO0lBQzlELGFBQWEsRUFBRSxpQ0FBaUM7SUFDaEQsYUFBYSxFQUFFLGdDQUFnQztJQUMvQyxTQUFTLEVBQUUsZ0VBQWdFO0lBQzNFLFNBQVMsRUFBRSw0REFBNEQ7SUFDdkUsZUFBZSxFQUFFLHlCQUF5QjtJQUMxQyxrQkFBa0IsRUFBRSxtQkFBbUI7Q0FDL0IsQ0FBQyxDQUFDO0FBMkdaLE1BQU0sb0JBQW9CLEdBQUcscURBQXFELENBQUM7QUFDbkYsTUFBTSxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztBQUMxQyxNQUFNLGVBQWUsR0FBRyxnQkFBZ0IsQ0FBQztBQUN6QyxNQUFNLGdCQUFnQixHQUFHLG9DQUFvQyxDQUFDO0FBRTlELE1BQU0sUUFBUSxHQUFHLENBQUMsUUFBaUIsRUFBdUMsRUFBRSxDQUFDLENBQzNFLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUM5RSxDQUFDO0FBRUYsTUFBTSxZQUFZLEdBQUcsQ0FDbkIsUUFBaUMsRUFDakMsT0FBaUIsRUFDUixFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFD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
|
|
398
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS53b3JrbG9hZGluaXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9ydW50aW1lLndvcmtsb2FkaW5pdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTNELE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDdkQsV0FBVyxFQUFFLDBCQUEwQjtJQUN2QyxnQkFBZ0IsRUFBRSxzREFBc0Q7SUFDeEUsYUFBYSxFQUFFLGtCQUFrQjtJQUNqQyxlQUFlLEVBQUUseUJBQXlCO0lBQzFDLG1CQUFtQixFQUFFLHlDQUF5QztJQUM5RCxhQUFhLEVBQUUsaUNBQWlDO0lBQ2hELGFBQWEsRUFBRSxnQ0FBZ0M7SUFDL0MsU0FBUyxFQUFFLDZEQUE2RDtJQUN4RSxTQUFTLEVBQUUseURBQXlEO0lBQ3BFLGVBQWUsRUFBRSx5QkFBeUI7SUFDMUMsa0JBQWtCLEVBQUUsbUJBQW1CO0NBQy9CLENBQUMsQ0FBQztBQTBHWixNQUFNLG9CQUFvQixHQUFHLHFEQUFxRCxDQUFDO0FBQ25GLE1BQU0sZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUM7QUFDMUMsTUFBTSxlQUFlLEdBQUcsZ0JBQWdCLENBQUM7QUFDekMsTUFBTSxnQkFBZ0IsR0FBRyxvQ0FBb0MsQ0FBQztBQUU5RCxNQUFNLFFBQVEsR0FBRyxDQUFDLFFBQWlCLEVBQXVDLEVBQUUsQ0FBQyxDQUMzRSxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksT0FBTyxRQUFRLEtBQUssUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FDOUUsQ0FBQztBQUVGLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxRQUFpQixFQUFzQixFQUFFLENBQUMsQ0FDdkUsTUFBTSxDQUFDLGFBQWEs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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@serve.zone/interfaces",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "32.0.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Shared TypeScript interfaces and TypedRequest contracts for the serve.zone ecosystem.",
|
|
6
6
|
"exports": {
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"@tsclass/tsclass": "^9.5.1"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"@git.zone/tsbuild": "^4.
|
|
30
|
+
"@git.zone/tsbuild": "^4.5.0",
|
|
31
31
|
"@git.zone/tsdoc": "^2.2.0",
|
|
32
32
|
"@git.zone/tsrun": "^2.0.6",
|
|
33
33
|
"@git.zone/tstest": "6.1.1",
|