@mark1russell7/kind 0.14.2 → 0.14.4

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/build/index.d.ts CHANGED
@@ -1,10 +1,9 @@
1
- import { $ as factsOf, $n as DATAPLANES, $t as transitionOf, A as KindCellResult, An as KubeletProbe, At as failuresOf, B as upgradeCell, Bn as ReconnectsPrediction, Bt as restartOf, C as BandV1, Cn as Band, Ct as ZtunnelPodLine, D as FORMAT_V1, Dn as Flap, Dt as deletionOf, E as FORMAT, En as EdgeProtocol, Et as byNode, F as RunCheckV1, Fn as NonePrediction, Ft as periodOf, G as LAST_SLACK, Gn as Stack, Gt as signalsOf, H as KIND_NOISE, Hn as Reference, Ht as rulesOf, I as RunFactsV1, In as PermittedWindow, It as podsAt, J as RunCheck, Jn as TriggerKind, Jt as sliceReadyAt, K as Propagated, Kn as Template, Kt as sliceDropOf, L as TriggerV1, Ln as PodSettings, Lt as podsOf, M as KindVerdictV1, Mn as Mesh, Mt as isTunnelState, N as LoadSample, Nn as MeshFlavor, Nt as kernelCounts, O as KindCellRecord, On as KindCell, Ot as dropOf, P as PredictionV1, Pn as MeshMode, Pt as outcomesOf, Q as deletionsOf, Qn as Workload, Qt as stoppingOf, R as judge, Rn as Prediction, Rt as recordsOf, S as timeSpread, Sn as Backoff, St as TunnelLine, T as EnvironmentManifest, Tn as Declaration, Tt as byClients, U as KindDecision, Un as Replica, Ut as sessionsAt, V as Deleted, Vn as RedisDeclaration, Vt as restartsAt, W as KindVerdict, Wn as ResetReuse, Wt as signalOf, X as checkRun, Xn as VipSettings, Xt as slicesOf, Y as RunFacts, Yn as VipAnnouncerName, Yt as sliceReadyOf, Z as cyclesOf, Zn as WindowPrediction, Zt as socketsOf, _ as TimeSpread, _n as requestBand, _r as scenario, _t as RulesLine, a as judgeReconnects, an as LB_CLASS, ar as NODE_IMAGES, at as referenceOf, b as medianText, bn as showBand, bt as SocketLine, c as RELATIVE, cn as PORT, cr as ZONE_LABEL, ct as updatesOf, d as quantileOf, dn as VIP_ANNOTATION, dr as cidrRange, dt as Line, en as tunnelsOf, er as Dataplane, et as judgeKind, f as STAGES, fn as CountBand, fr as goDuration, ft as Period, g as Judged, gn as overshootBand, gr as nodeNames, gt as Request, h as readRecord, hn as drainBand, hr as kubeProxyPatch, ht as RecordLine, i as Try, in as HEALTH_PORT, ir as KubeProxyMode, it as propagationSource, j as KindCellV1, jn as MemberlistSettings, jt as intakeOf, k as KindCellRecordV1, kn as KindRun, kt as emptyOf, l as medianInterval, ln as REDIS, lr as ZONE_LOST, lt as Endpoint, m as kindCellRecordV1Schema, mn as bandOf, mr as kindConfig, mt as PropagationSource, n as Return, nn as ztunnelReplaced, nr as KindConfig, nt as observationEnd, o as latestReturn, on as LOG_LABEL, or as NodeImage, ot as reusesReset, p as kindCellRecordSchema, pn as backlogEnd, pr as isKubeProxyMode, pt as PodLine, q as ReconnectsFacts, qn as Trigger, qt as sliceEmptyOf, r as Schedule, rn as CLIENT, rr as KindScenario, rt as propagationOf, s as triesOf, sn as OUTSIDE, sr as ZONE_KEPT, st as unitOf, t as Reconnects, tn as ztunnelPodsOf, tr as KUBE_PROXY_MODES, tt as observationAfter, u as middle, un as SERVER, ur as cidrOverlap, ut as HBONE_PORT, v as calibrationOf, vn as seconds, vr as scenarioProblems, vt as Sessions, w as ClusterManifest, wn as Cycle, wt as backendsAt, x as predictionText, xn as BacklogTerm, xt as TCP_STATE, y as cellsTable, yn as secondsOf, yr as zoneOf, yt as SliceLine, z as upgrade, zn as PulsarSettings, zt as requestsOf } from "./judge-DLn2PLxb.js";
1
+ import { $ as factsOf, $n as DATAPLANES, $t as transitionOf, A as KindCellResult, An as KubeletProbe, At as failuresOf, B as upgradeCell, Bn as ReconnectsPrediction, Bt as restartOf, C as BandV1, Cn as Band, Ct as ZtunnelPodLine, D as FORMAT_V1, Dn as Flap, Dt as deletionOf, E as FORMAT, En as EdgeProtocol, Et as byNode, F as RunCheckV1, Fn as NonePrediction, Ft as periodOf, G as LAST_SLACK, Gn as Stack, Gt as signalsOf, H as KIND_NOISE, Hn as Reference, Ht as rulesOf, I as RunFactsV1, In as PermittedWindow, It as podsAt, J as RunCheck, Jn as TriggerKind, Jt as sliceReadyAt, K as Propagated, Kn as Template, Kt as sliceDropOf, L as TriggerV1, Ln as PodSettings, Lt as podsOf, M as KindVerdictV1, Mn as Mesh, Mt as isTunnelState, N as LoadSample, Nn as MeshFlavor, Nt as kernelCounts, O as KindCellRecord, On as KindCell, Ot as dropOf, P as PredictionV1, Pn as MeshMode, Pt as outcomesOf, Q as deletionsOf, Qn as Workload, Qt as stoppingOf, R as judge, Rn as Prediction, Rt as recordsOf, S as timeSpread, Sn as Backoff, St as TunnelLine, T as EnvironmentManifest, Tn as Declaration, Tt as byClients, U as KindDecision, Un as Replica, Ut as sessionsAt, V as Deleted, Vn as RedisDeclaration, Vt as restartsAt, W as KindVerdict, Wn as ResetReuse, Wt as signalOf, X as checkRun, Xn as VipSettings, Xt as slicesOf, Y as RunFacts, Yn as VipAnnouncerName, Yt as sliceReadyOf, Z as cyclesOf, Zn as WindowPrediction, Zt as socketsOf, _ as TimeSpread, _n as requestBand, _r as scenario, _t as RulesLine, a as judgeReconnects, an as LB_CLASS, ar as NODE_IMAGES, at as referenceOf, b as medianText, bn as showBand, bt as SocketLine, c as RELATIVE, cn as PORT, cr as ZONE_LABEL, ct as updatesOf, d as quantileOf, dn as VIP_ANNOTATION, dr as cidrRange, dt as Line, en as tunnelsOf, er as Dataplane, et as judgeKind, f as STAGES, fn as CountBand, fr as goDuration, ft as Period, g as Judged, gn as overshootBand, gr as nodeNames, gt as Request, h as readRecord, hn as drainBand, hr as kubeProxyPatch, ht as RecordLine, i as Try, in as HEALTH_PORT, ir as KubeProxyMode, it as propagationSource, j as KindCellV1, jn as MemberlistSettings, jt as intakeOf, k as KindCellRecordV1, kn as KindRun, kt as emptyOf, l as medianInterval, ln as REDIS, lr as ZONE_LOST, lt as Endpoint, m as kindCellRecordV1Schema, mn as bandOf, mr as kindConfig, mt as PropagationSource, n as Return, nn as ztunnelReplaced, nr as KindConfig, nt as observationEnd, o as latestReturn, on as LOG_LABEL, or as NodeImage, ot as reusesReset, p as kindCellRecordSchema, pn as backlogEnd, pr as isKubeProxyMode, pt as PodLine, q as ReconnectsFacts, qn as Trigger, qt as sliceEmptyOf, r as Schedule, rn as CLIENT, rr as KindScenario, rt as propagationOf, s as triesOf, sn as OUTSIDE, sr as ZONE_KEPT, st as unitOf, t as Reconnects, tn as ztunnelPodsOf, tr as KUBE_PROXY_MODES, tt as observationAfter, u as middle, un as SERVER, ur as cidrOverlap, ut as HBONE_PORT, v as calibrationOf, vn as seconds, vr as scenarioProblems, vt as Sessions, w as ClusterManifest, wn as Cycle, wt as backendsAt, x as predictionText, xn as BacklogTerm, xt as TCP_STATE, y as cellsTable, yn as secondsOf, yr as zoneOf, yt as SliceLine, z as upgrade, zn as PulsarSettings, zt as requestsOf } from "./judge-Cg6FY76s.js";
2
2
  import { Quantity } from "@mark1russell7/quantity";
