@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,22 +1,22 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
1
|
+
import type { IRuntimeAuthorityReference } from './runtimeassignment.js';
|
|
2
|
+
import type { IRuntimeSessionBinding } from './runtimesession.js';
|
|
3
|
+
import type { IRuntimeNetworkSigningAuthority, ISignedRuntimeNetworkProjection } from './networksigning.js';
|
|
4
4
|
import type { IRuntimeNetworkDnsLeaseRenewalReference, ISignedRuntimeNetworkDnsLeaseRenewal } from './networklease.js';
|
|
5
|
-
export interface
|
|
6
|
-
session:
|
|
7
|
-
authority:
|
|
5
|
+
export interface IApplyRuntimeNetworkSigningAuthorityRequest {
|
|
6
|
+
session: IRuntimeSessionBinding;
|
|
7
|
+
authority: IRuntimeNetworkSigningAuthority;
|
|
8
8
|
}
|
|
9
|
-
export interface
|
|
10
|
-
session:
|
|
11
|
-
signed:
|
|
9
|
+
export interface IApplyRuntimeNetworkProjectionRequest {
|
|
10
|
+
session: IRuntimeSessionBinding;
|
|
11
|
+
signed: ISignedRuntimeNetworkProjection;
|
|
12
12
|
}
|
|
13
13
|
/** Durable admission only. No packet, DNS, pool-activation, fencing or readiness assertion. */
|
|
14
|
-
export interface
|
|
14
|
+
export interface IApplyRuntimeNetworkAuthorityResponse {
|
|
15
15
|
status: 'accepted' | 'replay';
|
|
16
|
-
authority:
|
|
16
|
+
authority: IRuntimeAuthorityReference;
|
|
17
17
|
}
|
|
18
18
|
export interface IApplyRuntimeNetworkDnsLeaseRenewalRequest {
|
|
19
|
-
session:
|
|
19
|
+
session: IRuntimeSessionBinding;
|
|
20
20
|
signed: ISignedRuntimeNetworkDnsLeaseRenewal;
|
|
21
21
|
}
|
|
22
22
|
/** Durable admission only. It does not assert that the node converted the window or serves DNS. */
|
|
@@ -24,17 +24,17 @@ export interface IApplyRuntimeNetworkDnsLeaseRenewalResponse {
|
|
|
24
24
|
status: 'accepted' | 'replay';
|
|
25
25
|
renewal: IRuntimeNetworkDnsLeaseRenewalReference;
|
|
26
26
|
}
|
|
27
|
-
export declare const
|
|
28
|
-
export declare const
|
|
29
|
-
export declare const
|
|
27
|
+
export declare const snapshotApplyRuntimeNetworkSigningAuthorityRequest: (value: unknown) => IApplyRuntimeNetworkSigningAuthorityRequest;
|
|
28
|
+
export declare const snapshotApplyRuntimeNetworkProjectionRequest: (value: unknown) => IApplyRuntimeNetworkProjectionRequest;
|
|
29
|
+
export declare const snapshotApplyRuntimeNetworkAuthorityResponse: (value: unknown) => IApplyRuntimeNetworkAuthorityResponse;
|
|
30
30
|
export declare const snapshotApplyRuntimeNetworkDnsLeaseRenewalRequest: (value: unknown) => IApplyRuntimeNetworkDnsLeaseRenewalRequest;
|
|
31
31
|
export declare const snapshotApplyRuntimeNetworkDnsLeaseRenewalResponse: (value: unknown) => IApplyRuntimeNetworkDnsLeaseRenewalResponse;
|
|
32
32
|
/** trustedSessionValue must come from the receiving CURRENT physical connection. */
|
|
33
|
-
export declare const
|
|
33
|
+
export declare const bindApplyRuntimeNetworkSigningAuthorityRequest: (value: unknown, trustedSessionValue: unknown) => IApplyRuntimeNetworkSigningAuthorityRequest;
|
|
34
34
|
/** Content binding only. Verify signature with stored trust and atomically fence admission. */
|
|
35
|
-
export declare const
|
|
35
|
+
export declare const bindApplyRuntimeNetworkProjectionRequest: (value: unknown, trustedSessionValue: unknown) => IApplyRuntimeNetworkProjectionRequest;
|
|
36
36
|
/** Compare ACK with the exact SENT key or projection reference, never with a response-derived value. */
|
|
37
|
-
export declare const
|
|
37
|
+
export declare const bindApplyRuntimeNetworkAuthorityResponse: (value: unknown, sentReferenceValue: unknown) => IApplyRuntimeNetworkAuthorityResponse;
|
|
38
38
|
/**
|
|
39
39
|
* Content binding only; trustedSessionValue must come from the receiving CURRENT physical
|
|
40
40
|
* connection. A relay pushes a held renewal under the binding the node obtained itself, so this
|
|
@@ -1,46 +1,46 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { snapshotRuntimeSessionBinding } from './runtimesession.js';
|
|
2
|
+
import { snapshotRuntimeNetworkSigningAuthority, snapshotSignedRuntimeNetworkProjection } from './networksigning.js';
|
|
3
3
|
import { getRuntimeNetworkDnsLeaseRenewalReference, snapshotRuntimeNetworkDnsLeaseRenewal, snapshotRuntimeNetworkDnsLeaseRenewalReference, snapshotSignedRuntimeNetworkDnsLeaseRenewal } from './networklease.js';
|
|
4
4
|
import { captureNetwork, networkEqual, networkRecord, networkReference, networkReferenceOf, networkSafe, networkSameScope, requireNetwork } from '../private/networkcontract.js';
|
|
5
5
|
const admissionStatus = (value) => {
|
|
6
6
|
requireNetwork(value === 'accepted' || value === 'replay');
|
|
7
7
|
return value;
|
|
8
8
|
};
|
|
9
|
-
export const
|
|
9
|
+
export const snapshotApplyRuntimeNetworkSigningAuthorityRequest = (value) => networkSafe(() => {
|
|
10
10
|
const item = networkRecord(captureNetwork(value), ['session', 'authority']);
|
|
11
|
-
return { session:
|
|
11
|
+
return { session: snapshotRuntimeSessionBinding(item.session), authority: snapshotRuntimeNetworkSigningAuthority(item.authority) };
|
|
12
12
|
});
|
|
13
|
-
export const
|
|
13
|
+
export const snapshotApplyRuntimeNetworkProjectionRequest = (value) => networkSafe(() => {
|
|
14
14
|
const item = networkRecord(captureNetwork(value), ['session', 'signed']);
|
|
15
|
-
return { session:
|
|
15
|
+
return { session: snapshotRuntimeSessionBinding(item.session), signed: snapshotSignedRuntimeNetworkProjection(item.signed) };
|
|
16
16
|
});
|
|
17
|
-
export const
|
|
17
|
+
export const snapshotApplyRuntimeNetworkAuthorityResponse = (value) => networkSafe(() => {
|
|
18
18
|
const item = networkRecord(captureNetwork(value), ['status', 'authority']);
|
|
19
19
|
return { status: admissionStatus(item.status), authority: networkReference(item.authority) };
|
|
20
20
|
});
|
|
21
21
|
export const snapshotApplyRuntimeNetworkDnsLeaseRenewalRequest = (value) => networkSafe(() => {
|
|
22
22
|
const item = networkRecord(captureNetwork(value), ['session', 'signed']);
|
|
23
|
-
return { session:
|
|
23
|
+
return { session: snapshotRuntimeSessionBinding(item.session), signed: snapshotSignedRuntimeNetworkDnsLeaseRenewal(item.signed) };
|
|
24
24
|
});
|
|
25
25
|
export const snapshotApplyRuntimeNetworkDnsLeaseRenewalResponse = (value) => networkSafe(() => {
|
|
26
26
|
const item = networkRecord(captureNetwork(value), ['status', 'renewal']);
|
|
27
27
|
return { status: admissionStatus(item.status), renewal: snapshotRuntimeNetworkDnsLeaseRenewalReference(item.renewal) };
|
|
28
28
|
});
|
|
29
29
|
/** trustedSessionValue must come from the receiving CURRENT physical connection. */
|
|
30
|
-
export const
|
|
31
|
-
const request =
|
|
30
|
+
export const bindApplyRuntimeNetworkSigningAuthorityRequest = (value, trustedSessionValue) => networkSafe(() => {
|
|
31
|
+
const request = snapshotApplyRuntimeNetworkSigningAuthorityRequest(value), session = snapshotRuntimeSessionBinding(trustedSessionValue);
|
|
32
32
|
requireNetwork(networkEqual(request.session, session) && networkEqual(request.authority.controller, session.controller));
|
|
33
33
|
return request;
|
|
34
34
|
});
|
|
35
35
|
/** Content binding only. Verify signature with stored trust and atomically fence admission. */
|
|
36
|
-
export const
|
|
37
|
-
const request =
|
|
36
|
+
export const bindApplyRuntimeNetworkProjectionRequest = (value, trustedSessionValue) => networkSafe(() => {
|
|
37
|
+
const request = snapshotApplyRuntimeNetworkProjectionRequest(value), session = snapshotRuntimeSessionBinding(trustedSessionValue);
|
|
38
38
|
requireNetwork(networkEqual(request.session, session) && networkSameScope(request.signed.projection, session));
|
|
39
39
|
return request;
|
|
40
40
|
});
|
|
41
41
|
/** Compare ACK with the exact SENT key or projection reference, never with a response-derived value. */
|
|
42
|
-
export const
|
|
43
|
-
const response =
|
|
42
|
+
export const bindApplyRuntimeNetworkAuthorityResponse = (value, sentReferenceValue) => networkSafe(() => {
|
|
43
|
+
const response = snapshotApplyRuntimeNetworkAuthorityResponse(value);
|
|
44
44
|
const expected = networkReference(captureNetwork(sentReferenceValue));
|
|
45
45
|
requireNetwork(networkEqual(response.authority, networkReferenceOf(expected)));
|
|
46
46
|
return response;
|
|
@@ -52,7 +52,7 @@ export const bindApplyRuntimeNetworkAuthorityResponseV1 = (value, sentReferenceV
|
|
|
52
52
|
* stored trust, then admit and fence atomically.
|
|
53
53
|
*/
|
|
54
54
|
export const bindApplyRuntimeNetworkDnsLeaseRenewalRequest = (value, trustedSessionValue) => networkSafe(() => {
|
|
55
|
-
const request = snapshotApplyRuntimeNetworkDnsLeaseRenewalRequest(value), session =
|
|
55
|
+
const request = snapshotApplyRuntimeNetworkDnsLeaseRenewalRequest(value), session = snapshotRuntimeSessionBinding(trustedSessionValue);
|
|
56
56
|
requireNetwork(networkEqual(request.session, session) && networkSameScope(request.signed.renewal, session));
|
|
57
57
|
return request;
|
|
58
58
|
});
|
|
@@ -63,4 +63,4 @@ export const bindApplyRuntimeNetworkDnsLeaseRenewalResponse = (value, sentRenewa
|
|
|
63
63
|
requireNetwork(networkEqual(response.renewal, sent));
|
|
64
64
|
return response;
|
|
65
65
|
});
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya2RlbGl2ZXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvZGF0YS9uZXR3b3JrZGVsaXZlcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFcEUsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFckgsT0FBTyxFQUFFLHlDQUF5QyxFQUFFLHFDQUFxQyxFQUN2Riw4Q0FBOEMsRUFBRSwyQ0FBMkMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pILE9BQU8sRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQ3ZILGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBeUJ4RCxNQUFNLGVBQWUsR0FBRyxDQUFDLEtBQWMsRUFBeUIsRUFBRTtJQUNoRSxjQUFjLENBQUMsS0FBSyxLQUFLLFVBQVUsSUFBSSxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUM7SUFBQyxPQUFPLEtBQUssQ0FBQztBQUMzRSxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxrREFBa0QsR0FBRyxDQUFDLEtBQWMsRUFBK0MsRUFBRSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUU7SUFDbEosTUFBTSxJQUFJLEdBQUcsYUFBYSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQzVFLE9BQU8sRUFBRSxPQUFPLEVBQUUsNkJBQTZCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLFNBQVMsRUFBRSxzQ0FBc0MsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztBQUNySSxDQUFDLENBQUMsQ0FBQztBQUNILE1BQU0sQ0FBQyxNQUFNLDRDQUE0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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { TSha256Digest } from './immutableimage.js';
|
|
2
|
-
import type {
|
|
3
|
-
import type { IRuntimeNetworkDnsWindow,
|
|
2
|
+
import type { IRuntimeAuthorityReference } from './runtimeassignment.js';
|
|
3
|
+
import type { IRuntimeNetworkDnsWindow, IRuntimeNetworkNodeScope } from './networkprojection.js';
|
|
4
4
|
/**
|
|
5
5
|
* A fresh DNS window for one exact admitted projection, and nothing else.
|
|
6
6
|
*
|
|
@@ -10,8 +10,8 @@ import type { IRuntimeNetworkDnsWindow, IRuntimeNetworkNodeScopeV1 } from './net
|
|
|
10
10
|
* projection by exact reference, so it never joins the projection chain and stops being
|
|
11
11
|
* admissible the moment a successor projection is admitted.
|
|
12
12
|
*/
|
|
13
|
-
export interface IRuntimeNetworkDnsLeaseRenewal extends
|
|
14
|
-
projection:
|
|
13
|
+
export interface IRuntimeNetworkDnsLeaseRenewal extends IRuntimeNetworkNodeScope {
|
|
14
|
+
projection: IRuntimeAuthorityReference;
|
|
15
15
|
/** Orders the renewals of one projection. A receiver may skip sequences, never go back. */
|
|
16
16
|
sequence: number;
|
|
17
17
|
/**
|
|
@@ -23,13 +23,13 @@ export interface IRuntimeNetworkDnsLeaseRenewal extends IRuntimeNetworkNodeScope
|
|
|
23
23
|
}
|
|
24
24
|
/** Names one renewal without its window: what a receiver records and what an ACK repeats. */
|
|
25
25
|
export interface IRuntimeNetworkDnsLeaseRenewalReference {
|
|
26
|
-
projection:
|
|
26
|
+
projection: IRuntimeAuthorityReference;
|
|
27
27
|
sequence: number;
|
|
28
28
|
digest: TSha256Digest;
|
|
29
29
|
}
|
|
30
30
|
export interface ISignedRuntimeNetworkDnsLeaseRenewal {
|
|
31
31
|
/** The signing authority revision that also signs this controller's projections. */
|
|
32
|
-
authority:
|
|
32
|
+
authority: IRuntimeAuthorityReference;
|
|
33
33
|
renewal: IRuntimeNetworkDnsLeaseRenewal;
|
|
34
34
|
/** Ed25519 signature of the complete domain-separated envelope, lowercase hex. */
|
|
35
35
|
signature: string;
|
|
@@ -43,7 +43,7 @@ export interface ISignedRuntimeNetworkDnsLeaseRenewal {
|
|
|
43
43
|
export interface IHoldRuntimeNetworkDnsLeaseRenewalsRequest {
|
|
44
44
|
/** The relay's own socket names the cluster; one relay carries every node of it, so the node is named here. */
|
|
45
45
|
nodeId: string;
|
|
46
|
-
projection:
|
|
46
|
+
projection: IRuntimeAuthorityReference;
|
|
47
47
|
/** Ascending by sequence. Empty holds nothing for this node. */
|
|
48
48
|
renewals: ISignedRuntimeNetworkDnsLeaseRenewal[];
|
|
49
49
|
}
|
|
@@ -64,6 +64,17 @@ export declare const runtimeNetworkDnsLeaseRenewalContract: Readonly<{
|
|
|
64
64
|
readonly escrowRelease: "only-the-current-window-and-only-while-the-holder-has-no-controller-session";
|
|
65
65
|
readonly revocationLatency: "a-detached-cluster-keeps-dns-authority-until-its-last-held-window-ends";
|
|
66
66
|
}>;
|
|
67
|
+
/**
|
|
68
|
+
* Every reason a relay refuses to hold a run, in the words the refusal leads with.
|
|
69
|
+
*
|
|
70
|
+
* A hold is the one call whose outcome a controller cannot read back from its own records: the
|
|
71
|
+
* run lives in the relay's memory, so the refusal is the only statement about whether that node's
|
|
72
|
+
* windows are carried. The relay writes `<name>: <reason>` and the controller matches the name,
|
|
73
|
+
* which is why the names are stated here instead of being spelled out on both sides.
|
|
74
|
+
*/
|
|
75
|
+
export declare const holdRuntimeNetworkDnsLeaseRenewalsRefusals: readonly ["escrow-run-invalid", "escrow-node-not-carried", "escrow-run-foreign-session", "escrow-run-stale", "escrow-run-unordered", "escrow-cloudly-only"];
|
|
76
|
+
/** One of the reasons a relay answers instead of holding a run. */
|
|
77
|
+
export type THoldRuntimeNetworkDnsLeaseRenewalsRefusal = typeof holdRuntimeNetworkDnsLeaseRenewalsRefusals[number];
|
|
67
78
|
export declare const snapshotRuntimeNetworkDnsLeaseRenewal: (value: unknown) => IRuntimeNetworkDnsLeaseRenewal;
|
|
68
79
|
export declare const snapshotRuntimeNetworkDnsLeaseRenewalReference: (value: unknown) => IRuntimeNetworkDnsLeaseRenewalReference;
|
|
69
80
|
export declare const getRuntimeNetworkDnsLeaseRenewalReference: (value: IRuntimeNetworkDnsLeaseRenewal) => IRuntimeNetworkDnsLeaseRenewalReference;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { snapshotRuntimeNetworkNodeScope, snapshotRuntimeNetworkProjection, validateRuntimeNetworkProjection } from './networkprojection.js';
|
|
2
2
|
import { captureNetwork, failNetwork, networkCounter, networkDigest, networkDnsWindow, networkEffectiveDnsWindow, networkEqual, networkHash, networkId, networkList, networkMaximumDnsLeaseMs, networkRecord, networkReference, networkReferenceOf, networkRenewsProjection, networkSafe, networkSameScope, networkScope, networkSignature, requireNetwork } from '../private/networkcontract.js';
|
|
3
3
|
export const runtimeNetworkDnsLeaseRenewalContract = Object.freeze({
|
|
4
4
|
renewalDigestDomain: 'serve.zone/runtime-network-dns-lease-renewal',
|
|
@@ -14,6 +14,28 @@ export const runtimeNetworkDnsLeaseRenewalContract = Object.freeze({
|
|
|
14
14
|
escrowRelease: 'only-the-current-window-and-only-while-the-holder-has-no-controller-session',
|
|
15
15
|
revocationLatency: 'a-detached-cluster-keeps-dns-authority-until-its-last-held-window-ends',
|
|
16
16
|
});
|
|
17
|
+
/**
|
|
18
|
+
* Every reason a relay refuses to hold a run, in the words the refusal leads with.
|
|
19
|
+
*
|
|
20
|
+
* A hold is the one call whose outcome a controller cannot read back from its own records: the
|
|
21
|
+
* run lives in the relay's memory, so the refusal is the only statement about whether that node's
|
|
22
|
+
* windows are carried. The relay writes `<name>: <reason>` and the controller matches the name,
|
|
23
|
+
* which is why the names are stated here instead of being spelled out on both sides.
|
|
24
|
+
*/
|
|
25
|
+
export const holdRuntimeNetworkDnsLeaseRenewalsRefusals = Object.freeze([
|
|
26
|
+
/** The run itself is not a valid one, so nothing of it was held. */
|
|
27
|
+
'escrow-run-invalid',
|
|
28
|
+
/** This relay carries no session for that node; its renewals were not held. */
|
|
29
|
+
'escrow-node-not-carried',
|
|
30
|
+
/** The node's session changed while the run waited, so the run is for a session that is gone. */
|
|
31
|
+
'escrow-run-foreign-session',
|
|
32
|
+
/** The relay already holds a run that is provably newer for the same projection. */
|
|
33
|
+
'escrow-run-stale',
|
|
34
|
+
/** The run renews a projection that cannot be ordered against the held one. */
|
|
35
|
+
'escrow-run-unordered',
|
|
36
|
+
/** A node reached this method: a run is held only for the controller, over the relay's session. */
|
|
37
|
+
'escrow-cloudly-only',
|
|
38
|
+
]);
|
|
17
39
|
export const snapshotRuntimeNetworkDnsLeaseRenewal = (value) => networkSafe(() => {
|
|
18
40
|
const item = networkRecord(captureNetwork(value), ['controller', 'nodeId', 'runtimeNamespace', 'projection', 'sequence', 'dns', 'digest']);
|
|
19
41
|
return { ...networkScope(item), projection: networkReference(item.projection), sequence: networkCounter(item.sequence),
|
|
@@ -58,9 +80,9 @@ const isCurrentWindow = (window, now) => window.notBefore <= now && now < window
|
|
|
58
80
|
*/
|
|
59
81
|
export const getRuntimeNetworkEffectiveDnsWindow = async (projectionValue, renewalValue) => {
|
|
60
82
|
try {
|
|
61
|
-
const projectionInput =
|
|
83
|
+
const projectionInput = snapshotRuntimeNetworkProjection(projectionValue);
|
|
62
84
|
const renewalInput = renewalValue === null ? null : snapshotRuntimeNetworkDnsLeaseRenewal(renewalValue);
|
|
63
|
-
const projection = await
|
|
85
|
+
const projection = await validateRuntimeNetworkProjection(projectionInput);
|
|
64
86
|
const renewal = renewalInput === null ? null : await validateRuntimeNetworkDnsLeaseRenewal(renewalInput);
|
|
65
87
|
return networkEffectiveDnsWindow(projection, renewal);
|
|
66
88
|
}
|
|
@@ -86,12 +108,12 @@ export const admitRuntimeNetworkDnsLeaseRenewal = async (value, currentProjectio
|
|
|
86
108
|
try {
|
|
87
109
|
// Snapshot ALL caller-owned inputs before the first asynchronous operation.
|
|
88
110
|
const incoming = snapshotRuntimeNetworkDnsLeaseRenewal(value);
|
|
89
|
-
const projectionInput =
|
|
111
|
+
const projectionInput = snapshotRuntimeNetworkProjection(currentProjectionValue);
|
|
90
112
|
const previousInput = previousValue === null ? null : snapshotRuntimeNetworkDnsLeaseRenewal(previousValue);
|
|
91
|
-
const trusted =
|
|
113
|
+
const trusted = snapshotRuntimeNetworkNodeScope(trustedScopeValue);
|
|
92
114
|
const now = networkCounter(nowValue);
|
|
93
115
|
const renewal = await validateRuntimeNetworkDnsLeaseRenewal(incoming);
|
|
94
|
-
const projection = await
|
|
116
|
+
const projection = await validateRuntimeNetworkProjection(projectionInput);
|
|
95
117
|
requireNetwork(networkSameScope(projection, trusted) && networkRenewsProjection(renewal, projection));
|
|
96
118
|
const previous = previousInput === null ? null : await validateRuntimeNetworkDnsLeaseRenewal(previousInput);
|
|
97
119
|
if (previous !== null) {
|
|
@@ -156,4 +178,4 @@ export const bindHoldRuntimeNetworkDnsLeaseRenewalsResponse = (value, sentReques
|
|
|
156
178
|
requireNetwork(response.held === snapshotHoldRuntimeNetworkDnsLeaseRenewalsRequest(sentRequestValue).renewals.length);
|
|
157
179
|
return response;
|
|
158
180
|
});
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya2xlYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvZGF0YS9uZXR3b3JrbGVhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLGtDQUFrQyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkosT0FBTyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSx5QkFBeUIsRUFBRSxZQUFZLEVBQzVILFdBQVcsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLHdCQUF3QixFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFDbEgsdUJBQXVCLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQXdEaEosTUFBTSxDQUFDLE1BQU0scUNBQXFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUNqRSxtQkFBbUIsRUFBRSw4Q0FBOEM7SUFDbkUsZUFBZSxFQUFFLHdEQUF3RDtJQUN6RSxpQkFBaUIsRUFBRSx3QkFBd0I7SUFDM0MsdUJBQXVCLEVBQUUsRUFBRTtJQUMzQiw2RUFBNkU7SUFDN0Usc0JBQXNCLEVBQUUsVUFBVTtJQUNsQyxPQUFPLEVBQUUsNEJBQTRCO0lBQ3JDLFlBQVksRUFBRSxpRUFBaUU7SUFDL0UsUUFBUSxFQUFFLHFEQUFxRDtJQUMvRCxNQUFNLEVBQUUsNkNBQTZDO0lBQ3JELGFBQWEsRUFBRSw2RUFBNkU7SUFDNUYsaUJBQWlCLEVBQUUsd0VBQXdFO0NBQ25GLENBQUMsQ0FBQztBQUVaLE1BQU0sQ0FBQyxNQUFNLHFDQUFxQyxHQUFHLENBQUMsS0FBYyxFQUFrQyxFQUFFLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRTtJQUN4SCxNQUFNLElBQUksR0FBRyxhQUFhLENBQUMsY0FBYyxDQUFD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
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya2xlYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvZGF0YS9uZXR3b3JrbGVhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLCtCQUErQixFQUFFLGdDQUFnQyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0ksT0FBTyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSx5QkFBeUIsRUFBRSxZQUFZLEVBQzVILFdBQVcsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLHdCQUF3QixFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFDbEgsdUJBQXVCLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQXdEaEosTUFBTSxDQUFDLE1BQU0scUNBQXFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUNqRSxtQkFBbUIsRUFBRSw4Q0FBOEM7SUFDbkUsZUFBZSxFQUFFLHdEQUF3RDtJQUN6RSxpQkFBaUIsRUFBRSx3QkFBd0I7SUFDM0MsdUJBQXVCLEVBQUUsRUFBRTtJQUMzQiw2RUFBNkU7SUFDN0Usc0JBQXNCLEVBQUUsVUFBVTtJQUNsQyxPQUFPLEVBQUUsNEJBQTRCO0lBQ3JDLFlBQVksRUFBRSxpRUFBaUU7SUFDL0UsUUFBUSxFQUFFLHFEQUFxRDtJQUMvRCxNQUFNLEVBQUUsNkNBQTZDO0lBQ3JELGFBQWEsRUFBRSw2RUFBNkU7SUFDNUYsaUJBQWlCLEVBQUUsd0VBQXdFO0NBQ25GLENBQUMsQ0FBQztBQUVaOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsTUFBTSwwQ0FBMEMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ3RFLG9FQUFvRTtJQUNwRSxvQkFBb0I7SUFDcEIsK0VBQStFO0lBQy9FLHlCQUF5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
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
type TEgressOwner =
|
|
1
|
+
import type { IRuntimeNetworkProtectedAuthority } from './networkauthority.js';
|
|
2
|
+
type TEgressOwner = IRuntimeNetworkProtectedAuthority['egressAuthorities'][number];
|
|
3
3
|
/**
|
|
4
4
|
* One unmet condition of a node's runtime network readiness, in the order the node producer meets
|
|
5
5
|
* them: the node joins the protected authority's egress, every egress owner reports current
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { TSha256Digest } from './immutableimage.js';
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
4
|
-
import type {
|
|
5
|
-
import { type
|
|
6
|
-
export interface
|
|
7
|
-
controller:
|
|
2
|
+
import type { IRuntimeAssignmentReference, IRuntimeAuthorityReference, IRuntimeController } from './runtimeassignment.js';
|
|
3
|
+
import type { IRuntimeNetworkHandoffLease, IRuntimeNetworkProtectedAuthority } from './networkauthority.js';
|
|
4
|
+
import type { IPrivateNetwork, IServicePrivateNetworks, IServicePrivateNetworkDnsPolicy } from './privatenetwork.js';
|
|
5
|
+
import { type IRuntimeNetworkRouterPacketGrant, type IRuntimeNetworkRouterProjection } from './networkrouter.js';
|
|
6
|
+
export interface IRuntimeNetworkNodeScope {
|
|
7
|
+
controller: IRuntimeController;
|
|
8
8
|
nodeId: string;
|
|
9
9
|
runtimeNamespace: string;
|
|
10
10
|
}
|
|
@@ -18,8 +18,7 @@ export interface IRuntimeNetworkDnsWindow {
|
|
|
18
18
|
expiresAt: number;
|
|
19
19
|
}
|
|
20
20
|
/** Immutable per-attempt address material. Membership and projection revisions are independent. */
|
|
21
|
-
export interface
|
|
22
|
-
schemaVersion: 1;
|
|
21
|
+
export interface IRuntimeNetworkWorkloadLease extends IRuntimeNetworkNodeScope {
|
|
23
22
|
id: string;
|
|
24
23
|
/** Allocation incarnation, not a mutable desired-state revision. */
|
|
25
24
|
generation: number;
|
|
@@ -28,7 +27,7 @@ export interface IRuntimeNetworkWorkloadLeaseV1 extends IRuntimeNetworkNodeScope
|
|
|
28
27
|
serviceId: string;
|
|
29
28
|
replicaId: string;
|
|
30
29
|
attemptId: string;
|
|
31
|
-
protectedAuthority:
|
|
30
|
+
protectedAuthority: IRuntimeAuthorityReference;
|
|
32
31
|
routerIncarnationId: string;
|
|
33
32
|
ipv4: {
|
|
34
33
|
poolId: string;
|
|
@@ -47,7 +46,7 @@ export interface IRuntimeNetworkWorkloadLeaseV1 extends IRuntimeNetworkNodeScope
|
|
|
47
46
|
* One node-level published port for a workload. Mirrors `IAppStorePublishedPort`
|
|
48
47
|
* without range fields: the runtime publishes exactly one host port per entry.
|
|
49
48
|
*/
|
|
50
|
-
export interface
|
|
49
|
+
export interface IRuntimeNetworkPublishedPort {
|
|
51
50
|
protocol: 'tcp' | 'udp';
|
|
52
51
|
/** 1..65535 and unique per node across the projection for its protocol. */
|
|
53
52
|
hostPort: number;
|
|
@@ -63,45 +62,43 @@ export interface IRuntimeNetworkPublishedPortV1 {
|
|
|
63
62
|
* The Cloudly decision that authorized this port. It is covered by the
|
|
64
63
|
* projection signature, and a published port without it cannot exist.
|
|
65
64
|
*/
|
|
66
|
-
authorization:
|
|
65
|
+
authorization: IRuntimeAuthorityReference;
|
|
67
66
|
}
|
|
68
67
|
/**
|
|
69
|
-
* Caller-authored published-port request.
|
|
68
|
+
* Caller-authored published-port request. It carries no `hostIp` (an omitted
|
|
70
69
|
* address means the node uplink) and no ranges: exactly one host port per entry.
|
|
71
70
|
* The `authorization` reference of the resulting projection entry is derived by
|
|
72
71
|
* Cloudly from the policy revision and digest, never supplied by the caller.
|
|
73
72
|
*/
|
|
74
|
-
export interface
|
|
73
|
+
export interface IRuntimeNetworkPublishedPortRequest {
|
|
75
74
|
protocol: 'tcp' | 'udp';
|
|
76
75
|
hostPort: number;
|
|
77
76
|
targetPort: number;
|
|
78
77
|
}
|
|
79
78
|
/** Current authorized published-port policy for one service. */
|
|
80
|
-
export interface
|
|
81
|
-
schemaVersion: 1;
|
|
79
|
+
export interface IServicePublishedPorts {
|
|
82
80
|
organizationId: string;
|
|
83
81
|
serviceId: string;
|
|
84
82
|
revision: number;
|
|
85
83
|
/** Sorted by protocol and host port. Empty means the service publishes nothing. */
|
|
86
|
-
publishedPorts:
|
|
84
|
+
publishedPorts: IRuntimeNetworkPublishedPortRequest[];
|
|
87
85
|
}
|
|
88
86
|
/** Exact desired policy. Node-level host-port placement remains Cloudly's decision. */
|
|
89
|
-
export interface
|
|
90
|
-
schemaVersion: 1;
|
|
87
|
+
export interface ISetServicePublishedPorts {
|
|
91
88
|
organizationId: string;
|
|
92
89
|
serviceId: string;
|
|
93
90
|
/** Retain the exact body and this identifier across retries. */
|
|
94
91
|
mutationId: string;
|
|
95
92
|
/** null means the service has never had a published-port document; not an empty list. */
|
|
96
93
|
expectedRevision: number | null;
|
|
97
|
-
publishedPorts:
|
|
94
|
+
publishedPorts: IRuntimeNetworkPublishedPortRequest[];
|
|
98
95
|
}
|
|
99
96
|
/** Controller-owned readiness evidence. A signature does not prove this evidence's provenance. */
|
|
100
|
-
export interface
|
|
101
|
-
lease:
|
|
97
|
+
export interface IRuntimeNetworkEndpoint {
|
|
98
|
+
lease: IRuntimeNetworkWorkloadLease;
|
|
102
99
|
ready: boolean;
|
|
103
100
|
observation: {
|
|
104
|
-
assignment:
|
|
101
|
+
assignment: IRuntimeAssignmentReference;
|
|
105
102
|
reporterSessionId: string;
|
|
106
103
|
sequence: number;
|
|
107
104
|
digest: TSha256Digest;
|
|
@@ -110,14 +107,14 @@ export interface IRuntimeNetworkEndpointV1 {
|
|
|
110
107
|
publicEgress: boolean;
|
|
111
108
|
platformEndpointIds: string[];
|
|
112
109
|
/** Sorted by protocol and host port. Absent publishes nothing; a present member is never empty. */
|
|
113
|
-
publishedPorts?:
|
|
110
|
+
publishedPorts?: IRuntimeNetworkPublishedPort[];
|
|
114
111
|
}
|
|
115
112
|
/** Exact directed grant identity; receiver-owned realization resolves the lease to kernel facts. */
|
|
116
|
-
export interface
|
|
117
|
-
source:
|
|
113
|
+
export interface IRuntimeNetworkPacketGrant {
|
|
114
|
+
source: IRuntimeAuthorityReference;
|
|
118
115
|
destination: {
|
|
119
116
|
kind: 'workload';
|
|
120
|
-
lease:
|
|
117
|
+
lease: IRuntimeAuthorityReference;
|
|
121
118
|
} | {
|
|
122
119
|
kind: 'public';
|
|
123
120
|
} | {
|
|
@@ -128,42 +125,44 @@ export interface IRuntimeNetworkPacketGrantV1 {
|
|
|
128
125
|
port: number;
|
|
129
126
|
};
|
|
130
127
|
}
|
|
131
|
-
export interface
|
|
132
|
-
schemaVersion: 1;
|
|
128
|
+
export interface IRuntimeNetworkProjection extends IRuntimeNetworkNodeScope {
|
|
133
129
|
id: string;
|
|
134
130
|
generation: number;
|
|
135
|
-
previous:
|
|
136
|
-
protectedAuthority:
|
|
131
|
+
previous: IRuntimeAuthorityReference | null;
|
|
132
|
+
protectedAuthority: IRuntimeNetworkProtectedAuthority;
|
|
137
133
|
/** Exact historical authorities needed to authenticate retained allocation material. */
|
|
138
|
-
allocationAuthorities:
|
|
139
|
-
handoff:
|
|
134
|
+
allocationAuthorities: IRuntimeNetworkProtectedAuthority[];
|
|
135
|
+
handoff: IRuntimeNetworkHandoffLease | null;
|
|
140
136
|
/** COMPLETE relevant definitions, including declared names with no ready replicas. */
|
|
141
|
-
networks:
|
|
142
|
-
memberships:
|
|
143
|
-
endpoints:
|
|
137
|
+
networks: IPrivateNetwork[];
|
|
138
|
+
memberships: IServicePrivateNetworks[];
|
|
139
|
+
endpoints: IRuntimeNetworkEndpoint[];
|
|
144
140
|
dns: IRuntimeNetworkDnsWindow;
|
|
145
141
|
/** Explicit denial intent. Carry until the exact predecessor's application is proven. */
|
|
146
|
-
withdrawals:
|
|
147
|
-
retiredLeases:
|
|
148
|
-
retiredHandoffs:
|
|
149
|
-
/**
|
|
150
|
-
|
|
142
|
+
withdrawals: IRuntimeNetworkPacketGrant[];
|
|
143
|
+
retiredLeases: IRuntimeAuthorityReference[];
|
|
144
|
+
retiredHandoffs: IRuntimeAuthorityReference[];
|
|
145
|
+
/**
|
|
146
|
+
* Omitted when the issuer selects no router-origin egress; its absence keeps the
|
|
147
|
+
* projection's canonical bytes and grants no router-origin flows.
|
|
148
|
+
*/
|
|
149
|
+
router?: IRuntimeNetworkRouterProjection;
|
|
151
150
|
digest: TSha256Digest;
|
|
152
151
|
}
|
|
153
|
-
export interface
|
|
154
|
-
source:
|
|
152
|
+
export interface IRuntimeNetworkDnsView {
|
|
153
|
+
source: IRuntimeAuthorityReference;
|
|
155
154
|
sourceAddress: string;
|
|
156
155
|
dnsServer: string;
|
|
157
|
-
policy:
|
|
156
|
+
policy: IServicePrivateNetworkDnsPolicy;
|
|
158
157
|
/** Sorted complete A sets; [] is declared NODATA, never an omitted name. AAAA is NODATA. */
|
|
159
158
|
records: Array<{
|
|
160
159
|
name: string;
|
|
161
160
|
addresses: string[];
|
|
162
161
|
}>;
|
|
163
162
|
}
|
|
164
|
-
export declare const
|
|
165
|
-
readonly workloadDigestDomain: "serve.zone/runtime-network-workload-lease
|
|
166
|
-
readonly projectionDigestDomain: "serve.zone/runtime-network-projection
|
|
163
|
+
export declare const runtimeNetworkProjectionContract: Readonly<{
|
|
164
|
+
readonly workloadDigestDomain: "serve.zone/runtime-network-workload-lease";
|
|
165
|
+
readonly projectionDigestDomain: "serve.zone/runtime-network-projection";
|
|
167
166
|
readonly maximumCanonicalBytes: 917504;
|
|
168
167
|
readonly maximumAllocationAuthorities: 16;
|
|
169
168
|
readonly maximumNetworks: 128;
|
|
@@ -180,33 +179,33 @@ export declare const runtimeNetworkProjectionV1Contract: Readonly<{
|
|
|
180
179
|
readonly acknowledgement: "admission-is-not-application-or-readiness";
|
|
181
180
|
readonly allocationReuse: "requires-controller-quarantine-and-all-affected-authority-fences";
|
|
182
181
|
}>;
|
|
183
|
-
export declare const
|
|
184
|
-
export declare const
|
|
185
|
-
export declare const
|
|
182
|
+
export declare const snapshotRuntimeNetworkNodeScope: (value: unknown) => IRuntimeNetworkNodeScope;
|
|
183
|
+
export declare const snapshotRuntimeNetworkWorkloadLease: (value: unknown) => IRuntimeNetworkWorkloadLease;
|
|
184
|
+
export declare const computeRuntimeNetworkWorkloadLeaseDigest: (value: IRuntimeNetworkWorkloadLease) => Promise<TSha256Digest>;
|
|
186
185
|
/** Structural snapshot only; node placement, quota and authorization remain Cloudly's decision. */
|
|
187
|
-
export declare const
|
|
188
|
-
export declare const
|
|
186
|
+
export declare const snapshotServicePublishedPorts: (value: unknown) => IServicePublishedPorts;
|
|
187
|
+
export declare const snapshotSetServicePublishedPorts: (value: unknown) => ISetServicePublishedPorts;
|
|
189
188
|
/** Structural snapshot only; use validate/signature/admission helpers before accepting authority. */
|
|
190
|
-
export declare const
|
|
191
|
-
export declare const
|
|
189
|
+
export declare const snapshotRuntimeNetworkProjection: (value: unknown) => IRuntimeNetworkProjection;
|
|
190
|
+
export declare const computeRuntimeNetworkProjectionDigest: (value: IRuntimeNetworkProjection) => Promise<TSha256Digest>;
|
|
192
191
|
/** Complete structural, digest, allocation and policy binding. Not an allocation/barrier/readiness proof. */
|
|
193
|
-
export declare const
|
|
192
|
+
export declare const validateRuntimeNetworkProjection: (value: unknown) => Promise<IRuntimeNetworkProjection>;
|
|
194
193
|
/** Complete directed full-mesh and explicitly authorized egress; no DNS readiness dependency. */
|
|
195
|
-
export declare const
|
|
194
|
+
export declare const getRuntimeNetworkProjectionPacketGrants: (value: unknown) => Promise<IRuntimeNetworkPacketGrant[]>;
|
|
196
195
|
/** Router-origin authority comes only from explicit signed selections, never DNS names or workload grants. */
|
|
197
|
-
export declare const
|
|
196
|
+
export declare const getRuntimeNetworkProjectionRouterPacketGrants: (value: unknown) => Promise<IRuntimeNetworkRouterPacketGrant[]>;
|
|
198
197
|
/** Complete offline DNS material, including authorized names never previously queried. */
|
|
199
198
|
/** Select exact local receivers before expansion; all targets still come from
|
|
200
199
|
* the complete validated projection. Selection supplies no attachment authority. */
|
|
201
|
-
export declare const
|
|
200
|
+
export declare const composeRuntimeNetworkProjectionDnsViews: (value: unknown, sourcesValue?: readonly IRuntimeAuthorityReference[]) => Promise<IRuntimeNetworkDnsView[]>;
|
|
202
201
|
/** Bind immutable address material without a circular assignment-digest dependency. */
|
|
203
|
-
export declare const
|
|
202
|
+
export declare const bindRuntimeNetworkWorkloadLeaseToAssignment: (leaseValue: unknown, assignmentValue: unknown) => Promise<IRuntimeNetworkWorkloadLease>;
|
|
204
203
|
/**
|
|
205
204
|
* Pure revision decision. appliedPrevious must be the receiver's exact durable,
|
|
206
205
|
* joined application receipt, never an incoming ACK field. All prior accepted
|
|
207
206
|
* material/apply journals survive until effects and DNS/allocation quarantine end.
|
|
208
207
|
*/
|
|
209
|
-
export declare const
|
|
208
|
+
export declare const admitRuntimeNetworkProjection: (value: unknown, previousValue: unknown | null, trustedScopeValue: unknown, appliedPreviousValue: unknown | null) => Promise<{
|
|
210
209
|
status: "accepted" | "replay";
|
|
211
|
-
projection:
|
|
210
|
+
projection: IRuntimeNetworkProjection;
|
|
212
211
|
}>;
|