@mark1russell7/kind 0.13.0 → 0.13.1

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.
@@ -180,8 +180,11 @@ type Stack = "service" | "grpc";
180
180
  * - `latency` delays each packet that Redis sends by `delay`, for the hold (T07). Thus each command
181
181
  * of each replica takes that much longer, but Redis answers it. The heal sets the delay to zero.
182
182
  * - `none` injects nothing: a calibration measures the path itself.
183
+ * - `dns-blackhole` drops each answer of a DNS server in the network namespace of each client pod,
184
+ * for the hold (S2, CoreDNS). CoreDNS still answers, but no answer gets to a client. The heal
185
+ * removes the rules. A client that resolves the name of the Service (`byName`) sees it.
183
186
  */
184
- type TriggerKind = "pod-deletion" | "rolling-update" | "node-drain" | "scale-in" | "crash" | "liveness-restart" | "freeze-process" | "rst" | "blackhole" | "peer-gone-without-close" | "app-stall" | "rollout" | "cpu-throttle" | "authorization-policy" | "idle" | "ztunnel-restart" | "certificate-expiry" | "cannot-serve" | "zone-loss" | "latency";
187
+ type TriggerKind = "pod-deletion" | "rolling-update" | "node-drain" | "scale-in" | "crash" | "liveness-restart" | "freeze-process" | "rst" | "blackhole" | "peer-gone-without-close" | "app-stall" | "rollout" | "cpu-throttle" | "authorization-policy" | "idle" | "ztunnel-restart" | "certificate-expiry" | "cannot-serve" | "zone-loss" | "latency" | "dns-blackhole";
185
188
  /**
186
189
  * A trigger is its kind and the settings of its fault. The parameter `A` is the form of an amount:
187
190
  * a quantity in the format `/2`, a number in the format `/1`.
@@ -366,6 +369,12 @@ interface Workload {
366
369
  * until its first answer comes from its backend. With no value, the rules pick the backend of each session.
367
370
  */
368
371
  readonly onTarget?: number | undefined;
372
+ /**
373
+ * This flag gives each client the name of the Service as its target, not the ClusterIP. Thus each
374
+ * new connection of a client starts with a lookup of the name in the cluster DNS (S2, CoreDNS).
375
+ * With no value, the target is the ClusterIP, and a client does no lookup.
376
+ */
377
+ readonly byName?: boolean | undefined;
369
378
  }