3
3
  import { CheckFn, Coupling, Finding, HealthServer, Poll, Scenario, ServiceBuilder, ServiceDescription, Stage, StopWay, Timing, TransportImpl, Verdict } from "@mark1russell7/service";
4
4
  import { BuildImage } from "@mark1russell7/harness";
5
5
  import { RedisClient } from "@mark1russell7/service/redis";
6
6
  import { DRAIN_RULES, O04, O09, O10, O16 } from "@mark1russell7/service/rules";
7
- //#region src/backends.d.ts
8
7
  /** A service rule names the Service whose backends the agent reads: its namespace, its name, and its ClusterIP and port for IPVS and Cilium. */
9
8
  interface ServiceRule {
10
9
  readonly mode: "iptables" | "ipvs" | "nftables" | "cilium";
@@ -40,8 +39,6 @@ export declare const ciliumBackendsOf: (text: string, rule: Pick<ServiceRule, "i
40
39
  * name it as `namespace/name`. The JSON of Cilium names it in the flags of its frontend.
41
40
  */
42
41
  export declare const namesService: (mode: ServiceRule["mode"], text: string, rule: Pick<ServiceRule, "ns" | "svc">) => boolean;
43
- //#endregion
44
- //#region src/cluster.d.ts
45
42
  /** The credentials of the API, as a container on the network of the cluster reaches it. */
46
43
  interface Credentials {
47
44
  readonly server: string;
@@ -74,8 +71,6 @@ interface Cluster {
74
71
  * between the nodes.
75
72
  */
76
73
  export declare const createCluster: (scenario: KindScenario, dir: string) => Promise<Cluster>;
77
- //#endregion
78
- //#region src/helm.d.ts
79
74
  /**
80
75
  * This module installs a Helm chart that is pinned by the sha256 of its file. The installs of Cilium
81
76
  * (`cilium.ts`) and of MetalLB (`metallb.ts`) use it. Helm keeps its own files in the folder of the
@@ -101,8 +96,6 @@ export declare const ensurePinnedChart: (chart: PinnedChart, cache?: string, get
101
96
  export declare const helmInstall: (cluster: Pick<Cluster, "dir" | "kubeconfig">, release: string, chart: PinnedChart, namespace: string, values: Readonly<Record<string, unknown>>, options?: {
102
97
  readonly createNamespace?: boolean;
103
98
  }) => Promise<void>;
104
- //#endregion
105
- //#region src/cilium.d.ts
106
99
  /**
107
100
  * This module installs Cilium 1.20.4 in a kind cluster with Helm, from images pinned by digest.
108
101
  * Cilium is the CNI and replaces kube-proxy (the dataplane `cilium`). Each value of the install
@@ -163,8 +156,6 @@ export declare const installCilium: (cluster: Cluster, images: CiliumImages) =>
163
156
  export declare const CILIUM_CONFIG_KEYS: readonly string[];
164
157
  /** This function gives the mode of a cluster manifest of the dataplane `cilium`, from the data of the configmap `cilium-config`. */
165
158
  export declare const ciliumMode: (data: Readonly<Record<string, string>>) => string;
166
- //#endregion
167
- //#region src/compose.d.ts
168
159
  /** These are the parts of a running service. A composition for `lint()` gives none of them. */
169
160
  interface Parts {
170
161
  readonly redis?: RedisClient | undefined;
@@ -196,8 +187,6 @@ export declare const sharedGate: (server: HealthServer, dependency: string, coup
196
187
  * client, because the client declares the dependency and its checks.
197
188
  */
198
189
  export declare const compose: (name: string, declaration: Declaration, parts?: Parts) => ServiceBuilder;
199
- //#endregion
200
- //#region src/eds.d.ts
201
190
  /**
202
191
  * These are the hosts of a cluster: the healthy ones (`b`, in sequence), and each other host with its
203
192
  * health flags (`u`). Each host is `ip:port`.
@@ -219,8 +208,6 @@ export declare const clusterFilter: (cluster: string) => string;
219
208
  * flags that the host has (`clusters_handler.cc` and `host_utility.cc` of Envoy v1.39.4).
220
209
  */
221
210
  export declare const hostsOf: (text: string, cluster: string) => ClusterHosts;
222
- //#endregion
223
- //#region src/faults.d.ts
224
211
  /**
225
212
  * This module maps each trigger of a cell to the acts of the lab, as data. The runner finds each
226
213
  * target at the time of the run. A target is a pod, the PID of a container, the network namespace
@@ -448,8 +435,6 @@ export declare const POD_LINK = "eth0";
448
435
  export declare const NETEM_DRAIN: Quantity;
449
436
  /** This function tells if a trigger stops a pod of the service with its grace: a deletion, an eviction, a scale-in or a rollout. */
450
437
  export declare const deletes: (cell: KindCell) => boolean;
451
- //#endregion
452
- //#region src/image.d.ts
453
438
  /**
454
439
  * This function stages the build context of the lab image. In the workspace, it builds the packages
455
440
  * of the repository and packs each one as npm gets it. From npm, it packs the installed packages.
@@ -469,8 +454,6 @@ export declare const labSource: (context: string) => BuildImage;
469
454
  * the cache. Thus a later call stages and builds again after a fault of Docker or of the network.
470
455
  */
471
456
  export declare const labImage: () => Promise<string>;
472
- //#endregion
473
- //#region src/istio.d.ts
474
457
  /**
475
458
  * This module installs Istio 1.31.3 in a kind cluster with istioctl, from images pinned by digest.
476
459
  * The release notes of 1.31.2 and 1.31.3 change no default that a cell of T15 reads. Each value
@@ -584,8 +567,6 @@ export declare const leafCertificates: (pod: string, json: string) => LeafCertif
584
567
  * localhost only (config.rs of ztunnel 1.31.3, lines 831–835).
585
568
  */
586
569
  export declare const ztunnelCertificates: (cluster: Cluster) => Promise<LeafCertificate[]>;
587
- //#endregion
588
- //#region src/lab.d.ts
589
570
  /** A stamp brackets an act on CLOCK_MONOTONIC, in milliseconds. */
590
571
  interface Stamp {
591
572
  readonly t0: number;
@@ -722,8 +703,6 @@ interface KindLab {
722
703
  export declare const openKindLab: (cluster: Cluster, image: string) => Promise<KindLab>;
723
704
  /** This function pins a Docker image by digest under a local tag that holds the digest, for `kind load` and `imagePullPolicy: Never`. */
724
705
  export declare const localPin: (image: string) => Promise<string>;
725
- //#endregion
726
- //#region src/kubevip.d.ts
727
706
  /**
728
707
  * This module installs kube-vip 1.3.1 in a kind cluster (SYS-51). The install gives a Service of type
729
708
  * LoadBalancer an address on the Docker network of the nodes: the VIP. In ARP mode, one node holds
@@ -839,8 +818,6 @@ export declare const installKubeVip: (cluster: Cluster, image: string, holder: s
839
818
  * gives null, or why not in `within` ms.
840
819
  */
841
820
  export declare const vipServed: (cluster: Pick<Cluster, "kubectl">, namespace: string, service: string, vip: string, within?: number) => Promise<string | null>;
842
- //#endregion
843
- //#region src/announcer.d.ts
844
821
  /**
845
822
  * This module gives one shape to each announcer of a VIP: kube-vip (SYS-51) and MetalLB in L2 mode
846
823
  * (SYS-53). The lab, the Service of the VIP and the clients outside the cluster are the same for
@@ -879,8 +856,6 @@ export declare const macsAt: (found: ReadonlyArray<{
879
856
  readonly client: string;
880
857
  readonly mac: string | null;
881
858
  }>, mac: string, count: number) => string | null;
882
- //#endregion
883
- //#region src/metallb.d.ts
884
859
  /**
885
860
  * This module installs MetalLB 0.16.1 in L2 mode in a kind cluster (SYS-53). The controller of
886
861
  * MetalLB gives a Service of type LoadBalancer an address from a pool: the VIP. A speaker on each
@@ -1020,8 +995,6 @@ export declare const installMetallb: (cluster: Cluster, images: MetallbImages, n
1020
995
  * some lines of each speaker. The lines are about memberlist and the announces, with the times of the kubelet.
1021
996
  */
1022
997
  export declare const metallbRecord: (cluster: Pick<Cluster, "kubectl">, namespace: string, service: string) => Promise<Record<string, unknown>>;
1023
- //#endregion
1024
- //#region src/pulsar.d.ts
1025
998
  /**
1026
999
  * This module installs Apache Pulsar 5.0.0 in a kind cluster (SYS-56): one ZooKeeper, one bookie and
1027
1000
  * two brokers, from the Helm chart 4.8.0. It also gives the producers of the cell: a Python script
@@ -1153,8 +1126,6 @@ export declare const installPulsar: (cluster: Cluster, image: string) => Promise
1153
1126
  * each broker and of its last container, with the times of the kubelet.
1154
1127
  */
1155
1128
  export declare const pulsarRecord: (cluster: Pick<Cluster, "kubectl">) => Promise<Record<string, unknown>>;
1156
- //#endregion
1157
- //#region src/lds.d.ts
1158
1129
  /**
1159
1130
  * This filter of RE2 selects the two counters of the listener manager of Envoy that an update of LDS
1160
1131
  * moves (`/stats?filter=`, `source/server/admin/stats_params.cc` of Envoy v1.39.4). An update of a
@@ -1172,8 +1143,6 @@ interface ListenerCounts {
1172
1143
  * (`stats_render.cc:15`). It gives null when the text has no counter `listener_modified`.
1173
1144
  */
1174
1145
  export declare const listenerCountsOf: (text: string) => ListenerCounts | null;
1175
- //#endregion
1176
- //#region src/manifests.d.ts
1177
1146
  /**
1178
1147
  * This module generates the Kubernetes objects of a cell. They are its namespace, its Redis, the
1179
1148
  * server as a Deployment behind a Service, and one client on each node. The server is the service
@@ -1228,8 +1197,6 @@ export declare const serverObjects: (cell: KindCell, namespace: string, image: s
1228
1197
  * gives its clients `SESSION_CHECK`: the knobs of the check, as JSON.
1229
1198
  */
1230
1199
  export declare const clientObjects: (cell: KindCell, namespace: string, image: string, target: string) => unknown[];
1231
- //#endregion
1232
- //#region src/predict.d.ts
1233
1200
  /**
1234
1201
  * A propagation is the time from a change of an endpoint to the rules of each node. A
1235
1202
  * calibration measures it for each kube-proxy mode and node count. Without a calibration, its upper
@@ -1389,8 +1356,6 @@ interface LearnWindow {
1389
1356
  * when the readiness of the service recovers after the heal, and one turn after it.
1390
1357
  */
1391
1358
  export declare const learnWindow: (declaration: Declaration, readiness: KubeletProbe, propagation: Propagation, workload: Workload) => LearnWindow;
1392
- //#endregion
1393
- //#region src/quiet.d.ts
1394
1359
  /**
1395
1360
  * The quiet gate asks for an idle share of the VM before a run. The clients of the cell run at that
1396
1361
  * time, and the agent of each node reads the whole conntrack table each second. Thus the idle share
@@ -1443,8 +1408,6 @@ export declare const baselineOf: (previous: number | null, samples: ReadonlyArra
1443
1408
  readonly idle: number;
1444
1409
  readonly foreign: readonly string[];
1445
1410
  }>) => number | null;
1446
- //#endregion
1447
- //#region src/rules.d.ts
1448
1411
  /**
1449
1412
  * This function gives the scenario of a cell for `lint()`: the preStop sleep, the grace, the probe
1450
1413
  * period and the propagation. The probe windows are the period times the threshold of each probe.
@@ -1471,8 +1434,6 @@ export declare const lintCell: (description: ServiceDescription, cell: KindCell,
1471
1434
  export declare const verdictsOf: (findings: readonly Finding[]) => Verdicts;
1472
1435
  /** This function gives the description of the service of a cell, as the app of the image composes it. Nothing connects. */
1473
1436
  export declare const describeCell: (cell: KindCell) => ServiceDescription;
1474
- //#endregion
1475
- //#region src/run.d.ts
1476
1437
  /** This time is the interval of the poll of the rules on each node. */
1477
1438
  export declare const RULES_EVERY: Quantity;
1478
1439
  /** These options run a catalog of kind cells. */
@@ -1513,8 +1474,6 @@ export declare const estimatedTime: (cell: KindCell, environments?: number) => Q
1513
1474
  * estimated time. In one mode, the cells with no mesh come first, in the sequence of the catalog.
1514
1475
  */
1515
1476
  export declare const shardOf: <T extends KindCell>(cells: readonly T[], index: number, count: number) => T[];
1516
- //#endregion
1517
- //#region src/tools.d.ts
1518
1477
  /**
1519
1478
  * A tool is a binary that the lab downloads, at one pinned release, for each platform. The lab
1520
1479
  * keeps it in the cache folder of this package and does not install it on the system. Each use
@@ -1572,6 +1531,4 @@ export declare const toolPath: (tool: Tool, key?: string, cache?: string) => str
1572
1531
  * and writes the tool again when its bytes are not those of the entry.
1573
1532
  */
1574
1533
  export declare const ensureTool: (tool: Tool, key?: string, cache?: string) => Promise<string>;
1575
- //#endregion
1576
- export { type Announcement, type BacklogTerm, type Backoff, type Band, type BandV1, type Broker, CLIENT, type CiliumImages, type Cluster, type ClusterHosts, type ClusterManifest, type CountBand, type Credentials, type Cycle, DATAPLANES, DRAIN_RULES, type Dataplane, type Declaration, type Deleted, type DeletionWindow, type EdgeProtocol, type EdsSpec, Endpoint, type EnvironmentManifest, FORMAT, FORMAT_V1, type FaultPlan, type Flap, HBONE_PORT, HEALTH_PORT, type Judged, KIND_NOISE, KUBE_PROXY_MODES, type KindCell, type KindCellRecord, type KindCellRecordV1, type KindCellResult, type KindCellV1, type KindConfig, type KindDecision, type KindLab, type KindRun, type KindScenario, type KindVerdict, type KindVerdictV1, type KubeProxyMode, type KubeVipPod, type KubeletProbe, LAST_SLACK, LB_CLASS, LOG_LABEL, type LdsSpec, type LeafCertificate, type LearnWindow, Line, type ListenerCounts, type LoadSample, type MemberlistSettings, type Mesh, type MeshFlavor, type MeshImages, type MeshMode, type MetallbImages, NODE_IMAGES, type NodeImage, type NodeLifecycle, type NonePrediction, O04, O09, O10, O16, OUTSIDE, type OutsideSpec, PORT, type Parts, Period, type PermittedWindow, type PinnedChart, PodLine, type PodSettings, type Prediction, type PredictionV1, type ProducerState, type Propagated, type Propagation, PropagationSource, type PulsarSettings, type QuietGate, REDIS, RELATIVE, type Reconnects, type ReconnectsFacts, type ReconnectsPrediction, RecordLine, type RedisDeclaration, type Reference, type Replica, Request, type ResetReuse, type Return, RulesLine, type RunCheck, type RunCheckV1, type RunFacts, type RunFactsV1, type RunOptions, SERVER, STAGES, type Schedule, type ServiceRule, Sessions, SliceLine, SocketLine, type Stack, type Stamp, type Step, TCP_STATE, type Target, type Template, type TimeSpread, type Tool, type Trigger, type TriggerKind, type TriggerV1, type Try, TunnelLine, VIP_ANNOTATION, type Verdicts, type VipAnnouncer, type VipAnnouncerName, type VipLease, type VipNetwork, type VipService, type VipSettings, type WindowPrediction, type Workload, ZONE_KEPT, ZONE_LABEL, ZONE_LOST, ZtunnelPodLine, backendsAt, backlogEnd, bandOf, byClients, byNode, calibrationOf, cellsTable, checkRun, cidrOverlap, cidrRange, cyclesOf, deletionOf, deletionsOf, drainBand, dropOf, emptyOf, factsOf, failuresOf, goDuration, intakeOf, isKubeProxyMode, isTunnelState, judge, judgeKind, judgeReconnects, kernelCounts, kindCellRecordSchema, kindCellRecordV1Schema, kindConfig, kubeProxyPatch, latestReturn, medianInterval, medianText, middle, nodeNames, observationAfter, observationEnd, outcomesOf, overshootBand, periodOf, podsAt, podsOf, predictionText, propagationOf, propagationSource, quantileOf, readRecord, recordsOf, referenceOf, requestBand, requestsOf, restartOf, restartsAt, reusesReset, rulesOf, scenario, scenarioProblems, seconds, secondsOf, sessionsAt, showBand, signalOf, signalsOf, sliceDropOf, sliceEmptyOf, sliceReadyAt, sliceReadyOf, slicesOf, socketsOf, stoppingOf, timeSpread, transitionOf, triesOf, tunnelsOf, unitOf, updatesOf, upgrade, upgradeCell, zoneOf, ztunnelPodsOf, ztunnelReplaced };
1577
- //# sourceMappingURL=index.d.ts.map
1534
+ export { type Announcement, type BacklogTerm, type Backoff, type Band, type BandV1, type Broker, CLIENT, type CiliumImages, type Cluster, type ClusterHosts, type ClusterManifest, type CountBand, type Credentials, type Cycle, DATAPLANES, DRAIN_RULES, type Dataplane, type Declaration, type Deleted, type DeletionWindow, type EdgeProtocol, type EdsSpec, Endpoint, type EnvironmentManifest, FORMAT, FORMAT_V1, type FaultPlan, type Flap, HBONE_PORT, HEALTH_PORT, type Judged, KIND_NOISE, KUBE_PROXY_MODES, type KindCell, type KindCellRecord, type KindCellRecordV1, type KindCellResult, type KindCellV1, type KindConfig, type KindDecision, type KindLab, type KindRun, type KindScenario, type KindVerdict, type KindVerdictV1, type KubeProxyMode, type KubeVipPod, type KubeletProbe, LAST_SLACK, LB_CLASS, LOG_LABEL, type LdsSpec, type LeafCertificate, type LearnWindow, Line, type ListenerCounts, type LoadSample, type MemberlistSettings, type Mesh, type MeshFlavor, type MeshImages, type MeshMode, type MetallbImages, NODE_IMAGES, type NodeImage, type NodeLifecycle, type NonePrediction, O04, O09, O10, O16, OUTSIDE, type OutsideSpec, PORT, type Parts, Period, type PermittedWindow, type PinnedChart, PodLine, type PodSettings, type Prediction, type PredictionV1, type ProducerState, type Propagated, type Propagation, PropagationSource, type PulsarSettings, type QuietGate, REDIS, RELATIVE, type Reconnects, type ReconnectsFacts, type ReconnectsPrediction, RecordLine, type RedisDeclaration, type Reference, type Replica, Request, type ResetReuse, type Return, RulesLine, type RunCheck, type RunCheckV1, type RunFacts, type RunFactsV1, type RunOptions, SERVER, STAGES, type Schedule, type ServiceRule, Sessions, SliceLine, SocketLine, type Stack, type Stamp, type Step, TCP_STATE, type Target, type Template, type TimeSpread, type Tool, type Trigger, type TriggerKind, type TriggerV1, type Try, TunnelLine, VIP_ANNOTATION, type Verdicts, type VipAnnouncer, type VipAnnouncerName, type VipLease, type VipNetwork, type VipService, type VipSettings, type WindowPrediction, type Workload, ZONE_KEPT, ZONE_LABEL, ZONE_LOST, ZtunnelPodLine, backendsAt, backlogEnd, bandOf, byClients, byNode, calibrationOf, cellsTable, checkRun, cidrOverlap, cidrRange, cyclesOf, deletionOf, deletionsOf, drainBand, dropOf, emptyOf, factsOf, failuresOf, goDuration, intakeOf, isKubeProxyMode, isTunnelState, judge, judgeKind, judgeReconnects, kernelCounts, kindCellRecordSchema, kindCellRecordV1Schema, kindConfig, kubeProxyPatch, latestReturn, medianInterval, medianText, middle, nodeNames, observationAfter, observationEnd, outcomesOf, overshootBand, periodOf, podsAt, podsOf, predictionText, propagationOf, propagationSource, quantileOf, readRecord, recordsOf, referenceOf, requestBand, requestsOf, restartOf, restartsAt, reusesReset, rulesOf, scenario, scenarioProblems, seconds, secondsOf, sessionsAt, showBand, signalOf, signalsOf, sliceDropOf, sliceEmptyOf, sliceReadyAt, sliceReadyOf, slicesOf, socketsOf, stoppingOf, timeSpread, transitionOf, triesOf, tunnelsOf, unitOf, updatesOf, upgrade, upgradeCell, zoneOf, ztunnelPodsOf, ztunnelReplaced };
package/build/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { $ as rulesOf, A as judgeReconnects, At as overshootBand, B as emptyOf, C as observationEnd, Ct as PORT, D as reusesReset, Dt as backlogEnd, E as referenceOf, Et as VIP_ANNOTATION, F as backendsAt, G as outcomesOf, H as intakeOf, I as byClients, J as podsOf, K as periodOf, L as byNode, M as triesOf, Mt as seconds, N as HBONE_PORT, Nt as secondsOf, O as unitOf, Ot as bandOf, P as TCP_STATE, Pt as showBand, Q as restartsAt, R as deletionOf, S as observationAfter, St as OUTSIDE, T as propagationSource, Tt as SERVER, U as isTunnelState, V as failuresOf, W as kernelCounts, X as requestsOf, Y as recordsOf, Z as restartOf, _ as checkRun, _t as quantileOf, a as calibrationOf, at as sliceReadyAt, b as factsOf, bt as LB_CLASS, c as predictionText, ct as socketsOf, d as FORMAT_V1, dt as tunnelsOf, et as sessionsAt, f as judge, ft as ztunnelPodsOf, g as LAST_SLACK, gt as middle, h as KIND_NOISE, ht as medianInterval, i as readRecord, it as sliceEmptyOf, j as latestReturn, jt as requestBand, k as updatesOf, kt as drainBand, l as timeSpread, lt as stoppingOf, m as upgradeCell, mt as RELATIVE, n as kindCellRecordSchema, nt as signalsOf, o as cellsTable, ot as sliceReadyOf, p as upgrade, pt as ztunnelReplaced, q as podsAt, r as kindCellRecordV1Schema, rt as sliceDropOf, s as medianText, st as slicesOf, t as STAGES, tt as signalOf, u as FORMAT, ut as transitionOf, v as cyclesOf, vt as CLIENT, w as propagationOf, wt as REDIS, x as judgeKind, xt as LOG_LABEL, y as deletionsOf, yt as HEALTH_PORT, z as dropOf } from "./judge-ug4T2Q_R.js";
1
+ import { $ as rulesOf, A as judgeReconnects, At as overshootBand, B as emptyOf, C as observationEnd, Ct as PORT, D as reusesReset, Dt as backlogEnd, E as referenceOf, Et as VIP_ANNOTATION, F as backendsAt, G as outcomesOf, H as intakeOf, I as byClients, J as podsOf, K as periodOf, L as byNode, M as triesOf, Mt as seconds, N as HBONE_PORT, Nt as secondsOf, O as unitOf, Ot as bandOf, P as TCP_STATE, Pt as showBand, Q as restartsAt, R as deletionOf, S as observationAfter, St as OUTSIDE, T as propagationSource, Tt as SERVER, U as isTunnelState, V as failuresOf, W as kernelCounts, X as requestsOf, Y as recordsOf, Z as restartOf, _ as checkRun, _t as quantileOf, a as calibrationOf, at as sliceReadyAt, b as factsOf, bt as LB_CLASS, c as predictionText, ct as socketsOf, d as FORMAT_V1, dt as tunnelsOf, et as sessionsAt, f as judge, ft as ztunnelPodsOf, g as LAST_SLACK, gt as middle, h as KIND_NOISE, ht as medianInterval, i as readRecord, it as sliceEmptyOf, j as latestReturn, jt as requestBand, k as updatesOf, kt as drainBand, l as timeSpread, lt as stoppingOf, m as upgradeCell, mt as RELATIVE, n as kindCellRecordSchema, nt as signalsOf, o as cellsTable, ot as sliceReadyOf, p as upgrade, pt as ztunnelReplaced, q as podsAt, r as kindCellRecordV1Schema, rt as sliceDropOf, s as medianText, st as slicesOf, t as STAGES, tt as signalOf, u as FORMAT, ut as transitionOf, v as cyclesOf, vt as CLIENT, w as propagationOf, wt as REDIS, x as judgeKind, xt as LOG_LABEL, y as deletionsOf, yt as HEALTH_PORT, z as dropOf } from "./judge-BvytGtrG.js";
2
2
  import { valueIn } from "@mark1russell7/quantity";
3
3
  import { median } from "@mark1russell7/rigor-statistics";
4
4
  import { chmodSync, copyFileSync, existsSync, mkdirSync, mkdtempSync, readFileSync, realpathSync, renameSync, rmSync, writeFileSync } from "node:fs";
@@ -14,7 +14,7 @@ import { tmpdir } from "node:os";
14
14
  import { harnessImage, imageOf, substrateKey, substrateOf, substrateOn } from "@mark1russell7/harness";
15
15
  import { redisClient } from "@mark1russell7/service/redis";
16
16
  import { DRAIN_RULES, DRAIN_RULES as DRAIN_RULES$1, O04, O09, O10, O16 } from "@mark1russell7/service/rules";
17
- //#region src/backends.ts
17
+ // src/backends.ts
18
18
  const hexIp = (hex) => [
19
19
  0,
20
20
  2,
@@ -112,8 +112,7 @@ const namesService = (mode, text, rule) => {
112
112
  return false;
113
113
  }
114
114
  };
115
- //#endregion
116
- //#region src/scenario.ts
115
+ // src/scenario.ts
117
116
  const KUBE_PROXY_MODES = [
118
117
  "iptables",
119
118
  "ipvs",
@@ -258,8 +257,7 @@ const cidrOverlap = (a, b) => {
258
257
  const [b0, b1] = cidrRange(b);
259
258
  return a0 <= b1 && b0 <= a1;
260
259
  };
261
- //#endregion
262
- //#region src/tools.ts
260
+ // src/tools.ts
263
261
  /** This release of kind is v0.33.0, from 2026-08-26. Its default node image is Kubernetes 1.37.0. The sums are from its `.sha256sum` assets. */
264
262
  const KIND = {
265
263
  name: "kind",
@@ -442,8 +440,7 @@ const ensureTool = async (tool, key = platformKey(), cache = cacheFolder()) => {
442
440
  if (!existsSync(path) || sha256(readFileSync(path)) !== sha256(binary)) writeWhole(path, binary, executable);
443
441
  return path;
444
442
  };
445
- //#endregion
446
- //#region src/cluster.ts
443
+ // src/cluster.ts
447
444
  const run = promisify(execFile);
448
445
  /** This function starts a program and gives its standard output. A failure gives its standard error in the message. */
449
446
  const command = async (program, args, options = {}) => {
@@ -642,8 +639,7 @@ const createCluster = async (scenario, dir) => {
642
639
  });
643
640
  return cluster;
644
641
  };
645
- //#endregion
646
- //#region src/helm.ts
642
+ // src/helm.ts
647
643
  /**
648
644
  * This function gives the path of a chart in the cache, after a download when the cache does not have it.
649
645
  * It refuses a download whose sha256 is not the pinned value. A file in the cache with a different
@@ -693,8 +689,7 @@ const helmInstall = async (cluster, release, chart, namespace, values, options =
693
689
  timeout: 9e5
694
690
  });
695
691
  };
696
- //#endregion
697
- //#region src/cilium.ts
692
+ // src/cilium.ts
698
693
  /**
699
694
  * This module installs Cilium 1.20.4 in a kind cluster with Helm, from images pinned by digest.
700
695
  * Cilium is the CNI and replaces kube-proxy (the dataplane `cilium`). Each value of the install
@@ -831,8 +826,7 @@ const CILIUM_CONFIG_KEYS = [
831
826
  ];
832
827
  /** This function gives the mode of a cluster manifest of the dataplane `cilium`, from the data of the configmap `cilium-config`. */
833
828
  const ciliumMode = (data) => `cilium ${CILIUM_VERSION} ${CILIUM_CONFIG_KEYS.map((key) => `${key}=${data[key] ?? "default"}`).join(" ")}`;
834
- //#endregion
835
- //#region src/compose.ts
829
+ // src/compose.ts
836
830
  /** This name is the controller of the service, and its one route reads Redis when the service has Redis. */
837
831
  const CONTROLLER = "work";
838
832
  const ROUTE = "GET /work";
@@ -920,8 +914,7 @@ const compose = (name, declaration, parts = {}) => {
920
914
  for (const [stage, cap] of declaration.phases) svc.phase(stage, cap);
921
915
  return svc;
922
916
  };
923
- //#endregion
924
- //#region src/eds.ts
917
+ // src/eds.ts
925
918
  /**
926
919
  * This function gives the name of the outbound cluster of a Service port in a sidecar of Istio:
927
920
  * `outbound|<port>||<service>.<namespace>.svc.cluster.local`.
@@ -951,8 +944,7 @@ const hostsOf = (text, cluster) => {
951
944
  u: other
952
945
  };
953
946
  };
954
- //#endregion
955
- //#region src/faults.ts
947
+ // src/faults.ts
956
948
  const needs = (time, what) => {
957
949
  if (time === void 0) throw new Error(`the trigger needs ${what}`);
958
950
  return time;
@@ -1869,8 +1861,7 @@ const deletes = (cell) => [
1869
1861
  "node-drain",
1870
1862
  "scale-in"
1871
1863
  ].includes(cell.trigger.kind) || cell.template === "T07" && cell.trigger.kind === "freeze-process" && cell.vip === void 0;
1872
- //#endregion
1873
- //#region src/image.ts
1864
+ // src/image.ts
1874
1865
  /** This folder is the root of the package, and its `image/` folder has the files of the image. */
1875
1866
  const PACKAGE = fileURLToPath(new URL("../", import.meta.url));
1876
1867
  /** This folder is the root of the repository, when the package is in the workspace of the repository. */
@@ -2000,8 +1991,7 @@ const labImage = () => {
2000
1991
  built = building;
2001
1992
  return building;
2002
1993
  };
2003
- //#endregion
2004
- //#region src/istio.ts
1994
+ // src/istio.ts
2005
1995
  /**
2006
1996
  * This module installs Istio 1.31.3 in a kind cluster with istioctl, from images pinned by digest.
2007
1997
  * The release notes of 1.31.2 and 1.31.3 change no default that a cell of T15 reads. Each value
@@ -2291,8 +2281,7 @@ const ztunnelCertificates = async (cluster) => {
2291
2281
  }
2292
2282
  return out;
2293
2283
  };
2294
- //#endregion
2295
- //#region src/kubevip.ts
2284
+ // src/kubevip.ts
2296
2285
  /**
2297
2286
  * This module installs kube-vip 1.3.1 in a kind cluster (SYS-51). The install gives a Service of type
2298
2287
  * LoadBalancer an address on the Docker network of the nodes: the VIP. In ARP mode, one node holds
@@ -2698,8 +2687,7 @@ const vipServed = (cluster, namespace, service, vip, within = 12e4) => until$1(w
2698
2687
  ])).trim();
2699
2688
  return ingress.split(/\s+/).includes(vip) ? null : `the Service ${service} has the ingress ${ingress || "none"}, not ${vip}`;
2700
2689
  });
2701
- //#endregion
2702
- //#region src/metallb.ts
2690
+ // src/metallb.ts
2703
2691
  /**
2704
2692
  * This module installs MetalLB 0.16.1 in L2 mode in a kind cluster (SYS-53). The controller of
2705
2693
  * MetalLB gives a Service of type LoadBalancer an address from a pool: the VIP. A speaker on each
@@ -3131,8 +3119,7 @@ const metallbRecord = async (cluster, namespace, service) => {
3131
3119
  ]).catch((error) => String(error))).split("\n").filter((line) => KEPT$1.test(line)).slice(-600).join("\n").slice(-9e4)
3132
3120
  };
3133
3121
  };
3134
- //#endregion
3135
- //#region src/announcer.ts
3122
+ // src/announcer.ts
3136
3123
  const local = (images, name) => {
3137
3124
  const image = images[name];
3138
3125
  if (image === void 0) throw new Error(`the run has no local image of ${name}`);
@@ -3194,8 +3181,7 @@ const macsAt = (found, mac, count) => {
3194
3181
  if (found.length !== count) return `${found.length} clients outside answer, not ${count}`;
3195
3182
  return wrong.length === 0 ? null : wrong.map((each) => `${each.client} has ${each.mac ?? "no MAC"}`).join(", ");
3196
3183
  };
3197
- //#endregion
3198
- //#region src/pulsar.ts
3184
+ // src/pulsar.ts
3199
3185
  /**
3200
3186
  * This module installs Apache Pulsar 5.0.0 in a kind cluster (SYS-56): one ZooKeeper, one bookie and
3201
3187
  * two brokers, from the Helm chart 4.8.0. It also gives the producers of the cell: a Python script
@@ -3643,8 +3629,7 @@ const pulsarRecord = async (cluster) => {
3643
3629
  logs
3644
3630
  };
3645
3631
  };
3646
- //#endregion
3647
- //#region src/lds.ts
3632
+ // src/lds.ts
3648
3633
  /**
3649
3634
  * This filter of RE2 selects the two counters of the listener manager of Envoy that an update of LDS
3650
3635
  * moves (`/stats?filter=`, `source/server/admin/stats_params.cc` of Envoy v1.39.4). An update of a
@@ -3670,16 +3655,14 @@ const listenerCountsOf = (text) => {
3670
3655
  inPlace
3671
3656
  };
3672
3657
  };
3673
- //#endregion
3674
- //#region src/conntrack.ts
3658
+ // src/conntrack.ts
3675
3659
  /** This function gives the count of entries that `conntrack -D` deleted, from its last line: "N flow entries have been deleted". */
3676
3660
  const deletedOf = (text) => {
3677
3661
  const match = /(\d+) flow entr(?:y|ies) ha(?:s|ve) been deleted/.exec(text);
3678
3662
  if (match === null) throw new Error(`conntrack -D gave no count: ${text.trim().slice(0, 200)}`);
3679
3663
  return Number(match[1]);
3680
3664
  };
3681
- //#endregion
3682
- //#region src/lab.ts
3665
+ // src/lab.ts
3683
3666
  /**
3684
3667
  * These kinds of kernel record stay in the raw record of a run. The lab also keeps each change of the
3685
3668
  * state of a socket of the HBONE port (`isTunnelState`): the tunnels of ztunnel. It counts the other
@@ -4127,8 +4110,7 @@ const localPin = async (image) => {
4127
4110
  ]);
4128
4111
  return local;
4129
4112
  };
4130
- //#endregion
4131
- //#region src/manifests.ts
4113
+ // src/manifests.ts
4132
4114
  /**
4133
4115
  * This module generates the Kubernetes objects of a cell. They are its namespace, its Redis, the
4134
4116
  * server as a Deployment behind a Service, and one client on each node. The server is the service
@@ -4506,8 +4488,7 @@ const clientObjects = (cell, namespace, image, target) => [{
4506
4488
  }
4507
4489
  }
4508
4490
  }];
4509
- //#endregion
4510
- //#region src/predict.ts
4491
+ // src/predict.ts
4511
4492
  /**
4512
4493
  * This module is the arithmetic of the predictions. Each band is a range of times after a
4513
4494
  * reference event of the run. Each term comes from a declaration, from the pod settings, or from
@@ -4694,8 +4675,7 @@ const learnWindow = (declaration, readiness, propagation, workload) => {
4694
4675
  }
4695
4676
  };
4696
4677
  };
4697
- //#endregion
4698
- //#region src/quiet.ts
4678
+ // src/quiet.ts
4699
4679
  /**
4700
4680
  * These are the terms of the lab. The flat share is the share of SYS-42. The other terms come from the
4701
4681
  * calibration of SYS-95, over the 9 records of SYS-57, with no foreign container in them:
@@ -4736,8 +4716,7 @@ const baselineOf = (previous, samples) => {
4736
4716
  const middle = median(clean);
4737
4717
  return previous === null ? middle : Math.max(previous, middle);
4738
4718
  };
4739
- //#endregion
4740
- //#region src/rules.ts
4719
+ // src/rules.ts
4741
4720
  const seconds$1 = (amount) => valueIn(amount, "s");
4742
4721
  const s = (value) => ({
4743
4722
  value,
@@ -4817,8 +4796,7 @@ const describeCell = (cell) => {
4817
4796
  });
4818
4797
  return compose("lab", cell.declaration, { redis: client }).describe();
4819
4798
  };
4820
- //#endregion
4821
- //#region src/run.ts
4799
+ // src/run.ts
4822
4800
  /** This time is the interval of the poll of the rules on each node. */
4823
4801
  const RULES_EVERY = {
4824
4802
  value: 50,
@@ -6216,7 +6194,6 @@ const shardOf = (cells, index, count) => {
6216
6194
  }
6217
6195
  return out;
6218
6196
  };
6219
- //#endregion
6220
6197
  export { ACCESS_LOG_FORMAT, ANNOUNCE_ANNOTATION, CHANNEL_USE, CILIUM_CHART, CILIUM_CONFIG_KEYS, CILIUM_IMAGES, CILIUM_VERSION, CILIUM_WORKLOADS, CLIENT, CLIENT_ACCOUNT, CLOSE_LEAD, CONTROLLER, DATAPLANES, DNS_PORT, DOCUMENTED, DRAIN_RULES, EDS_EVERY, FLAG_CHECK, FORMAT, FORMAT_V1, HBONE_PORT, HEALTH_PORT, HELM, ISTIOCTL, ISTIO_IMAGES, ISTIO_VERSION, KEPT_KERNEL, KIND, KIND_NOISE, KUBECTL, KUBE_PROXY_MODES, KUBE_VIP, KUBE_VIP_ANNOUNCER, KUBE_VIP_ARP_RATE, KUBE_VIP_ELECTION, KUBE_VIP_IMAGE, KUBE_VIP_LEASE, KUBE_VIP_VERSION, LAST_SLACK, LB_CLASS, LDS_EVERY, LDS_FILTER, LOG_LABEL, MEMBERLIST, MEMBERLIST_FILE, MESH_IMAGES, MESH_WORKLOADS, METALLB_ANNOTATION, METALLB_ANNOUNCER, METALLB_CHART, METALLB_IMAGES, METALLB_NAMESPACE, METALLB_POOL, METALLB_SPAM, METALLB_VERSION, MIDDLEBOX, NETEM_DRAIN, NETNS_DEFAULTS, NODE_IMAGES, NODE_LIFECYCLE, NOT_QUIET, O04, O09, O10, O16, OUTSIDE, PING, POD_LINK, POLICY, PORT, PRODUCER, PRODUCER_BACKOFF, PRODUCER_SCRIPT, PULSAR_CHART, PULSAR_IMAGE, PULSAR_LOOKUP, PULSAR_NAMESPACE, PULSAR_SERVICE, PULSAR_TOPIC, PULSAR_VERSION, QUIET_GATE, QUIET_LEAD, REDIS, REDIS_IMAGE, RELATIVE, ROUTE, RULES_EVERY, SERVER, SESSION, SPREAD_LEAD, STAGES, SYSCTL, TCP_STATE, TICK, VIP_ANNOTATION, VIP_LABEL, WATCHDOG, ZONE_KEPT, ZONE_LABEL, ZONE_LOST, ZTUNNEL_PODS, announcementsOf, announcerOf, arpMacOf, backendsAt, backendsOf, backlogEnd, bandOf, baselineOf, brokerOfHost, brokersOf, byClients, byNode, cacheFolder, calibrationOf, capOf, cellsTable, certificateArgs, checkRun, cidrOverlap, cidrRange, ciliumBackendsOf, ciliumMode, ciliumValues, clientObjects, clusterFilter, clusterNameOf, compose, createCluster, cyclesOf, deletes, deletionOf, deletionWindow, deletionsOf, describeCell, dnsCommands, drainBand, dropOf, emptyOf, ensureChart, ensurePinnedChart, ensureTool, estimatedTime, factsOf, failuresOf, faultSpan, followsZtunnel, goDuration, helmInstall, holdMetallb, holdPulsar, holdVip, hostsOf, installCilium, installKubeVip, installMesh, installMetallb, installPulsar, intakeAfter, intakeOf, isKubeProxyMode, isTunnelState, istioOperator, judge, judgeKind, judgeReconnects, keptKernel, kernelCounts, kindCellRecordSchema, kindCellRecordV1Schema, kindConfig, kubeProxyPatch, kubeVipObjects, kubeVipPods, kubeVipReady, kubeletBand, labImage, labSource, latchBand, latestReturn, leafCertificates, learnWindow, lintCell, listenerCountsOf, localPin, macsAt, medianInterval, medianText, memberlistFileOf, memberlistTermsOf, meshKey, metallbObjects, metallbRecord, metallbValues, metallbVipOf, middle, middleboxCommands, middleboxRemoval, namesService, namespaceObject, namespaceOf, neededIdle, nodeLossBand, nodeNames, nodeReturnBand, observationAfter, observationEnd, openKindLab, outboundCluster, outcomesOf, overshootBand, ownerAtRest, ownerOrder, pausedWindow, periodOf, placementOf, planOf, platformKey, podsAt, podsOf, policyObject, pollsListeners, predictionText, probeOf, propagationOf, propagationSource, pulsarObjects, pulsarRecord, pulsarValues, quantileOf, quietWhy, readRecord, recordsOf, redisObjects, referenceOf, removalBand, requestBand, requestsOf, restartBand, restartOf, restartsAt, reusesReset, rulesOf, runKindCells, scenario, scenarioOf, scenarioProblems, seconds, secondsOf, serverCluster, serverObjects, sessionsAt, setZtunnelEnv, sha256, shardOf, sharedGate, showBand, signalOf, signalsOf, sliceDropOf, sliceEmptyOf, sliceReadyAt, sliceReadyOf, slicesOf, socketsOf, speakersReady, stackOf, stageLabImage, stallRemovalBand, stopOf, stoppingOf, suspicionOf, sysctlCommand, tarEntry, timeSpread, toolPath, transitionOf, triesOf, tunnelsOf, unitOf, updatesOf, upgrade, upgradeCell, verdictsOf, vipLeaseOf, vipNetworkOf, vipOf, vipServed, vipService, writeResult, zoneOf, ztunnelCertificates, ztunnelEnvArgs, ztunnelPodsOf, ztunnelReplaced };
6221
6198
 
6222
6199
  //# sourceMappingURL=index.js.map