@serve.zone/interfaces 32.55.0 → 32.56.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/changelog.md +40 -0
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/appstore/catalog.d.ts +1 -1
- package/dist_ts/appstore/catalog.js +2 -1
- package/dist_ts/appstore/types.d.ts +36 -0
- package/dist_ts/appstore/types.js +11 -1
- package/dist_ts/appstore/versionconfig.d.ts +11 -3
- package/dist_ts/appstore/versionconfig.js +146 -7
- package/dist_ts/data/clusteringress.d.ts +10 -2
- package/dist_ts/data/clusteringress.js +16 -3
- package/dist_ts/data/deploymentpreflight.d.ts +8 -3
- package/dist_ts/data/deploymentpreflight.js +1 -1
- package/dist_ts/data/settings.d.ts +2 -1
- package/dist_ts/data/settings.js +1 -1
- package/dist_ts/private/ipaddress.d.ts +8 -0
- package/dist_ts/private/ipaddress.js +17 -1
- package/package.json +1 -1
- package/readme.md +22 -2
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/appstore/catalog.ts +1 -0
- package/ts/appstore/types.ts +38 -0
- package/ts/appstore/versionconfig.ts +163 -5
- package/ts/data/clusteringress.ts +23 -3
- package/ts/data/deploymentpreflight.ts +8 -3
- package/ts/data/settings.ts +2 -1
- package/ts/private/ipaddress.ts +23 -0
|
@@ -15,13 +15,15 @@
|
|
|
15
15
|
* `platform.normalizeStorageRequest`), reporting through this module's rejection. What this module
|
|
16
16
|
* adds are the rules a request can only break inside a version config: its class is declared and of
|
|
17
17
|
* its kind, the class backs a declared limit or protection, ids and destinations are used once, the
|
|
18
|
-
* legacy names stay reserved,
|
|
18
|
+
* legacy names stay reserved, a backup exclusion names an object-storage request, and the storage
|
|
19
|
+
* feature ids are named.
|
|
19
20
|
*/
|
|
20
21
|
import { normalizeServiceAbsolutePath, validateServiceContainerArgs } from '../data/service.js';
|
|
21
22
|
import { normalizeServicePortConfig } from '../data/serviceports.js';
|
|
23
|
+
import { compareWireTokens } from '../private/canonicaljson.js';
|
|
22
24
|
import { readDataElements, readDataProperties } from '../private/dataproperties.js';
|
|
23
25
|
import { createStorageContractReaders } from '../private/storagecontract.js';
|
|
24
|
-
import { appStoreStorageFeatureIds, validateAppStoreEnvironmentDeclarations, validateAppStoreVersionPlatformOidc, } from './types.js';
|
|
26
|
+
import { appStoreBackupExclusionLimits, appStoreStorageFeatureIds, validateAppStoreEnvironmentDeclarations, validateAppStoreVersionPlatformOidc, } from './types.js';
|
|
25
27
|
const versionConfigMemberList = [
|
|
26
28
|
'image',
|
|
27
29
|
'port',
|
|
@@ -33,6 +35,7 @@ const versionConfigMemberList = [
|
|
|
33
35
|
'volumes',
|
|
34
36
|
'storageClasses',
|
|
35
37
|
'storageRequests',
|
|
38
|
+
'backupExclusions',
|
|
36
39
|
'publishedPorts',
|
|
37
40
|
'platformRequirements',
|
|
38
41
|
'platformOidc',
|
|
@@ -72,6 +75,8 @@ const legacyObjectStorageClassKey = 'legacyObjectStorage';
|
|
|
72
75
|
const legacyObjectStorageRequestId = 'legacy-s3';
|
|
73
76
|
const knownStorageFeatureIds = Object.values(appStoreStorageFeatureIds);
|
|
74
77
|
const platformRequirementKeys = ['mongodb', 's3', 'clickhouse', 'valkey', 'mariadb', 'mail'];
|
|
78
|
+
const controlCharacterPattern = /[\u0000-\u001f\u007f]/;
|
|
79
|
+
const utf8Encoder = new TextEncoder();
|
|
75
80
|
/** Thrown inside this module only; every exported validator answers it as its result. */
|
|
76
81
|
class AppStoreVersionConfigRejection extends Error {
|
|
77
82
|
}
|
|
@@ -507,7 +512,7 @@ function checkExplicitStorageRequests(requestsArg, classesArg, destinationsArg,
|
|
|
507
512
|
}
|
|
508
513
|
return requests;
|
|
509
514
|
}
|
|
510
|
-
function checkFeatureDeclaration(requiresFeaturesArg, explicitRequestsArg, labelArg) {
|
|
515
|
+
function checkFeatureDeclaration(requiresFeaturesArg, explicitRequestsArg, backupExclusionsArg, labelArg) {
|
|
511
516
|
const derivedFeatures = new Set();
|
|
512
517
|
if (explicitRequestsArg.length > 0)
|
|
513
518
|
derivedFeatures.add(appStoreStorageFeatureIds.bindings);
|
|
@@ -520,6 +525,9 @@ function checkFeatureDeclaration(requiresFeaturesArg, explicitRequestsArg, label
|
|
|
520
525
|
if (explicitRequestsArg.some((requestArg) => requestArg.kind === 'objectStorage' && requestArg.delivery.type === 'file')) {
|
|
521
526
|
derivedFeatures.add(appStoreStorageFeatureIds.objectStorageFile);
|
|
522
527
|
}
|
|
528
|
+
if (backupExclusionsArg.length > 0) {
|
|
529
|
+
derivedFeatures.add(appStoreStorageFeatureIds.objectStorageBackupExclusions);
|
|
530
|
+
}
|
|
523
531
|
const declaredEntries = requiresFeaturesArg === undefined
|
|
524
532
|
? []
|
|
525
533
|
: readDataElements(requiresFeaturesArg, Number.MAX_SAFE_INTEGER);
|
|
@@ -546,6 +554,119 @@ function checkFeatureDeclaration(requiresFeaturesArg, explicitRequestsArg, label
|
|
|
546
554
|
}
|
|
547
555
|
}
|
|
548
556
|
}
|
|
557
|
+
const hasUnpairedSurrogate = (valueArg) => {
|
|
558
|
+
for (let index = 0; index < valueArg.length; index++) {
|
|
559
|
+
const codeUnit = valueArg.charCodeAt(index);
|
|
560
|
+
if (codeUnit >= 0xd800 && codeUnit <= 0xdbff) {
|
|
561
|
+
const following = valueArg.charCodeAt(index + 1);
|
|
562
|
+
if (!(following >= 0xdc00 && following <= 0xdfff))
|
|
563
|
+
return true;
|
|
564
|
+
index++;
|
|
565
|
+
}
|
|
566
|
+
else if (codeUnit >= 0xdc00 && codeUnit <= 0xdfff) {
|
|
567
|
+
return true;
|
|
568
|
+
}
|
|
569
|
+
}
|
|
570
|
+
return false;
|
|
571
|
+
};
|
|
572
|
+
/** One object key prefix: a relative key path that names a whole subtree. */
|
|
573
|
+
function checkBackupExclusionKeyPrefix(valueArg, labelArg) {
|
|
574
|
+
if (typeof valueArg !== 'string')
|
|
575
|
+
return reject(`Invalid ${labelArg}: expected a string`);
|
|
576
|
+
if (controlCharacterPattern.test(valueArg) || hasUnpairedSurrogate(valueArg)) {
|
|
577
|
+
reject(`Invalid ${labelArg}: must not contain a control character or an unpaired surrogate`);
|
|
578
|
+
}
|
|
579
|
+
const byteLength = utf8Encoder.encode(valueArg).byteLength;
|
|
580
|
+
if (byteLength < 1 || byteLength > appStoreBackupExclusionLimits.maximumKeyPrefixBytes) {
|
|
581
|
+
reject(`Invalid ${labelArg}: must be 1 to ${appStoreBackupExclusionLimits.maximumKeyPrefixBytes} UTF-8 bytes`);
|
|
582
|
+
}
|
|
583
|
+
if (valueArg.startsWith('/'))
|
|
584
|
+
reject(`Invalid ${labelArg}: must not start with '/'`);
|
|
585
|
+
if (!valueArg.endsWith('/'))
|
|
586
|
+
reject(`Invalid ${labelArg}: must end with '/'`);
|
|
587
|
+
if (valueArg.slice(0, -1).split('/').some((segmentArg) => segmentArg === '' || segmentArg === '.' || segmentArg === '..')) {
|
|
588
|
+
reject(`Invalid ${labelArg}: must not contain an empty, '.' or '..' segment`);
|
|
589
|
+
}
|
|
590
|
+
return valueArg;
|
|
591
|
+
}
|
|
592
|
+
/**
|
|
593
|
+
* One exclusion's key prefix list: 1 to 16 prefixes, strictly increasing, none inside another.
|
|
594
|
+
* `validateAppStoreBackupExclusionKeyPrefixes` exports it, so every reader of a prefix list judges
|
|
595
|
+
* it by this one rule.
|
|
596
|
+
*/
|
|
597
|
+
function checkBackupExclusionKeyPrefixes(valueArg, labelArg) {
|
|
598
|
+
const { maximumKeyPrefixes } = appStoreBackupExclusionLimits;
|
|
599
|
+
const prefixEntries = readDataElements(valueArg, maximumKeyPrefixes);
|
|
600
|
+
if (prefixEntries === null || prefixEntries.length === 0) {
|
|
601
|
+
return reject(`Invalid ${labelArg}: expected an array of 1 to ${maximumKeyPrefixes} key prefixes`);
|
|
602
|
+
}
|
|
603
|
+
const keyPrefixes = [];
|
|
604
|
+
prefixEntries.forEach((prefixArg, indexArg) => {
|
|
605
|
+
const prefixLabel = `${labelArg}[${indexArg}]`;
|
|
606
|
+
const prefix = checkBackupExclusionKeyPrefix(prefixArg, prefixLabel);
|
|
607
|
+
const previousPrefix = keyPrefixes[keyPrefixes.length - 1];
|
|
608
|
+
if (previousPrefix !== undefined && compareWireTokens(previousPrefix, prefix) >= 0) {
|
|
609
|
+
reject(`Invalid ${labelArg}: must be strictly increasing`);
|
|
610
|
+
}
|
|
611
|
+
const covering = keyPrefixes.find((existingArg) => prefix.startsWith(existingArg));
|
|
612
|
+
if (covering !== undefined) {
|
|
613
|
+
reject(`Invalid ${prefixLabel}: '${prefix}' lies inside '${covering}'`);
|
|
614
|
+
}
|
|
615
|
+
keyPrefixes.push(prefix);
|
|
616
|
+
});
|
|
617
|
+
return keyPrefixes;
|
|
618
|
+
}
|
|
619
|
+
/**
|
|
620
|
+
* The members of each backup exclusion, its key prefixes and the entry order. Which request an
|
|
621
|
+
* entry names is judged once the config's requests are known (`checkBackupExclusionTargets`).
|
|
622
|
+
*/
|
|
623
|
+
function checkBackupExclusions(valueArg, labelArg) {
|
|
624
|
+
if (valueArg === undefined)
|
|
625
|
+
return [];
|
|
626
|
+
const { maximumEntries, maximumReasonLength } = appStoreBackupExclusionLimits;
|
|
627
|
+
const entries = readDataElements(valueArg, maximumEntries);
|
|
628
|
+
if (entries === null || entries.length === 0) {
|
|
629
|
+
return reject(`Invalid ${labelArg}: backupExclusions must contain between 1 and ${maximumEntries} entries`);
|
|
630
|
+
}
|
|
631
|
+
let previousRequest = null;
|
|
632
|
+
return entries.map((entryArg, indexArg) => {
|
|
633
|
+
const entryLabel = `${labelArg} backupExclusions[${indexArg}]`;
|
|
634
|
+
const entry = readRecord(entryArg, entryLabel);
|
|
635
|
+
assertExactKeys(entry, ['storageRequest', 'keyPrefixes', 'reason'], entryLabel);
|
|
636
|
+
const { storageRequest, reason } = entry;
|
|
637
|
+
if (typeof storageRequest !== 'string')
|
|
638
|
+
return reject(`Invalid ${entryLabel}.storageRequest: expected a string`);
|
|
639
|
+
if (previousRequest !== null && compareWireTokens(previousRequest, storageRequest) >= 0) {
|
|
640
|
+
reject(previousRequest === storageRequest
|
|
641
|
+
? `Invalid ${labelArg}: backupExclusions name storage request '${storageRequest}' more than once`
|
|
642
|
+
: `Invalid ${labelArg}: backupExclusions must be in strictly increasing storageRequest order`);
|
|
643
|
+
}
|
|
644
|
+
previousRequest = storageRequest;
|
|
645
|
+
const keyPrefixes = checkBackupExclusionKeyPrefixes(entry.keyPrefixes, `${entryLabel}.keyPrefixes`);
|
|
646
|
+
if (typeof reason !== 'string'
|
|
647
|
+
|| reason.length === 0
|
|
648
|
+
|| reason.length > maximumReasonLength
|
|
649
|
+
|| reason.trim() !== reason
|
|
650
|
+
|| controlCharacterPattern.test(reason)
|
|
651
|
+
|| hasUnpairedSurrogate(reason)) {
|
|
652
|
+
reject(`Invalid ${entryLabel}.reason: must be one trimmed line of 1 to ${maximumReasonLength} characters`);
|
|
653
|
+
}
|
|
654
|
+
return { storageRequest, keyPrefixes, reason };
|
|
655
|
+
});
|
|
656
|
+
}
|
|
657
|
+
/** Each backup exclusion names an object-storage request of the normalized config. */
|
|
658
|
+
function checkBackupExclusionTargets(exclusionsArg, objectStorageRequestIdsArg, filesystemRequestIdsArg, labelArg) {
|
|
659
|
+
exclusionsArg.forEach((exclusionArg, indexArg) => {
|
|
660
|
+
const { storageRequest } = exclusionArg;
|
|
661
|
+
if (objectStorageRequestIdsArg.has(storageRequest))
|
|
662
|
+
return;
|
|
663
|
+
const requestLabel = `${labelArg} backupExclusions[${indexArg}].storageRequest`;
|
|
664
|
+
if (filesystemRequestIdsArg.has(storageRequest)) {
|
|
665
|
+
reject(`Invalid ${requestLabel}: '${storageRequest}' is a filesystem request; only an objectStorage request declares backup exclusions`);
|
|
666
|
+
}
|
|
667
|
+
reject(`Invalid ${requestLabel}: '${storageRequest}' does not name an objectStorage request of this version`);
|
|
668
|
+
});
|
|
669
|
+
}
|
|
549
670
|
function checkLegacyVolumes(volumesArg, labelArg) {
|
|
550
671
|
if (volumesArg === undefined)
|
|
551
672
|
return [];
|
|
@@ -605,7 +726,8 @@ function checkStorage(configArg, labelArg) {
|
|
|
605
726
|
}
|
|
606
727
|
const storageClasses = checkStorageClasses(configArg.storageClasses, labelArg);
|
|
607
728
|
const explicitRequests = checkExplicitStorageRequests(configArg.storageRequests, storageClasses, destinations, labelArg);
|
|
608
|
-
|
|
729
|
+
const backupExclusions = checkBackupExclusions(configArg.backupExclusions, labelArg);
|
|
730
|
+
checkFeatureDeclaration(configArg.requiresFeatures, explicitRequests, backupExclusions, labelArg);
|
|
609
731
|
const legacyS3 = platformRequirements.s3 === true;
|
|
610
732
|
if (legacyS3 && explicitRequests.some((requestArg) => requestArg.kind === 'objectStorage')) {
|
|
611
733
|
reject(`Invalid ${labelArg}: platformRequirements.s3 cannot coexist with explicit objectStorage requests`);
|
|
@@ -617,6 +739,7 @@ function checkStorage(configArg, labelArg) {
|
|
|
617
739
|
reject(`Invalid ${labelArg}: storageClasses key '${legacyFilesystemClassKey}' is reserved for legacy volume normalization`);
|
|
618
740
|
}
|
|
619
741
|
const allMounts = explicitRequests.flatMap((requestArg) => (requestArg.kind === 'filesystem' ? [{ id: requestArg.id, mountPath: requestArg.mountPath }] : []));
|
|
742
|
+
const legacyVolumeRequestIds = [];
|
|
620
743
|
legacyVolumes.forEach((volumeArg, indexArg) => {
|
|
621
744
|
const requestId = legacyVolumeRequestId(volumeArg, indexArg, labelArg);
|
|
622
745
|
if (requestIds.has(requestId))
|
|
@@ -625,6 +748,7 @@ function checkStorage(configArg, labelArg) {
|
|
|
625
748
|
requestIds.add(requestId);
|
|
626
749
|
mountPaths.push(volumeArg.mountPath);
|
|
627
750
|
allMounts.push({ id: requestId, mountPath: volumeArg.mountPath });
|
|
751
|
+
legacyVolumeRequestIds.push(requestId);
|
|
628
752
|
});
|
|
629
753
|
if (legacyS3) {
|
|
630
754
|
if (storageClasses.has(legacyObjectStorageClassKey)) {
|
|
@@ -634,6 +758,13 @@ function checkStorage(configArg, labelArg) {
|
|
|
634
758
|
reject(`Invalid ${labelArg}: storage request id '${legacyObjectStorageRequestId}' is reserved for legacy S3 normalization`);
|
|
635
759
|
}
|
|
636
760
|
}
|
|
761
|
+
checkBackupExclusionTargets(backupExclusions, new Set([
|
|
762
|
+
...explicitRequests.flatMap((requestArg) => (requestArg.kind === 'objectStorage' ? [requestArg.id] : [])),
|
|
763
|
+
...(legacyS3 ? [legacyObjectStorageRequestId] : []),
|
|
764
|
+
]), new Set([
|
|
765
|
+
...explicitRequests.flatMap((requestArg) => (requestArg.kind === 'filesystem' ? [requestArg.id] : [])),
|
|
766
|
+
...legacyVolumeRequestIds,
|
|
767
|
+
]), labelArg);
|
|
637
768
|
const checkedMounts = [];
|
|
638
769
|
for (const mount of allMounts) {
|
|
639
770
|
assertNoPathCollision(mount.mountPath, checkedMounts, `${labelArg} request '${mount.id}'`);
|
|
@@ -657,10 +788,18 @@ export const validateAppStoreVersionPortModel = (configArg, labelArg = defaultLa
|
|
|
657
788
|
export const validateAppStorePublishedPorts = (publishedPortsArg, labelArg = defaultLabel) => firstRejection(() => checkPublishedPorts(publishedPortsArg, labelArg));
|
|
658
789
|
/**
|
|
659
790
|
* The config's member set and its storage: legacy `volumes`, `storageClasses`, `storageRequests`,
|
|
660
|
-
* `platformRequirements`, the storage feature ids `requiresFeatures` must name,
|
|
661
|
-
* environment, secret-file and mount destination being used once.
|
|
791
|
+
* `platformRequirements`, `backupExclusions`, the storage feature ids `requiresFeatures` must name,
|
|
792
|
+
* and every environment, secret-file and mount destination being used once.
|
|
662
793
|
*/
|
|
663
794
|
export const validateAppStoreVersionStorage = (configArg, labelArg = defaultLabel) => firstRejection(() => checkStorage(readConfig(configArg, labelArg), labelArg));
|
|
795
|
+
/**
|
|
796
|
+
* One backup exclusion's `keyPrefixes`, the rule `validateAppStoreVersionStorage` applies to each
|
|
797
|
+
* `IAppStoreBackupExclusion`: 1 to 16 prefixes in strictly increasing UTF-16 code-unit order, none
|
|
798
|
+
* inside another, each 1 to 512 UTF-8 bytes ending in `/`, without a leading `/`, an empty, `.` or
|
|
799
|
+
* `..` segment, a control character or an unpaired surrogate. A reader of a list that carries such
|
|
800
|
+
* prefixes elsewhere, such as a backup manifest, judges it here.
|
|
801
|
+
*/
|
|
802
|
+
export const validateAppStoreBackupExclusionKeyPrefixes = (valueArg, labelArg = 'keyPrefixes') => firstRejection(() => checkBackupExclusionKeyPrefixes(valueArg, labelArg));
|
|
664
803
|
/**
|
|
665
804
|
* Every member rule of a version config, in the order a host applies them: image, port model,
|
|
666
805
|
* container arguments, environment declarations, storage, platform OIDC, published ports.
|
|
@@ -682,4 +821,4 @@ export const validateAppStoreVersionConfig = (configArg, labelArg = defaultLabel
|
|
|
682
821
|
reject(`Invalid ${labelArg}: ${platformOidcErrors.join('; ')}`);
|
|
683
822
|
checkPublishedPorts(config.publishedPorts, labelArg);
|
|
684
823
|
});
|
|
685
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL2FwcHN0b3JlL3ZlcnNpb25jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCRztBQUNILE9BQU8sRUFBRSw0QkFBNEIsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBUXJFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRXBGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTdFLE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsdUNBQXVDLEVBQ3ZDLG1DQUFtQyxHQUNwQyxNQUFNLFlBQVksQ0FBQztBQUdwQixNQUFNLHVCQUF1QixHQUFHO0lBQzlCLE9BQU87SUFDUCxNQUFNO0lBQ04sZUFBZTtJQUNmLGFBQWE7SUFDYixTQUFTO0lBQ1Qsb0JBQW9CO0lBQ3BCLFNBQVM7SUFDVCxTQUFTO0lBQ1QsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtJQUNqQixnQkFBZ0I7SUFDaEIsc0JBQXNCO0lBQ3RCLGNBQWM7SUFDZCxrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGlCQUFpQjtJQUNqQixpQkFBaUI7SUFDakIsUUFBUTtJQUNSLGdCQUFnQjtJQUNoQixxQkFBcUI7SUFDckIsV0FBVztJQUNYLFVBQVU7SUFDVixzQkFBc0I7SUFDdEIsbUJBQW1CO0lBQ25CLHFCQUFxQjtJQUNyQixrQkFBa0I7SUFDbEIsYUFBYTtDQUNMLENBQUM7QUFFWCx1RkFBdUY7QUFDdkYsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBR2xDLE1BQU0sQ0FBQyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztBQUUzQyxNQUFNLFlBQVksR0FBRyxpQkFBaUIsQ0FBQztBQUN2QyxN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
|
|
824
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL2FwcHN0b3JlL3ZlcnNpb25jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUFDSCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQVFyRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVwRixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUU3RSxPQUFPLEVBQ0wsNkJBQTZCLEVBQzdCLHlCQUF5QixFQUN6Qix1Q0FBdUMsRUFDdkMsbUNBQW1DLEdBQ3BDLE1BQU0sWUFBWSxDQUFDO0FBT3BCLE1BQU0sdUJBQXVCLEdBQUc7SUFDOUIsT0FBTztJQUNQLE1BQU07SUFDTixlQUFlO0lBQ2YsYUFBYTtJQUNiLFNBQVM7SUFDVCxvQkFBb0I7SUFDcEIsU0FBUztJQUNULFNBQVM7SUFDVCxnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsc0JBQXNCO0lBQ3RCLGNBQWM7SUFDZCxrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGlCQUFpQjtJQUNqQixpQkFBaUI7SUFDakIsUUFBUTtJQUNSLGdCQUFnQjtJQUNoQixxQkFBcUI7SUFDckIsV0FBVztJQUNYLFVBQVU7SUFDVixzQkFBc0I7SUFDdEIsbUJBQW1CO0lBQ25CLHFCQUFxQjtJQUNyQixrQkFBa0I7SUFDbEIsYUFBYTtDQUNMLENBQUM7QUFFWCx1RkFBdUY7QUFDdkYsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBR2xDLE1BQU0s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
|
|
@@ -67,7 +67,11 @@ export interface IClusterHttpRoute {
|
|
|
67
67
|
* family (`192.0.2.10/32`, `2001:db8::/64`); a request from any other source is refused.
|
|
68
68
|
* Absent means every source. When present it lists 1 to
|
|
69
69
|
* `clusterIngressLimits.maximumSourceAllowListEntries` distinct prefixes, none of length zero:
|
|
70
|
-
* an unrestricted route omits the member rather than spelling "everyone" a second way.
|
|
70
|
+
* an unrestricted route omits the member rather than spelling "everyone" a second way. No prefix
|
|
71
|
+
* lies inside the IPv4-mapped range `::ffff:0:0/96`: the ingress compares an IPv4-mapped client
|
|
72
|
+
* as IPv4, so such a prefix could never match and the ingress refuses the whole table carrying
|
|
73
|
+
* it; an IPv4 source is written as IPv4 (`192.0.2.0/24`, not `::ffff:c000:200/120`). A shorter
|
|
74
|
+
* IPv6 prefix that merely contains that range is accepted and admits only IPv6 sources.
|
|
71
75
|
*
|
|
72
76
|
* Cloudly sets it on a hostname that is not public, to the addresses the gateway forwards from,
|
|
73
77
|
* so the gateway that checked the source stays the only way in. An ingress that applies it
|
|
@@ -135,7 +139,11 @@ export declare const isClusterIngressHostName: (valueArg: unknown) => valueArg i
|
|
|
135
139
|
/**
|
|
136
140
|
* Validates one source allowlist (`IClusterHttpRoute.sourceAllowList`) and names every reason it is
|
|
137
141
|
* refused: 1 to `clusterIngressLimits.maximumSourceAllowListEntries` distinct canonical address
|
|
138
|
-
* prefixes whose host bits are zero, none of length zero
|
|
142
|
+
* prefixes whose host bits are zero, none of length zero and none inside the IPv4-mapped range
|
|
143
|
+
* `::ffff:0:0/96` (prefix length 96 or more with the `::ffff` head). The ingress compares an
|
|
144
|
+
* IPv4-mapped client as IPv4, so a mapped entry could never match and the ingress refuses the whole
|
|
145
|
+
* table that carries one; the reason names the IPv4 prefix to write instead. A shorter IPv6 prefix
|
|
146
|
+
* that merely contains the mapped range still matches the IPv6 sources it names and is accepted.
|
|
139
147
|
*/
|
|
140
148
|
export declare const validateClusterRouteSourceAllowList: (valueArg: unknown, pathArg?: string) => string[];
|
|
141
149
|
/**
|
|
@@ -2,7 +2,7 @@ import { isPlausibleUnicastIpv4 } from '../private/ipv4.js';
|
|
|
2
2
|
import { isUtcCalendarDay } from '../private/utccalendarday.js';
|
|
3
3
|
import { validateProtocolOfferOn } from '../protocol.js';
|
|
4
4
|
import { hasExactKeys, readDataElements, readExactDataRecord } from '../private/dataproperties.js';
|
|
5
|
-
import { parseCanonicalIpPrefix } from '../private/ipaddress.js';
|
|
5
|
+
import { formatCanonicalIpPrefix, ipv4PrefixOfMapped, parseCanonicalIpPrefix, } from '../private/ipaddress.js';
|
|
6
6
|
import { isClusterNodeId } from '../private/nodeidentifier.js';
|
|
7
7
|
import { validateClusterRelay } from './cluster.js';
|
|
8
8
|
/**
|
|
@@ -116,7 +116,11 @@ const validateAuthentication = (valueArg, pathArg) => {
|
|
|
116
116
|
/**
|
|
117
117
|
* Validates one source allowlist (`IClusterHttpRoute.sourceAllowList`) and names every reason it is
|
|
118
118
|
* refused: 1 to `clusterIngressLimits.maximumSourceAllowListEntries` distinct canonical address
|
|
119
|
-
* prefixes whose host bits are zero, none of length zero
|
|
119
|
+
* prefixes whose host bits are zero, none of length zero and none inside the IPv4-mapped range
|
|
120
|
+
* `::ffff:0:0/96` (prefix length 96 or more with the `::ffff` head). The ingress compares an
|
|
121
|
+
* IPv4-mapped client as IPv4, so a mapped entry could never match and the ingress refuses the whole
|
|
122
|
+
* table that carries one; the reason names the IPv4 prefix to write instead. A shorter IPv6 prefix
|
|
123
|
+
* that merely contains the mapped range still matches the IPv6 sources it names and is accepted.
|
|
120
124
|
*/
|
|
121
125
|
export const validateClusterRouteSourceAllowList = (valueArg, pathArg = 'sourceAllowList') => {
|
|
122
126
|
const maximum = clusterIngressLimits.maximumSourceAllowListEntries;
|
|
@@ -127,6 +131,7 @@ export const validateClusterRouteSourceAllowList = (valueArg, pathArg = 'sourceA
|
|
|
127
131
|
const errors = [];
|
|
128
132
|
prefixes.forEach((prefixArg, indexArg) => {
|
|
129
133
|
const prefix = parseCanonicalIpPrefix(prefixArg);
|
|
134
|
+
const mappedIpv4 = prefix === null ? null : ipv4PrefixOfMapped(prefix);
|
|
130
135
|
if (prefix === null) {
|
|
131
136
|
errors.push(`${pathArg}[${indexArg}] must be a canonical address prefix whose host bits are zero`);
|
|
132
137
|
}
|
|
@@ -134,6 +139,14 @@ export const validateClusterRouteSourceAllowList = (valueArg, pathArg = 'sourceA
|
|
|
134
139
|
errors.push(`${pathArg}[${indexArg}] must not admit a whole address family; `
|
|
135
140
|
+ 'an unrestricted route omits sourceAllowList');
|
|
136
141
|
}
|
|
142
|
+
else if (mappedIpv4 !== null) {
|
|
143
|
+
// Its IPv4 form of `::ffff:0:0/96` would be `0.0.0.0/0`, itself refused above.
|
|
144
|
+
errors.push(`${pathArg}[${indexArg}] must not be IPv4-mapped: an IPv4-mapped prefix never matches, `
|
|
145
|
+
+ 'because the ingress compares clients as IPv4; '
|
|
146
|
+
+ (mappedIpv4.length === 0
|
|
147
|
+
? 'its IPv4 form admits a whole address family, and an unrestricted route omits sourceAllowList'
|
|
148
|
+
: `write ${formatCanonicalIpPrefix(mappedIpv4)}`));
|
|
149
|
+
}
|
|
137
150
|
else if (prefixes.indexOf(prefixArg) !== indexArg) {
|
|
138
151
|
errors.push(`${pathArg}[${indexArg}] repeats ${prefixArg}`);
|
|
139
152
|
}
|
|
@@ -483,4 +496,4 @@ export const validateClusterIngressRouteTableChange = (valueArg, pathArg = 'clus
|
|
|
483
496
|
? []
|
|
484
497
|
: [`${pathArg} revision must be a non-negative safe integer`];
|
|
485
498
|
};
|
|
486
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1c3RlcmluZ3Jlc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9kYXRhL2NsdXN0ZXJpbmdyZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBR3BEOzs7Ozs7Ozs7OztHQVdHO0FBRUgsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUNoRCwwQkFBMEIsRUFBRSxFQUFFO0lBQzlCLDBCQUEwQixFQUFFLElBQUk7SUFDaEMscUJBQXFCLEVBQUUsR0FBRztJQUMxQixhQUFhLEVBQUUsSUFBSTtJQUNuQixpQkFBaUIsRUFBRSxJQUFJO0lBQ3ZCLDJCQUEyQixFQUFFLEVBQUU7SUFDL0IsNkJBQTZCLEVBQUUsRUFBRTtJQUNqQyx5QkFBeUIsRUFBRSxJQUFJO0lBQy9CLG1CQUFtQixFQUFFLEdBQUc7SUFDeEIsdUJBQXVCLEVBQUUsR0FBRztJQUM1QiwwQkFBMEIsRUFBRSxFQUFFO0NBQy9CLENBQUMsQ0FBQztBQUVIOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDdEQsb0JBQW9CLEVBQUUsd0JBQXdCO0NBQ3RDLENBQUMs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
|
|
499
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1c3RlcmluZ3Jlc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9kYXRhL2NsdXN0ZXJpbmdyZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGtCQUFrQixFQUNsQixzQkFBc0IsR0FDdkIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBR3BEOzs7Ozs7Ozs7OztHQVdHO0FBRUgsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUNoRCwwQkFBMEIsRUFBRSxFQUFFO0lBQzlCLDBCQUEwQixFQUFFLElBQUk7SUFDaEMscUJBQXFCLEVBQUUsR0FBRztJQUMxQixhQUFhLEVBQUUsSUFBSTtJQUNuQixpQkFBaUIsRUFBRSxJQUFJO0lBQ3ZCLDJCQUEyQixFQUFFLEVBQUU7SUFDL0IsNkJBQTZCLEVBQUUsRUFBRTtJQUNqQyx5QkFBeUIsRUFBRSxJQUFJO0lBQy9CLG1CQUFtQixFQUFFLEdBQUc7SUFDeEIsdUJBQXVCLEVBQUUsR0FBRztJQUM1QiwwQkFBMEIsRUFBRSxFQUFFO0NBQy9CLENBQUMsQ0FBQztBQUVIOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDdEQsb0JB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
|