@serve.zone/interfaces 32.4.0 → 32.6.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.
Files changed (55) hide show
  1. package/changelog.md +80 -0
  2. package/dist_ts/00_commitinfo_data.js +1 -1
  3. package/dist_ts/data/cluster.d.ts +4 -5
  4. package/dist_ts/data/cluster.js +6 -14
  5. package/dist_ts/data/clusteringress.js +9 -8
  6. package/dist_ts/data/clusternode.d.ts +6 -1
  7. package/dist_ts/data/clusternode.js +32 -5
  8. package/dist_ts/data/clustervpn.d.ts +11 -0
  9. package/dist_ts/data/clustervpn.js +19 -8
  10. package/dist_ts/data/isolatedrestore.js +12 -4
  11. package/dist_ts/data/networkaddressplan.d.ts +21 -15
  12. package/dist_ts/data/networkaddressplan.js +27 -20
  13. package/dist_ts/data/networkauthority.js +9 -3
  14. package/dist_ts/data/networkcredential.d.ts +0 -7
  15. package/dist_ts/data/networkcredential.js +5 -22
  16. package/dist_ts/data/networklease.js +3 -3
  17. package/dist_ts/data/networknode.js +3 -3
  18. package/dist_ts/data/networkprojection.js +8 -3
  19. package/dist_ts/data/nodeenrollment.js +4 -2
  20. package/dist_ts/data/noderetirement.js +3 -3
  21. package/dist_ts/data/runtimeassignment.d.ts +12 -0
  22. package/dist_ts/data/runtimeassignment.js +29 -4
  23. package/dist_ts/data/runtimesession.js +3 -2
  24. package/dist_ts/data/serviceruntime.js +6 -5
  25. package/dist_ts/data/sparknodereport.js +6 -3
  26. package/dist_ts/private/networkcontract.d.ts +2 -0
  27. package/dist_ts/private/networkcontract.js +8 -2
  28. package/dist_ts/private/nodeidentifier.d.ts +22 -0
  29. package/dist_ts/private/nodeidentifier.js +23 -0
  30. package/dist_ts/requests/corestore.js +4 -4
  31. package/dist_ts/runtime.js +7 -4
  32. package/package.json +1 -1
  33. package/readme.md +60 -24
  34. package/ts/00_commitinfo_data.ts +1 -1
  35. package/ts/data/cluster.ts +9 -21
  36. package/ts/data/clusteringress.ts +8 -7
  37. package/ts/data/clusternode.ts +32 -4
  38. package/ts/data/clustervpn.ts +28 -9
  39. package/ts/data/isolatedrestore.ts +12 -3
  40. package/ts/data/networkaddressplan.ts +32 -25
  41. package/ts/data/networkauthority.ts +8 -2
  42. package/ts/data/networkcredential.ts +4 -29
  43. package/ts/data/networklease.ts +2 -2
  44. package/ts/data/networknode.ts +2 -2
  45. package/ts/data/networkprojection.ts +6 -2
  46. package/ts/data/nodeenrollment.ts +4 -2
  47. package/ts/data/noderetirement.ts +2 -2
  48. package/ts/data/runtimeassignment.ts +26 -3
  49. package/ts/data/runtimesession.ts +3 -2
  50. package/ts/data/serviceruntime.ts +6 -5
  51. package/ts/data/sparknodereport.ts +7 -2
  52. package/ts/private/networkcontract.ts +6 -1
  53. package/ts/private/nodeidentifier.ts +25 -0
  54. package/ts/requests/corestore.ts +3 -3
  55. package/ts/runtime.ts +6 -3