370
379
  /**
371
380
  * A band is a range of times after a reference event of the run. The format `/1` gives each end
@@ -1334,4 +1343,4 @@ declare const quantileOf: (sorted: readonly number[], p: number) => number;
1334
1343
  declare const medianInterval: (sorted: readonly number[]) => [number, number];
1335
1344
  //#endregion
1336
1345
  export { unitOf as $, scenario as $n, REDIS as $t, TriggerV1 as A, Template as An, recordsOf as At, RunCheck as B, KubeProxyMode as Bn, sliceReadyAt as Bt, KindCellResult as C, PodSettings as Cn, intakeOf as Ct, PredictionV1 as D, Replica as Dn, periodOf as Dt, LoadSample as E, Reference as En, outcomesOf as Et, KIND_NOISE as F, DATAPLANES as Fn, sessionsAt as Ft, factsOf as G, ZONE_LOST as Gn, transitionOf as Gt, checkRun as H, NodeImage as Hn, slicesOf as Ht, KindDecision as I, Dataplane as In, signalOf as It, observationEnd as J, goDuration as Jn, ztunnelReplaced as Jt, judgeKind as K, cidrOverlap as Kn, tunnelsOf as Kt, KindVerdict as L, KUBE_PROXY_MODES as Ln, signalsOf as Lt, upgrade as M, TriggerKind as Mn, restartOf as Mt, upgradeCell as N, WindowPrediction as Nn, restartsAt as Nt, RunCheckV1 as O, ResetReuse as On, podsAt as Ot, Deleted as P, Workload as Pn, rulesOf as Pt, reusesReset as Q, nodeNames as Qn, PORT as Qt, LAST_SLACK as R, KindConfig as Rn, sliceDropOf as Rt, KindCellRecordV1 as S, NonePrediction as Sn, failuresOf as St, KindVerdictV1 as T, RedisDeclaration as Tn, kernelCounts as Tt, cyclesOf as U, ZONE_KEPT as Un, socketsOf as Ut, RunFacts as V, NODE_IMAGES as Vn, sliceReadyOf as Vt, deletionsOf as W, ZONE_LABEL as Wn, stoppingOf as Wt, propagationSource as X, kindConfig as Xn, HEALTH_PORT as Xt, propagationOf as Y, isKubeProxyMode as Yn, CLIENT as Yt, referenceOf as Z, kubeProxyPatch as Zn, LOG_LABEL as Zt, ClusterManifest as _, KindRun as _n, byClients as _t, STAGES as a, overshootBand as an, PodLine as at, FORMAT_V1 as b, MeshFlavor as bn, dropOf as bt, readRecord as c, secondsOf as cn, Request as ct, calibrationOf as d, Band as dn, SliceLine as dt, SERVER as en, scenarioProblems as er, updatesOf as et, cellsTable as f, Cycle as fn, SocketLine as ft, BandV1 as g, KindCell as gn, backendsAt as gt, timeSpread as h, Flap as hn, ZtunnelPodLine as ht, quantileOf as i, drainBand as in, Period as it, judge as j, Trigger as jn, requestsOf as jt, RunFactsV1 as k, Stack as kn, podsOf as kt, Judged as l, showBand as ln, RulesLine as lt, predictionText as m, EdgeProtocol as mn, TunnelLine as mt, medianInterval as n, backlogEnd as nn, HBONE_PORT as nt, kindCellRecordSchema as o, requestBand as on, PropagationSource as ot, medianText as p, Declaration as pn, TCP_STATE as pt, observationAfter as q, cidrRange as qn, ztunnelPodsOf as qt, middle as r, bandOf as rn, Line as rt, kindCellRecordV1Schema as s, seconds as sn, RecordLine as st, RELATIVE as t, CountBand as tn, zoneOf as tr, Endpoint as tt, TimeSpread as u, BacklogTerm as un, Sessions as ut, EnvironmentManifest as v, KubeletProbe as vn, byNode as vt, KindCellV1 as w, Prediction as wn, isTunnelState as wt, KindCellRecord as x, MeshMode as xn, emptyOf as xt, FORMAT as y, Mesh as yn, deletionOf as yt, Propagated as z, KindScenario as zn, sliceEmptyOf as zt };
1337
- //# sourceMappingURL=judge-B_wVAwjx.d.ts.map
1346
+ //# sourceMappingURL=judge-CSWVew2-.d.ts.map
@@ -1550,7 +1550,8 @@ const TRIGGERS = [
1550
1550
  "certificate-expiry",
1551
1551
  "cannot-serve",
1552
1552
  "zone-loss",
1553
- "latency"
1553
+ "latency",
1554
+ "dns-blackhole"
1554
1555
  ];
1555
1556
  const KUBE_PROXY = [
1556
1557
  "iptables",
@@ -1850,7 +1851,8 @@ const recordOf = (a, main) => {
1850
1851
  keepalive_time: extent,
1851
1852
  keepalive_timeout: time
1852
1853
  }).optional(),
1853
- onTarget: count.optional()
1854
+ onTarget: count.optional(),
1855
+ byName: z.boolean().optional()
1854
1856
  }),
1855
1857
  prediction,
1856
1858
  calibrates: z.boolean(),
@@ -1971,4 +1973,4 @@ const readRecord = (data) => {
1971
1973
  //#endregion
1972
1974
  export { signalsOf as $, HBONE_PORT as A, isTunnelState as B, observationEnd as C, drainBand as Ct, reusesReset as D, secondsOf as Dt, referenceOf as E, seconds as Et, deletionOf as F, podsOf as G, outcomesOf as H, dropOf as I, restartOf as J, recordsOf as K, emptyOf as L, backendsAt as M, byClients as N, unitOf as O, showBand as Ot, byNode as P, signalOf as Q, failuresOf as R, observationAfter as S, bandOf as St, propagationSource as T, requestBand as Tt, periodOf as U, kernelCounts as V, podsAt as W, rulesOf as X, restartsAt as Y, sessionsAt as Z, checkRun as _, LOG_LABEL as _t, calibrationOf as a, socketsOf as at, factsOf as b, SERVER as bt, predictionText as c, tunnelsOf as ct, FORMAT_V1 as d, RELATIVE as dt, sliceDropOf as et, judge as f, medianInterval$1 as ft, LAST_SLACK as g, HEALTH_PORT as gt, KIND_NOISE as h, CLIENT as ht, readRecord as i, slicesOf as it, TCP_STATE as j, updatesOf as k, timeSpread as l, ztunnelPodsOf as lt, upgradeCell as m, quantileOf as mt, kindCellRecordSchema as n, sliceReadyAt as nt, cellsTable as o, stoppingOf as ot, upgrade as p, middle as pt, requestsOf as q, kindCellRecordV1Schema as r, sliceReadyOf as rt, medianText as s, transitionOf as st, STAGES as t, sliceEmptyOf as tt, FORMAT as u, ztunnelReplaced as ut, cyclesOf as v, PORT as vt, propagationOf as w, overshootBand as wt, judgeKind as x, backlogEnd as xt, deletionsOf as y, REDIS as yt, intakeOf as z };
1973
1975
 
1974
- //# sourceMappingURL=judge-Bc84w-no.js.map
1976
+ //# sourceMappingURL=judge-DA754h1o.js.map