@namzu/sandbox 15.0.0 → 17.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.
Files changed (47) hide show
  1. package/CHANGELOG.md +324 -0
  2. package/README.md +223 -0
  3. package/dist/backends/aci-standby-pool/index.d.ts +22 -4
  4. package/dist/backends/aci-standby-pool/index.d.ts.map +1 -1
  5. package/dist/backends/aci-standby-pool/index.js +31 -7
  6. package/dist/backends/aci-standby-pool/index.js.map +1 -1
  7. package/dist/backends/docker/index.d.ts +408 -26
  8. package/dist/backends/docker/index.d.ts.map +1 -1
  9. package/dist/backends/docker/index.js +1173 -168
  10. package/dist/backends/docker/index.js.map +1 -1
  11. package/dist/backends/firecracker/transport.d.ts +156 -1
  12. package/dist/backends/firecracker/transport.d.ts.map +1 -1
  13. package/dist/backends/firecracker/transport.js +223 -29
  14. package/dist/backends/firecracker/transport.js.map +1 -1
  15. package/dist/backends/http-worker-client.d.ts +64 -2
  16. package/dist/backends/http-worker-client.d.ts.map +1 -1
  17. package/dist/backends/http-worker-client.js +78 -7
  18. package/dist/backends/http-worker-client.js.map +1 -1
  19. package/dist/backends/kubernetes/egress-policy.d.ts +193 -102
  20. package/dist/backends/kubernetes/egress-policy.d.ts.map +1 -1
  21. package/dist/backends/kubernetes/egress-policy.js +321 -146
  22. package/dist/backends/kubernetes/egress-policy.js.map +1 -1
  23. package/dist/backends/kubernetes/per-sandbox-policy.d.ts +6 -6
  24. package/dist/backends/kubernetes/per-sandbox-policy.d.ts.map +1 -1
  25. package/dist/backends/kubernetes/per-sandbox-policy.js +21 -53
  26. package/dist/backends/kubernetes/per-sandbox-policy.js.map +1 -1
  27. package/dist/backends/kubernetes/transport.d.ts +7 -0
  28. package/dist/backends/kubernetes/transport.d.ts.map +1 -1
  29. package/dist/backends/kubernetes/transport.js.map +1 -1
  30. package/dist/egress/proxy.d.ts +47 -2
  31. package/dist/egress/proxy.d.ts.map +1 -1
  32. package/dist/egress/proxy.js +31 -7
  33. package/dist/egress/proxy.js.map +1 -1
  34. package/dist/index.d.ts +130 -6
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +55 -5
  37. package/dist/index.js.map +1 -1
  38. package/package.json +4 -4
  39. package/src/backends/aci-standby-pool/index.ts +37 -7
  40. package/src/backends/docker/index.ts +1475 -196
  41. package/src/backends/firecracker/transport.ts +387 -36
  42. package/src/backends/http-worker-client.ts +89 -5
  43. package/src/backends/kubernetes/egress-policy.ts +455 -187
  44. package/src/backends/kubernetes/per-sandbox-policy.ts +21 -66
  45. package/src/backends/kubernetes/transport.ts +7 -0
  46. package/src/egress/proxy.ts +65 -8
  47. package/src/index.ts +162 -5
@@ -134,12 +134,16 @@ export type KubernetesEgressPolicy = EgressPolicy | KubernetesOnlyEgressPolicy;
134
134
  *
135
135
  * - `'union'` (the default) reads the NAMED object exactly as before AND
136
136
  * enumerates every `NetworkPolicy` — and, under `engine: 'cilium'`, every
137
- * `CiliumNetworkPolicy` — in the namespace, refusing when any policy that
138
- * selects the pod allows egress the configured translation does not. That
139
- * is not belt-and-braces: the API server UNIONS every policy selecting a
140
- * pod, so a second policy widens egress however exactly the named one
141
- * matches, and a `SandboxTemplate`'s own `networkPolicy` block becomes
142
- * exactly such a policy.
137
+ * `CiliumNetworkPolicy` — in the namespace, refusing when any OTHER policy
138
+ * that selects the pod allows egress the configured translation does not.
139
+ * The named object is left to the exact comparison, which is stronger than
140
+ * anything this rule could conclude about it — see
141
+ * {@link EgressPolicyDocument.namedObject} — and still counts as the policy
142
+ * that default-denies, so it is the enumeration's subject rather than an
143
+ * exception to it. That is not belt-and-braces: the API server UNIONS every
144
+ * policy selecting a pod, so a second policy widens egress however exactly
145
+ * the named one matches, and a `SandboxTemplate`'s own `networkPolicy`
146
+ * block becomes exactly such a policy.
143
147
  * - `'named-object-only'` is the documented opt-out, and restores the