@@ -33,9 +33,16 @@ export interface IClusterVpnNetworkGrant {
33
33
  * a grant that is missing is withdrawn. `revision` is Cloudly's own counter for this authority and
34
34
  * only ever rises; `authorityId` names the authority the hub is bound to, so a network compiled for
35
35
  * another cluster is refused rather than applied.
36
+ *
37
+ * `controlPrefix` is the subnet the hub's control plane serves: the address plan's
38
+ * `vpn.controlPrefix`, which the plan contract never lets change, stated here because a hub fixes
39
+ * its control subnet when it binds and no other carrier hands a relay the plan. Without it a relay
40
+ * could only infer a subnet from the members it was sent, which is how a hub comes to disagree with
41
+ * the plan it serves.
36
42
  */
37
43
  export interface IClusterVpnNetwork {
38
44
  authorityId: string;
45
+ controlPrefix: string;
39
46
  revision: number;
40
47
  nodes: IClusterVpnNetworkNode[];
41
48
  grants: IClusterVpnNetworkGrant[];
@@ -107,6 +114,10 @@ export declare const clusterVpnWorkloadPolicyDomain: (digestValue: unknown) => s
107
114
  * workload domain this network itself carries, on two different nodes. That last rule is what a
108
115
  * per-cluster hub means: a grant whose other end sits on another cluster's hub cannot be expressed
109
116
  * here at all, which is why Cloudly refuses it by name while it compiles instead of pushing it.
117
+ *
118
+ * Every control address lies inside `controlPrefix` and no workload prefix meets it — the two rules
119
+ * a hub enforces against the subnet it bound. Checking them while the network is compiled turns a
120
+ * push the hub could only refuse into a network Cloudly never states.
110
121
  */
111
122
  export declare const snapshotClusterVpnNetwork: (value: unknown) => IClusterVpnNetwork;
112
123
  export type TClusterVpnNetworkAdmission = {
@@ -1,4 +1,5 @@
1
- import { captureNetwork, failNetwork, networkCanonical, networkCounter, networkEqual, networkId, networkIpv4, networkList, networkNoiseKey, networkPrivatePrefix, networkRecord, networkSafe, networkSorted, requireNetwork } from '../private/networkcontract.js';
1
+ import { runtimeNetworkVpnControlPrefix } from './networkaddressplan.js';
2
+ import { captureNetwork, failNetwork, networkCanonical, networkContains, networkCounter, networkEqual, networkId, networkIpv4, networkList, networkNodeId, networkNoiseKey, networkOverlaps, networkPrivatePrefix, networkRecord, networkSafe, networkSorted, requireNetwork } from '../private/networkcontract.js';
2
3
  export const clusterVpnNetworkContract = Object.freeze({
3
4
  /** The policy domain of a node's control address; the hub relays no grant between control domains. */
4
5
  controlPolicyDomainPrefix: 'control:',
@@ -58,7 +59,7 @@ const prefixOf = (value) => {
58
59
  };
59
60
  const nodeOf = (value) => {
60
61
  const item = networkRecord(value, ['nodeId', 'publicKey', 'controlAddress', 'expiresAt', 'workloadPrefixes']);
61
- return { nodeId: networkId(item.nodeId), publicKey: networkNoiseKey(item.publicKey), controlAddress: networkIpv4(item.controlAddress),
62
+ return { nodeId: networkNodeId(item.nodeId), publicKey: networkNoiseKey(item.publicKey), controlAddress: networkIpv4(item.controlAddress),
62
63
  expiresAt: networkCounter(item.expiresAt),
63
64
  workloadPrefixes: networkSorted(networkList(item.workloadPrefixes, clusterVpnNetworkContract.maximumWorkloadPrefixes, prefixOf), prefix => prefix.cidr) };
64
65
  };
@@ -74,21 +75,28 @@ const grantKey = (grant) => `${grant.sourceDomain}\0${grant.destinationDomain}`;
74
75
  * workload domain this network itself carries, on two different nodes. That last rule is what a
75
76
  * per-cluster hub means: a grant whose other end sits on another cluster's hub cannot be expressed
76
77
  * here at all, which is why Cloudly refuses it by name while it compiles instead of pushing it.
78
+ *
79
+ * Every control address lies inside `controlPrefix` and no workload prefix meets it — the two rules
80
+ * a hub enforces against the subnet it bound. Checking them while the network is compiled turns a
81
+ * push the hub could only refuse into a network Cloudly never states.
77
82
  */
78
83
  export const snapshotClusterVpnNetwork = (value) => networkSafe(() => {
79
84
  const captured = captureNetwork(value);
80
85
  requireNetwork(new TextEncoder().encode(networkCanonical(captured)).length <= clusterVpnNetworkContract.maximumCanonicalBytes);
81
- const item = networkRecord(captured, ['authorityId', 'revision', 'nodes', 'grants']);
86
+ const item = networkRecord(captured, ['authorityId', 'controlPrefix', 'revision', 'nodes', 'grants']);
87
+ const controlPrefix = runtimeNetworkVpnControlPrefix(item.controlPrefix);
82
88
  const nodes = networkSorted(networkList(item.nodes, clusterVpnNetworkContract.maximumNodes, nodeOf), node => node.nodeId);
83
89
  const grants = networkSorted(networkList(item.grants, clusterVpnNetworkContract.maximumGrants, grantOf), grantKey);
84
90
  const domainOwners = new Map();
85
91
  const addresses = new Set(), keys = new Set(), cidrs = new Set();
86
92
  for (const node of nodes) {
87
- requireNetwork(!keys.has(node.publicKey) && !addresses.has(node.controlAddress));
93
+ requireNetwork(!keys.has(node.publicKey) && !addresses.has(node.controlAddress)
94
+ && networkContains(controlPrefix, `${node.controlAddress}/32`));
88
95
  keys.add(node.publicKey);
89
96
  addresses.add(node.controlAddress);
90
97
  for (const prefix of node.workloadPrefixes) {
91
- requireNetwork(!cidrs.has(prefix.cidr) && !domainOwners.has(prefix.policyDomain));
98
+ requireNetwork(!cidrs.has(prefix.cidr) && !domainOwners.has(prefix.policyDomain)
99
+ && !networkOverlaps(controlPrefix, prefix.cidr));
92
100
  cidrs.add(prefix.cidr);
93
101
  domainOwners.set(prefix.policyDomain, node.nodeId);
94
102
  }
@@ -97,7 +105,7 @@ export const snapshotClusterVpnNetwork = (value) => networkSafe(() => {
97
105
  const source = domainOwners.get(grant.sourceDomain), destination = domainOwners.get(grant.destinationDomain);
98
106
  requireNetwork(source && destination && source !== destination);
99
107
  }
100
- return { authorityId: networkId(item.authorityId), revision: networkCounter(item.revision), nodes, grants };
108
+ return { authorityId: networkId(item.authorityId), controlPrefix, revision: networkCounter(item.revision), nodes, grants };
101
109
  });
102
110
  /**
103
111
  * The pure decision a relay makes about a pushed network against the one its hub holds, or null
@@ -110,8 +118,11 @@ export const admitClusterVpnNetwork = (heldValue, nextValue) => networkSafe(() =
110
118
  if (heldValue === null)
111
119
  return { status: 'accepted' };
112
120
  const held = snapshotClusterVpnNetwork(heldValue);
113
- if (held.authorityId !== next.authorityId)
121
+ // A hub binds one control subnet for its lifetime, so a network that moves the prefix under the
122
+ // same authority is as foreign to this hub as one that names another authority.
123
+ if (held.authorityId !== next.authorityId || held.controlPrefix !== next.controlPrefix) {
114
124
  return { status: 'refused', reason: 'vpn-network-authority-foreign' };
125
+ }
115
126
  if (next.revision > held.revision)
116
127
  return { status: 'accepted' };
117
128
  return networkEqual(held, next) ? { status: 'replay' } : { status: 'refused', reason: 'vpn-network-revision-stale' };
@@ -144,4 +155,4 @@ export const snapshotGetClusterVpnNetworkResponse = (value) => networkSafe(() =>
144
155
  const item = networkRecord(captureNetwork(value), ['network']);
145
156
  return { network: item.network === null ? null : snapshotClusterVpnNetwork(item.network) };
146
157
  });
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1c3RlcnZwbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL2RhdGEvY2x1c3RlcnZwbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUN2SCxlQUFlLEVBQUUsb0JBQW9CLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQ2hGLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBZ0R4RCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ3JELHNHQUFzRztJQUN0Ryx5QkFBeUIsRUFBRSxVQUFVO0lBQ3JDLDZFQUE2RTtJQUM3RSwwQkFBMEIsRUFBRSxXQUFXO0lBQ3ZDLFlBQVksRUFBRSxHQUFHO0lBQ2pCLHlFQUF5RTtJQUN6RSx1QkFBdUIsRUFBRSxHQUFHO0lBQzVCLGFBQWEsRUFBRSxJQUFJO0lBQ25CLHFCQUFxQixFQUFFLE9BQU87SUFDOUIsWUFBWSxFQUFFLCtCQUErQjtJQUM3QyxVQUFVLEVBQUUsMkNBQTJDO0NBQy9DLENBQUMsQ0FBQztBQUVaOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzFELHVGQUF1RjtJQUN2RiwrQkFBK0I7SUFDL0IsMEZBQTBGO0lBQzFGLDRCQUE0QjtDQUNwQixDQUFDLENBQUM7QUFLWjs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsTUFBTSxrQ0FBa0MsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzlELGtGQUFrRjtJQUNsRixzQkFBc0I7SUFDdEIsNEZBQTRGO0lBQzVGLGlDQUFpQztDQUN6QixDQUFDLENBQUM7QUFnQ1osb0dBQW9HO0FBQ3BHLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFH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
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1c3RlcnZwbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL2RhdGEvY2x1c3RlcnZwbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUMzSCxXQUFXLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsb0JBQW9CLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFDOUcsYUFBYSxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBdUR2RSxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ3JELHNHQUFzRztJQUN0Ryx5QkFBeUIsRUFBRSxVQUFVO0lBQ3JDLDZFQUE2RTtJQUM3RSwwQkFBMEIsRUFBRSxXQUFXO0lBQ3ZDLFlBQVksRUFBRSxHQUFHO0lBQ2pCLHlFQUF5RTtJQUN6RSx1QkFBdUIsRUFBRSxHQUFHO0lBQzVCLGFBQWEsRUFBRSxJQUFJO0lBQ25CLHFCQUFxQixFQUFFLE9BQU87SUFDOUIsWUFBWSxFQUFFLCtCQUErQjtJQUM3QyxVQUFVLEVBQUUsMkNBQTJDO0NBQy9DLENBQUMsQ0FBQztBQUVaOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzFELHVGQUF1RjtJQUN2RiwrQkFBK0I7SUFDL0IsMEZBQTBGO0lBQzFGLDRCQUE0QjtDQUNwQixDQUFDLENBQUM7QUFLWjs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsTUFBTSxrQ0FBa0MsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzlELGtGQUFrRjtJQUNsRixzQkFBc0I7SUFDdEIsNEZBQTRG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
@@ -1,5 +1,6 @@
1
1
  import { canonicalizeStrictJson, createCanonicalJsonSha256Hex, createSha256Hex, deepFreezeValue, strictCanonicalJsonRules, } from '../private/canonicaljson.js';
2
2
  import { hasExactKeys } from '../private/dataproperties.js';
3
+ import { isClusterNodeId } from '../private/nodeidentifier.js';
3
4
  /** Operations carried by a short-lived, single-operation restore grant. */
4
5
  export const isolatedRestoreGrantOperations = Object.freeze([
5
6
  'prepare',
@@ -189,6 +190,13 @@ const readIdentifier = (valueArg, fieldNameArg) => {
189
190
  }
190
191
  return valueArg;
191
192
  };
193
+ /** A node of the cluster, read in the node vocabulary the controller named it in. */
194
+ const readNodeId = (valueArg, fieldNameArg) => {
195
+ if (!isClusterNodeId(valueArg)) {
196
+ return fail(`${fieldNameArg} must be a node id`);
197
+ }
198
+ return valueArg;
199
+ };
192
200
  const readScopedId = (valueArg, fieldNameArg) => {
193
201
  if (typeof valueArg !== 'string' || !canonicalScopedIdPattern.test(valueArg)) {
194
202
  return fail(`${fieldNameArg} must be a canonical scoped identifier`);
@@ -760,7 +768,7 @@ export const normalizeIsolatedRestoreNodeControl = (valueArg, normalizeControlAr
760
768
  const request = readRecord(valueArg, 'node control request');
761
769
  assertExactKeys(request, ['nodeId', 'control'], 'node control request');
762
770
  return Object.freeze({
763
- nodeId: readIdentifier(request.nodeId, 'node control request.nodeId'),
771
+ nodeId: readNodeId(request.nodeId, 'node control request.nodeId'),
764
772
  control: normalizeControlArg(request.control),
765
773
  });
766
774
  };
@@ -852,7 +860,7 @@ export const normalizeIsolatedRestoreProgress = (valueArg) => {
852
860
  const totalMappings = readSafeInteger(progress.totalMappings, 'restore progress.totalMappings', 1, isolatedRestoreContractLimits.maximumResourceMappings);
853
861
  const preparedAt = readSafeInteger(progress.preparedAt, 'restore progress.preparedAt', 1);
854
862
  const normalized = {
855
- nodeId: readIdentifier(progress.nodeId, 'restore progress.nodeId'),
863
+ nodeId: readNodeId(progress.nodeId, 'restore progress.nodeId'),
856
864
  restoreId: readScopedId(progress.restoreId, 'restore progress.restoreId'),
857
865
  stagingArchiveId: readScopedId(progress.stagingArchiveId, 'restore progress.stagingArchiveId'),
858
866
  status: progress.status,
@@ -902,7 +910,7 @@ export const normalizeIsolatedRestoreProgress = (valueArg) => {
902
910
  export const bindIsolatedRestoreProgressToNode = (progressArg, expectationArg) => {
903
911
  const expectation = readRecord(expectationArg, 'restore progress expectation');
904
912
  assertExactKeys(expectation, ['nodeId', 'restoreId'], 'restore progress expectation');
905
- const nodeId = readIdentifier(expectation.nodeId, 'restore progress expectation.nodeId');
913
+ const nodeId = readNodeId(expectation.nodeId, 'restore progress expectation.nodeId');
906
914
  const restoreId = readScopedId(expectation.restoreId, 'restore progress expectation.restoreId');
907
915
  const progress = normalizeIsolatedRestoreProgress(progressArg);
908
916
  if (progress.nodeId !== nodeId) {
@@ -1423,4 +1431,4 @@ export const assertIsolatedRestoreCompletedObject = (completedArg) => {
1423
1431
  }
1424
1432
  return completedArg;
1425
1433
  };
1426
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNvbGF0ZWRyZXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvZGF0YS9pc29sYXRlZHJlc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsT0FBTyxFQUNMLHNCQUFzQixFQUN0Qiw0QkFBNEIsRUFDNUIsZUFBZSxFQUNmLGVBQWUsRUFDZix3QkFBd0IsR0FDekIsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFNUQsMkVBQTJFO0FBQzNFLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDMUQsU0FBUztJQUNULGNBQWM7SUFDZCxTQUFTO0lBQ1QsU0FBUztJQUNULFFBQVE7Q0FDQSxDQUFDLENBQUM7QUFLWjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDekQsdUJBQXVCLEVBQUUsSUFBSSxHQUFHLElBQUk7SUFDcEMsd0JBQXdCLEVBQUUsRUFBRSxHQUFHLElBQUk7SUFDbkMsNEJBQTRCLEVBQUUsSUFBSTtJQUNsQyxnQkFBZ0IsRUFBRSxJQUFJO0lBQ3RCLHVCQUF1QixFQUFFLEdBQUc7SUFDNUIscUJBQXFCLEVBQUUsSUFBSTtJQUMzQiw4QkFBOEIsRUFBRSxHQUFHO0lBQ25DLHNDQUFzQyxFQUFFLENBQUMsR0FBRyxJQUFJLEdBQUcsSUFBSTtJQUN2RCx5QkFBeUIsRUFBRSxFQUFFLEdBQUcsSUFBSSxHQUFHLElBQUk7SUFDM0Msd0JBQXdCLEVBQUUsRUFBRSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSTtJQUNqRCxzQkFBc0IsRUFBRSxHQUFHLEdBQUcsSUFBSTtJQUNsQyxpQ0FBaUMsRUFBRSxPQUFPO0lBQzFDLG1CQUFtQixFQUFFLElBQUk7Q0FDMUIsQ0FBQyxDQUFDO0FBRUgseUZBQXlGO0FBQ3pGLE1BQU0s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
1434
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNvbGF0ZWRyZXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvZGF0YS9pc29sYXRlZHJlc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsT0FBTyxFQUNMLHNCQUFzQixFQUN0Qiw0QkFBNEIsRUFDNUIsZUFBZSxFQUNmLGVBQWUsRUFDZix3QkFBd0IsR0FDekIsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRS9ELDJFQUEyRTtBQUMzRSxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzFELFNBQVM7SUFDVCxjQUFjO0lBQ2QsU0FBUztJQUNULFNBQVM7SUFDVCxRQUFRO0NBQ0EsQ0FBQyxDQUFDO0FBS1o7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ3pELHVCQUF1QixFQUFFLElBQUksR0FBRyxJQUFJO0lBQ3BDLHdCQUF3QixFQUFFLEVBQUUsR0FBRyxJQUFJO0lBQ25DLDRCQUE0QixFQUFFLElBQUk7SUFDbEMsZ0JBQWdCLEVBQUUsSUFBSTtJQUN0Qix1QkFBdUIsRUFBRSxHQUFHO0lBQzVCLHFCQUFxQixFQUFFLElBQUk7SUFDM0IsOEJBQThCLEVBQUUsR0FBRztJQUNuQyxzQ0FBc0MsRUFBRSxDQUFDLEdBQUcsSUFBSSxHQUFHLElBQUk7SUFDdkQseUJBQXlCLEVBQUUsRUFBRSxHQUFHLElBQUksR0FBRyxJQUFJO0lBQzNDLHdCQUF3QixFQUFFLEVBQUUsR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUk7SUFDakQsc0JBQXNCLEVBQUUsR0FBRyxHQUFHLElBQUk7SUFDbEMsaUNBQWlDLEVBQUUsT0FBTztJQUMxQyxtQkFBbUIsRUFBRSxJ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
@@ -31,14 +31,13 @@ export interface IRuntimeNetworkAddressPlan {
31
31
  * One cluster's managed VPN hub, as the cluster's relay bound it.
32
32
  *
33
33
  * The hub is its cluster's own packet relay, so `clusterId` names both the hub and the authority
34
- * that may select it, and `address` is an underlay address inside the plan's `vpn.hubPrefix`. A hub
35
- * offers at least one transport; the port of a transport it did not bind is `null`.
34
+ * that may select it, and `address` is an underlay address inside the plan's `vpn.hubPrefix`.
35
+ * `quicPort` is the port it bound for the one transport a managed hub serves.
36
36
  */
37
37
  export interface IRuntimeNetworkVpnHub {
38
38
  clusterId: string;
39
39
  address: string;
40
- quicPort: number | null;
41
- websocketPort: number | null;
40
+ quicPort: number;
42
41
  }
43
42
  /** What an administrator writes; Cloudly supplies the id and the revision. */
44
43
  export type TRuntimeNetworkAddressPlanWritableData = Omit<IRuntimeNetworkAddressPlan, 'id' | 'revision'>;
@@ -73,28 +72,35 @@ export declare const runtimeNetworkAddressPlanContract: Readonly<{
73
72
  */
74
73
  readonly maximumControlPrefixLength: 30;
75
74
  /**
76
- * Every transport a hub may offer, in the order a node prefers them.
75
+ * Every transport a managed hub serves, in the order a node prefers them.
77
76
  *
78
77
  * One row states all three facts that belong together: the transport a credential names, the
79
78
  * suffix its platform endpoint id carries, and the protocol the endpoint is composed with. A hub
80
- * that bound both transports therefore contributes exactly two endpoints of one address.
79
+ * contributes one endpoint of its address per row, so a transport added here is added once for
80
+ * the id derivation, the composition and the credential binder alike.
81
+ *
82
+ * QUIC is the one row: a managed hub terminates TLS on its QUIC listener alone, so no other
83
+ * transport of it can be dialled over a protected connection.
81
84
  */
82
- readonly hubTransports: readonly (Readonly<{
85
+ readonly hubTransports: readonly Readonly<{
83
86
  transport: "quic";
84
87
  endpointSuffix: "quic";
85
88
  protocol: "udp";
86
- }> | Readonly<{
87
- transport: "websocket";
88
- endpointSuffix: "ws";
89
- protocol: "tcp";
90
- }>)[];
89
+ }>[];
91
90
  }>;
91
+ /**
92
+ * The one reader for a managed VPN control prefix: a canonical private prefix no longer than
93
+ * `maximumControlPrefixLength`. The plan states it for the whole runtime network and a cluster's
94
+ * network repeats it for the hub that binds it, so both read it here and neither can admit a
95
+ * subnet the other would refuse.
96
+ */
97
+ export declare const runtimeNetworkVpnControlPrefix: (value: unknown) => string;
92
98
  /** How a node reaches its cluster's hub, read off the one table that states the transports. */
93
99
  export type TRuntimeNetworkVpnTransport = typeof runtimeNetworkAddressPlanContract.hubTransports[number]['transport'];
94
100
  /**
95
- * The platform endpoints one hub contributes to a protected authority: one per transport it bound,
96
- * in id order. Every reader derives the same ids from this one function — the composition that seals
97
- * the authority, and the router selection that names which of them a node may dial.
101
+ * The platform endpoints one hub contributes to a protected authority: one per transport a managed
102
+ * hub serves, in id order. Every reader derives the same ids from this one function — the composition
103
+ * that seals the authority, and the router selection that names which of them a node may dial.
98
104
  */
99
105
  export declare const runtimeNetworkVpnHubEndpoints: (hubValue: unknown) => IRuntimeNetworkProtectedAuthority["platformEndpoints"];
100
106
  /**