144
148
  * previous behaviour exactly: one GET of the named object, memoized for
145
149
  * the backend's lifetime, and no enumeration. For a deployment whose
@@ -808,24 +812,33 @@ export declare class KubernetesEgressNarrowingUnsupportedError extends Error {
808
812
  * `CiliumNetworkPolicy` carrying one is an object the API server rejects on
809
813
  * apply — or, worse, accepts as a name that resolves to nothing, which reads
810
814
  * from the outside exactly like a policy that is working.
811
- *
812
- * `stateHostnameGrammar` is the one part of the message a caller can turn
813
- * off, because NOT every refusal can make that claim. It is false for the
814
- * config-level refusal of a leading-dot entry under `tlsServerNames`, whose
815
- * body has just said that the entry reaches the object as a literal
816
- * `matchName` admitting nothing with the option on or off: closing that
817
- * message with "'.example.com' for that domain and its subdomains" would
818
- * re-assert, as implemented, the very grammar whose absence is why the entry
819
- * is refused. Every other refusal keeps the sentence, the expanding branch of
820
- * the same one included.
821
815
  */
822
816
  export declare class KubernetesNetworkPolicyHostError extends Error {
823
817
  readonly host: string;
824
818
  readonly name = "KubernetesNetworkPolicyHostError";
825
- constructor(host: string, reason: string, options?: {
826
- readonly stateHostnameGrammar?: boolean;
827
- });
819
+ constructor(host: string, reason: string);
828
820
  }
821
+ /**
822
+ * The one grammar an `allowedHosts` entry has to satisfy, on EVERY path that
823
+ * emits one.
824
+ *
825
+ * It lives here, beside the class it throws, rather than in the per-sandbox
826
+ * module that first needed it: it is called from {@link
827
+ * buildCiliumEgressManifest} — the single builder both translations go
828
+ * through — so the config-level allowlist and a `setNetworkPolicy` list are
829
+ * refused the SAME entries, by name, with nothing emitted. That is the
830
+ * contract {@link KubernetesNetworkPolicyHostError} already states — it
831
+ * names entries rather than a config field, for exactly this reason — and a
832
+ * grammar only ONE of the two translations enforces is not one the other has:
833
+ * that is how the config-level translation came to pass `'.com'`, `'.'`,
834
+ * `'..example.com'`, `'*'` and an IP literal straight into the emitted
835
+ * `toFQDNs`, where the per-sandbox path refused every one of them.
836
+ *
837
+ * The per-sandbox writer still calls it too — {@link normalizeHost}, which
838
+ * lowercases and then calls this — because there it also CANONICALISES the
839
+ * bytes, before the fence is read and before anything is queued.
840
+ */
841
+ export declare function assertUsableHost(entry: string): void;
829
842
  /**
830
843
  * Every entry in `narrowing.ports`, `narrowing.hostPorts` and
831
844
  * `narrowing.tlsPorts` is a port the API server will actually accept, none of
@@ -858,17 +871,23 @@ export declare function assertCiliumNarrowingIsUsable(narrowing: KubernetesCiliu
858
871
  */
859
872
  export declare function assertEgressPolicyIsEnforceable(policy: KubernetesEgressPolicy, engine: KubernetesEgressEngine, narrowing?: KubernetesCiliumEgressNarrowing): void;
860
873
  /**
861
- * Which translation a host refusal is being spelled for, as ONE value.
862
- *
863
- * The refusal has two halves that have to agree — the sentence, which follows
864
- * from whether the translation expands a leading-dot entry, and the field
865
- * path, which follows from which field the caller set — and both are facts
866
- * about the SAME thing: the translation the caller is on. Passed as two
867
- * arguments they are decided from two inputs, and an expanding caller was
868
- * told to repair `config.egress.ciliumNarrowing` with the remedy that belongs
869
- * to `config.egress.perSandbox.narrowing` — a message sending a reader to a
870
- * field the entry never came from. Neither half means anything without the
871
- * other, so they travel together.
874
+ * Which field a host refusal sends the reader to — the ONE thing about a
875
+ * refusal that is still a fact about the caller rather than about the entry.
876
+ *
877
+ * It was two facts while the two translations differed in what they emitted:
878
+ * the sentence, which followed from whether the translation expanded a
879
+ * leading-dot entry, and the field path, which followed from which field the
880
+ * caller set. The config-level translation used to expand nothing, so it was
881
+ * both a different sentence and a different field; it now expands exactly as
882
+ * the per-sandbox one does, one entry no longer means two things, and the
883
+ * sentence is the same one on every path — so the field path is all that is
884
+ * left to get right, which is why it is the only field here.
885
+ *
886
+ * It still travels as one value rather than as a loose string argument,
887
+ * because there are exactly two legal ones and both are named below: a refusal
888
+ * is raised from the translation AND, earlier still, from the per-sandbox
889
+ * writer before it reads the fence, and the two have to name the same field
890
+ * for one entry however the earlier check is reached or skipped.
872
891
  */
873
892
  export interface HostsFitNarrowingContext {
874
893
  /**
@@ -876,18 +895,10 @@ export interface HostsFitNarrowingContext {
876
895
  * — the full path, as every other refusal in this module spells one.
877
896
  */
878
897
  readonly fieldPath: string;
879
- /**
880
- * Whether this translation turns a leading-dot entry into a `matchName`
881
- * plus a `matchPattern` — {@link ciliumFqdnEntries}. `true` for the
882
- * per-sandbox translation, `false` for the config-level one, whose emitted
883
- * bytes are pinned. Decides the refusal's sentence and its closing grammar
884
- * as well as the bytes, and all three are the same fact about one entry.
885
- */
886
- readonly expandsDottedEntries: boolean;
887
898
  }
888
899
  /**
889
- * The refusal context of the PER-SANDBOX translation — the one that expands,
890
- * and so the one `expandDomains: true` builds.
900
+ * The refusal context of the PER-SANDBOX translation — `egress.perSandbox`,
901
+ * whose allowlist comes from a host's own `setNetworkPolicy` call.
891
902
  *
892
903
  * Shared deliberately: the per-sandbox writer refuses a host by this context
893
904
  * before it reads the fence, and {@link buildCiliumEgressManifest} refuses the
@@ -898,7 +909,7 @@ export interface HostsFitNarrowingContext {
898
909
  export declare const PER_SANDBOX_NARROWING_REFUSAL: HostsFitNarrowingContext;
899
910
  /**
900
911
  * The refusal context of the config-level translation — `config.egress.policy`
901
- * and its `config.egress.ciliumNarrowing`, which expands nothing.
912
+ * and its `config.egress.ciliumNarrowing`.
902
913
  */
903
914
  export declare const CONFIG_LEVEL_NARROWING_REFUSAL: HostsFitNarrowingContext;
904
915
  /**
@@ -907,72 +918,69 @@ export declare const CONFIG_LEVEL_NARROWING_REFUSAL: HostsFitNarrowingContext;
907
918
  * `tlsServerNames` puts the entry on the rule as a TLS server name — one
908
919
  * exact SNI value a handshake presents — and a `.domain` entry is a set of
909
920
  * names no single SNI value means. Either way the emitted object would be
910
- * admitted by the shipped fence, read back deep-equal to what was sent, and
911
- * deny what the caller asked to allow — the failure every other refusal in
912
- * this module exists to prevent. Refused rather than translated another way,
921
+ * applied without complaint — nothing refuses an operator's apply: the
922
+ * shipped admission fence's `matchConditions` scope it to the sandbox host's
923
+ * ServiceAccount, so the config-level object is not matched by it — read back
924
+ * deep-equal to what was sent, and deny what the caller asked to allow — the
925
+ * failure every other refusal in this module exists to prevent. Refused
926
+ * rather than translated another way,
913
927
  * because both other ways are guesses: dropping the subdomains silently
914
928
  * narrows what the caller asked for, and a wildcard SNI value is not
915
929
  * something the Cilium versions these manifests are written against are
916
930
  * known here to match — an SNI that matches nothing denies just as
917
931
  * completely, and more quietly.
918
932
  *
919
- * The entry is refused for a DIFFERENT reason on each of the two paths, and
920
- * the message says which one the caller is on, because the same sentence
921
- * cannot be true of both:
922
- *
923
- * - `expandDomains` — the per-sandbox writer's translation, which turns
924
- * `.domain` into `matchName: domain` PLUS `matchPattern: '*.domain'`. No
925
- * single SNI value means that pair: `domain` alone denies every subdomain
926
- * the pattern admits, and the entry as written is not a name any handshake
927
- * presents at all.
928
- * - unexpanded — the config-level translation, which expands nothing. There
929
- * the entry reaches the object as the literal `matchName: '.domain'`,
930
- * which no DNS answer carries, so it already admits nothing; `serverNames`
931
- * on top of it is a second, independent denial. Telling this caller to
932
- * "leave tlsServerNames off for a domain list" would name a repair that is
933
- * not one — the config-level `.domain` entry denies the domain and every
934
- * subdomain with or without the option (a pre-existing defect of this
935
- * translation, deferred to its own change) — so it is not offered here.
936
- *
937
- * `context` is WHICH translation the refusal is being spelled for, as one
938
- * value — see {@link HostsFitNarrowingContext}. A reader has to be sent to
939
- * the field they actually set, and the sentence they are sent by has to be
940
- * true of the translation they are on, and both follow from that one fact:
941
- * passed separately, an expanding caller gets the per-sandbox remedy attached
942
- * to the config-level field name, a message whose only repair is a field the
943
- * entry never came from. Called from BOTH — the translation itself, so every
944
- * caller is covered, and the per-sandbox writer, which refuses earlier still,
945
- * before it reads the fence.
933
+ * One sentence, because one entry now means one thing: both translations turn
934
+ * `.domain` into `matchName: domain` PLUS `matchPattern: '*.domain'` — see
935
+ * {@link ciliumFqdnEntries} — and no single SNI value means that pair.
936
+ * `domain` alone denies every subdomain the pattern admits, and the entry as
937
+ * written is not a name any handshake presents at all.
938
+ *
939
+ * `context` is the field the refusal sends the reader to — see
940
+ * {@link HostsFitNarrowingContext}. A reader has to be sent to the field they
941
+ * actually set: passed as a loose string, an expanding caller was told to
942
+ * repair `config.egress.ciliumNarrowing` with the remedy that belongs to
943
+ * `config.egress.perSandbox.narrowing`, a message whose only repair is a field
944
+ * the entry never came from. Called from BOTH — the translation itself, so
945
+ * every caller is covered, and the per-sandbox writer, which refuses earlier
946
+ * still, before it reads the fence.
946
947
  */
947
948
  export declare function assertHostsFitNarrowing(allowedHosts: readonly string[], narrowing: KubernetesCiliumEgressNarrowing | undefined, context: HostsFitNarrowingContext): void;
948
949
  /**
949
950
  * One allowlist entry, expanded to the `toFQDNs` entries it means.
950
951
  *
951
- * `SandboxNetworkPolicy.allowedHosts`'s own grammar, which the SDK states and
952
- * the docker backend implements: `api.example.com` is that host, and
953
- * `.example.com` is the domain AND its subdomains. Cilium's `matchName` is an
954
- * exact name and does not match across a `.`, so the domain form needs the
955
- * name plus a `matchPattern` — `*.example.com` alone would admit
956
- * `a.example.com` and not `example.com` itself.
957
- *
958
- * Used by the PER-SANDBOX policy only. The config-level translation
959
- * (`config.egress.policy`) deliberately does not expand anything: what it
960
- * emits for a given config is pinned byte-for-byte, because verification of
961
- * the named object is an exact match and a changed translation fails every
962
- * `create()` on every deployment that already applied a policy.
952
+ * `SandboxNetworkPolicy.allowedHosts`'s own grammar, which the SDK states —
953
+ * `packages/sdk/src/types/sandbox/index.ts`'s `allowedHosts` — and which
954
+ * `src/egress/allowlist.ts` implements for the docker backend: `api.example.com`
955
+ * is that host, and `.example.com` is the domain AND its subdomains. Cilium's
956
+ * `matchName` is an exact name and does not match across a `.`, so the domain
957
+ * form needs the name plus a `matchPattern` — `*.example.com` alone would
958
+ * admit `a.example.com` and not `example.com` itself.
959
+ *
960
+ * Used by BOTH translations. The config-level one used to emit a leading-dot
961
+ * entry verbatim instead, which no DNS answer carries and so denied the
962
+ * domain and every subdomain it was asked to allow, after a create that
963
+ * reported success — but "the config-level bytes are pinned" was never a
964
+ * contract the pinned bytes honoured, and one entry has to mean one thing on
965
+ * every backend.
963
966
  */
964
967
  export declare function ciliumFqdnEntries(entry: string): readonly Readonly<Record<string, string>>[];
965
968
  /**
966
969
  * Everything a `CiliumNetworkPolicy` for a hostname allowlist is built from.
967
970
  *
968
971
  * ONE builder, two callers: the config-level translation below, whose
969
- * selector is the template (and profile) label and whose emitted bytes are
970
- * pinned, and the per-sandbox policy in `per-sandbox-policy.ts`, whose
971
- * selector is one per-sandbox label and which additionally carries an
972
- * `ownerReferences` entry so the cluster garbage-collects it. A second
973
- * builder would be a second answer to what a namzu egress policy looks like,
974
- * and the read-back comparator would then be verifying one of them against
975
- * the other's shape.
972
+ * selector is the template (and profile) label, and the per-sandbox policy in
973
+ * `per-sandbox-policy.ts`, whose selector is one per-sandbox label and which
974
+ * additionally carries an `ownerReferences` entry so the cluster
975
+ * garbage-collects it. A second builder would be a second answer to what a
976
+ * namzu egress policy looks like, and the read-back comparator would then be
977
+ * verifying one of them against the other's shape.
978
+ *
979
+ * The two callers now differ in nothing this interface cannot spell out: the
980
+ * same entries become the same bytes and a refusal uses the same sentence on
981
+ * both, so what is left of "which caller this is" is
982
+ * {@link CiliumEgressManifestOptions.refusalContext} — the field a refusal
983
+ * names.
976
984
  */
977
985
  export interface CiliumEgressManifestOptions {
978
986
  readonly namespace: string;
@@ -986,17 +994,17 @@ export interface CiliumEgressManifestOptions {
986
994
  /** `metadata.ownerReferences`. Absent ⇒ the metadata is what it always was. */
987
995
  readonly ownerReferences?: readonly KubernetesOwnerReference[];
988
996
  /**
989
- * Expand a leading-dot entry into `matchName` plus `matchPattern` — see
990
- * {@link ciliumFqdnEntries}. Off by default, because the config-level
991
- * translation's emitted bytes are pinned.
997
+ * The field a refusal for one of these hosts sends its reader to — see
998
+ * {@link HostsFitNarrowingContext}. REQUIRED, not defaulted: there is no
999
+ * way to tell from inside this function which config the caller's hosts
1000
+ * came from, and a refusal that names a field the caller never set is a
1001
+ * remedy that does not exist for them.
992
1002
  *
993
- * This option IS the translation, not a formatting flag on it: it selects
994
- * the emitted bytes, the sentence a refusal carries and the field that
995
- * refusal names, all from one value — see
996
- * {@link HostsFitNarrowingContext}. There is no way to ask for one without
997
- * the others, and none should be added.
1003
+ * The bytes are not this option's business any more, and neither is the
1004
+ * sentence a refusal uses: there is one translation of an allowlist entry,
1005
+ * so both are the same for every caller whatever this says.
998
1006
  */
999
- readonly expandDomains?: boolean;
1007
+ readonly refusalContext: HostsFitNarrowingContext;
1000
1008
  }
1001
1009
  export declare function buildCiliumEgressManifest(options: CiliumEgressManifestOptions): KubernetesTranslatedEgressPolicy;
1002
1010
  /**
@@ -1045,8 +1053,16 @@ export declare class KubernetesEgressPolicyMismatchError extends Error {
1045
1053
  * `../docker/index.ts`'s `assertNetworkCarriesThePolicy`, which inspects the
1046
1054
  * daemon's own `{{.Internal}}` flag instead of trusting a network's name.
1047
1055
  *
1048
- * Checks exactly three things, each named separately in a mismatch so an
1049
- * operator sees which one to fix:
1056
+ * Checks four things, each named separately in a mismatch so an operator sees
1057
+ * which one to fix:
1058
+ * - the object carries NO `specs` list. A `CiliumNetworkPolicy` carries
1059
+ * EITHER one `spec` or a `specs` list and a rule in either one enforces,
1060
+ * while every check below reads `spec` alone — so an object carrying both
1061
+ * would be compared on half of what it enforces. This is refused and not
1062
+ * read, because a comparison that accepts rules it never looked at is the
1063
+ * one answer this function must not give; the shipped admission fence
1064
+ * refuses a `specs` list for the same reason. The translation never emits
1065
+ * one, so its presence is drift and not an alternative spelling;
1050
1066
  * - the selector (`podSelector` for `NetworkPolicy`, `endpointSelector` for
1051
1067
  * `CiliumNetworkPolicy`) carries the expected template label:
1052
1068
  * - `NetworkPolicy` additionally declares `policyTypes` including
@@ -1151,6 +1167,23 @@ export interface EgressAllowance {
1151
1167
  readonly permitsNothing: boolean;
1152
1168
  /** The configured kind, for the refusal message. */
1153
1169
  readonly policyKind: KubernetesEgressPolicy['kind'];
1170
+ /**
1171
+ * The object this allowance is the allowance OF — `translated.kind` and
1172
+ * `translated.name`, the object `config.egress` translates to and an
1173
+ * operator applies.
1174
+ *
1175
+ * The union rule reads every OTHER policy in the namespace against this
1176
+ * allowance, and this pair is what says which of the listed objects is the
1177
+ * named one, so {@link decideEgressUnion} can leave that object's `spec`
1178
+ * document to {@link verifyEgressPolicyApplied} instead of judging it here.
1179
+ * See {@link EgressPolicyDocument.namedObject} for what that comparison
1180
+ * reads, which documents it covers, and why the exemption is not an
1181
+ * optimisation.
1182
+ */
1183
+ readonly namedObject: {
1184
+ readonly kind: 'NetworkPolicy' | 'CiliumNetworkPolicy';
1185
+ readonly name: string;
1186
+ };
1154
1187
  }
1155
1188
  /**
1156
1189
  * The allowance a translated policy expresses. See {@link EgressAllowance}.
@@ -1230,6 +1263,50 @@ export interface EgressPolicyDocument {
1230
1263
  readonly rules: readonly EgressRuleVerdict[];
1231
1264
  /** Set when the OBJECT could not be read. It decides alone. */
1232
1265
  readonly unreadable?: string;
1266
+ /**
1267
+ * This document is the one {@link verifyEgressPolicyApplied} compared to
1268
+ * the translation on this same create path, before this check runs: the
1269
+ * document built from the named object's `spec`, and nothing else.
1270
+ *
1271
+ * Marked so {@link decideEgressUnion} does not judge its RULES, because
1272
+ * the translation's own allowance cannot express one of them.
1273
+ * `egressAllowance` records a `toFQDNs` entry by its `matchName`, while a
1274
+ * `.domain` entry the translation emits is a `matchName` PLUS a
1275
+ * `matchPattern` — so the pattern half read as widening and the check
1276
+ * refused the very object it had just told the operator to apply,
1277
+ * permanently and on every `create()`.
1278
+ *
1279
+ * What the exempting comparison actually reads, because this marking is
1280
+ * only as sound as it is: `spec.podSelector`/`spec.endpointSelector`,
1281
+ * `spec.policyTypes` (core), `spec.egress`, and any `metadata.ownerReferences`
1282
+ * the translation carries. It is NOT a comparison of the whole object, so
1283
+ * the marking is scoped to what it covers:
1284
+ *
1285
+ * - Only the document built from `item.spec` is marked. A document built
1286
+ * from an `item.specs` entry is judged by {@link decideEgressUnion} like
1287
+ * any other object's — a rule in either spelling enforces, so a `specs`
1288
+ * entry that allows more than the translation is refused by name.
1289
+ * - {@link verifyEgressPolicyApplied} REFUSES a live object carrying a
1290
+ * `specs` list at all, which is what makes the first point airtight
1291
+ * rather than merely narrower: the translation never emits one, and half
1292
+ * of what such an object enforces would be rules that comparison never
1293
+ * read.
1294
+ *
1295
+ * What is NOT redundant, and the reason the document stays in the
1296
+ * enumeration at all, is whether it puts this pod in egress default-deny:
1297
+ * dropping it would report a deployment whose only applied policy is the
1298
+ * named one as having no boundary at all, which is a deployment that
1299
+ * verifies today.
1300
+ *
1301
+ * The cost is stated rather than hidden: the named check is memoized on
1302
+ * success for the boundary's lifetime, so a named object that drifts WIDER
1303
+ * after its own check has passed is no longer caught by this one — it is
1304
+ * caught by the named comparison at the next construction. Before this
1305
+ * exemption there was a second net under a five-minute cache; the
1306
+ * alternative is a check that refuses the object it has just told an
1307
+ * operator to apply.
1308
+ */
1309
+ readonly namedObject?: boolean;
1233
1310
  }
1234
1311
  /** Every core `NetworkPolicy` in the list, reduced to {@link EgressPolicyDocument}. */
1235
1312
  export declare function readCoreEgressPolicies(items: readonly unknown[], target: EgressVerificationTarget, allowance: EgressAllowance): EgressPolicyDocument[];
@@ -1252,6 +1329,15 @@ export interface EgressUnionDecision {
1252
1329
  * translation is the finding however many narrower ones sit beside it, and a
1253
1330
  * pod no policy default-denies has no egress boundary at all whatever the
1254
1331
  * named object says.
1332
+ *
1333
+ * The named object's `spec` is the one document whose rules are not judged
1334
+ * here — see {@link EgressPolicyDocument.namedObject} — and it was compared to
1335
+ * the translation by {@link verifyEgressPolicyApplied} on the same create path
1336
+ * just before. Its SELECTOR and its egress-scoping still decide, which is what
1337
+ * keeps "nothing bounds this pod" answerable for a deployment whose only
1338
+ * policy is that one; and a document built from a `specs` entry is judged here
1339
+ * like any other object's, because the exempting comparison refuses an object
1340
+ * carrying a `specs` list rather than reading one.
1255
1341
  */
1256
1342
  export declare function decideEgressUnion(documents: readonly EgressPolicyDocument[], allowance: EgressAllowance): EgressUnionDecision;
1257
1343
  /**
@@ -1283,7 +1369,12 @@ export declare class KubernetesEgressPolicyUnionError extends Error {
1283
1369
  * Verify-not-trust, widened from one object to the union: list the
1284
1370
  * namespace's policies, evaluate every one that selects this pod against the
1285
1371
  * configured translation, and refuse unless nothing lets out more than
1286
- * `config.egress` says.
1372
+ * `config.egress` says. The named object's `spec` document is the one
1373
+ * exception, and it was compared to the translation by
1374
+ * {@link verifyEgressPolicyApplied} on this same create path just before this
1375
+ * one — see {@link EgressPolicyDocument.namedObject}: a Cilium object that
1376
+ * carries a `specs` list is refused there outright, so a `specs` entry is
1377
+ * judged HERE, like any other object's rules.
1287
1378
  *
1288
1379
  * Runs beside the ingress check on every create path — before the POST for a
1289
1380
  * directly created Sandbox, where the labels are known and a refusal leaves
@@ -1 +1 @@
1
- {"version":3,"file":"egress-policy.d.ts","sourceRoot":"","sources":["../../../src/backends/kubernetes/egress-policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"egress-policy.d.ts","sourceRoot":"","sources":["../../../src/backends/kubernetes/egress-policy.ts"],"names":[],"mappings":"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"}