@codiac.io/codiac-cli 1.3.285 → 1.3.287

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 (45) hide show
  1. package/README.md +424 -195
  2. package/dist/apis/codiac-api/gen/contracts/types.gen.d.ts +3 -2
  3. package/dist/apis/codiac-api/gen/contracts/types.gen.js +1 -0
  4. package/dist/apis/codiac-api/gen/contracts/types.gen.js.map +1 -1
  5. package/dist/apis/codiac-api-nats/gen/contracts/types.gen.d.ts +3 -2
  6. package/dist/apis/codiac-api-nats/gen/contracts/types.gen.js +1 -0
  7. package/dist/apis/codiac-api-nats/gen/contracts/types.gen.js.map +1 -1
  8. package/dist/apis/codiac-api-nats/gen/contracts.ng.d.ts +2 -1
  9. package/dist/apis/codiac-api-nats/gen/contracts.ng.js +1 -0
  10. package/dist/apis/codiac-api-nats/gen/contracts.ng.js.map +1 -1
  11. package/dist/apis/codiac-relay/gen/contracts/types.gen.d.ts +6 -5
  12. package/dist/apis/codiac-relay/gen/contracts/types.gen.js +1 -0
  13. package/dist/apis/codiac-relay/gen/contracts/types.gen.js.map +1 -1
  14. package/dist/apis/codiac-relay/gen/contracts-legacy.js +2 -1
  15. package/dist/apis/codiac-relay/gen/contracts-legacy.js.map +1 -1
  16. package/dist/apis/codiac-relay-nats/gen/contracts/types.gen.d.ts +7 -6
  17. package/dist/apis/codiac-relay-nats/gen/contracts/types.gen.js +1 -0
  18. package/dist/apis/codiac-relay-nats/gen/contracts/types.gen.js.map +1 -1
  19. package/dist/apis/codiac-relay-nats/gen/contracts.ng.d.ts +2 -1
  20. package/dist/apis/codiac-relay-nats/gen/contracts.ng.js +1 -0
  21. package/dist/apis/codiac-relay-nats/gen/contracts.ng.js.map +1 -1
  22. package/dist/commands/ai/agent/install.js +2 -1
  23. package/dist/commands/ai/agent/install.js.map +1 -1
  24. package/dist/commands/asset/deploy.d.ts +35 -2
  25. package/dist/commands/asset/deploy.js +151 -6
  26. package/dist/commands/asset/deploy.js.map +1 -1
  27. package/dist/commands/asset/view.d.ts +11 -2
  28. package/dist/commands/asset/view.js +34 -117
  29. package/dist/commands/asset/view.js.map +1 -1
  30. package/dist/commands/config/add.js +6 -2
  31. package/dist/commands/config/add.js.map +1 -1
  32. package/dist/commands/host/delete.d.ts +7 -0
  33. package/dist/commands/host/delete.js +13 -1
  34. package/dist/commands/host/delete.js.map +1 -1
  35. package/dist/commands/host/map.js +17 -2
  36. package/dist/commands/host/map.js.map +1 -1
  37. package/dist/ops/k8s/asset-rollout-follower.d.ts +58 -0
  38. package/dist/ops/k8s/asset-rollout-follower.js +270 -0
  39. package/dist/ops/k8s/asset-rollout-follower.js.map +1 -0
  40. package/dist/uilogic/asset-rollout-status.d.ts +104 -0
  41. package/dist/uilogic/asset-rollout-status.js +378 -0
  42. package/dist/uilogic/asset-rollout-status.js.map +1 -0
  43. package/oclif.manifest.json +111 -11
  44. package/package.json +2 -2
  45. package/skill/references/concepts.md +4 -1
@@ -1 +1 @@
1
- {"version":3,"file":"map.js","sourceRoot":"","sources":["../../../src/commands/host/map.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"map.js","sourceRoot":"","sources":["../../../src/commands/host/map.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ import { interfaces } from "inversify";
2
+ import { IBetterLogger } from "@codiac.io/codiac-common";
3
+ import { AssetReplicaContext } from '../../relay/contracts';
4
+ import { IOutputStyler } from "../i-output-styler";
5
+ import { CommandBaseEnterprise } from '../../command-base-enterprise';
6
+ import { K8sUtils } from './k8s-utils';
7
+ import { RolloutVerdict } from "../../uilogic/asset-rollout-status";
8
+ /** One asset in one cabinet to watch. */
9
+ export type RolloutFollowTarget = {
10
+ context: AssetReplicaContext;
11
+ /** Kubernetes namespace backing the cabinet. */
12
+ namespace: string;
13
+ };
14
+ /** Where the follower writes its lines and how it colors them. Callers decide the channel (a command's
15
+ * `this._ui.userMessage` for progress chatter, or stdout for data views). */
16
+ export type RolloutSink = {
17
+ write(line: string): void;
18
+ styler: IOutputStyler;
19
+ };
20
+ /** Outcome of following one target. `state: "timeout"` means the rollout was still progressing when
21
+ * the time budget ran out; `"unobservable"` means the cluster could not be reached at all. */
22
+ export type RolloutFollowResult = Omit<RolloutVerdict, "state"> & {
23
+ state: RolloutVerdict["state"] | "timeout" | "unobservable";
24
+ target: RolloutFollowTarget;
25
+ elapsedSeconds: number;
26
+ summary: string;
27
+ };
28
+ /** Watches an asset's pods and Kubernetes events in a cabinet by polling the cluster directly (the
29
+ * same relay-issued kubeconfig `cod asset view` uses), so it works identically in a TTY, under
30
+ * `--silent`, and in CI. Every wait is bounded by a deadline — it can never hang a pipeline. */
31
+ export declare class AssetRolloutFollower {
32
+ private k8sUtils;
33
+ private logger;
34
+ constructor(k8sUtils: K8sUtils, logger: IBetterLogger);
35
+ /** Registers the follower and its cluster-connection dependency (idempotent: commands that already
36
+ * bootstrapped {@link K8sUtils} keep their binding). */
37
+ static bootstrap(ioc: interfaces.Container, cmd: CommandBaseEnterprise): void;
38
+ /** Follows every target concurrently until each one's new rollout is Ready, hits a terminal pod
39
+ * problem, or the shared `timeoutInSeconds` budget runs out; prints pod state transitions and new
40
+ * events as they happen, then one summary line per target. Never throws for rollout health — the
41
+ * results are informational. Lines are prefixed with `[environment/cabinet]` when following more
42
+ * than one target so interleaved output stays attributable.
43
+ *
44
+ * @param sinceMs Epoch ms the deploy started; events older than this are history, not news. */
45
+ followRollouts(targets: RolloutFollowTarget[], timeoutInSeconds: number, sink: RolloutSink, sinceMs?: number, pollIntervalMs?: number): Promise<RolloutFollowResult[]>;
46
+ /** Prints the asset's most recent events (oldest first, at most `limit`), preferring events about
47
+ * this asset and falling back to the whole namespace when none match. Returns the keys of every
48
+ * event seen so a subsequent {@link tailEvents} prints only what is new. */
49
+ printRecentEvents(target: RolloutFollowTarget, limit: number, sink: RolloutSink, podNames?: string[]): Promise<Set<string>>;
50
+ /** Streams the asset's new events as they occur (like `kubectl get events -w`), polling until the
51
+ * process is interrupted or `untilMs` passes. Transient API errors are reported once and retried. */
52
+ tailEvents(target: RolloutFollowTarget, sink: RolloutSink, seen: Set<string>, untilMs?: number, pollIntervalMs?: number): Promise<void>;
53
+ private followOne;
54
+ /** One snapshot of everything the verdict needs: the asset's pods, its replica sets, the owning
55
+ * Deployment (when there is one) and the namespace's events. */
56
+ private observe;
57
+ private listEvents;
58
+ }
@@ -0,0 +1,270 @@
1
+ "use strict";
2
+ var AssetRolloutFollower_1;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.AssetRolloutFollower = void 0;
5
+ const tslib_1 = require("tslib");
6
+ const inversify_1 = require("inversify");
7
+ const k8s = require("@kubernetes/client-node");
8
+ const codiac_common_1 = require("@codiac.io/codiac-common");
9
+ const codiac_constants_1 = require("../../codiac-constants");
10
+ const k8s_utils_1 = require("./k8s-utils");
11
+ const asset_rollout_status_1 = require("../../uilogic/asset-rollout-status");
12
+ /** Gap between cluster polls while following. Short enough to feel live, long enough not to hammer
13
+ * the API server from CI fleets. */
14
+ const DEFAULT_POLL_INTERVAL_MS = 2000;
15
+ /** Allowance for clock skew between this machine and the cluster when deciding which events are new. */
16
+ const EVENT_CLOCK_SKEW_MS = 10000;
17
+ /** Watches an asset's pods and Kubernetes events in a cabinet by polling the cluster directly (the
18
+ * same relay-issued kubeconfig `cod asset view` uses), so it works identically in a TTY, under
19
+ * `--silent`, and in CI. Every wait is bounded by a deadline — it can never hang a pipeline. */
20
+ let AssetRolloutFollower = AssetRolloutFollower_1 = class AssetRolloutFollower {
21
+ constructor(k8sUtils, logger) {
22
+ this.k8sUtils = k8sUtils;
23
+ this.logger = logger;
24
+ }
25
+ /** Registers the follower and its cluster-connection dependency (idempotent: commands that already
26
+ * bootstrapped {@link K8sUtils} keep their binding). */
27
+ static bootstrap(ioc, cmd) {
28
+ if (!ioc.isBound(k8s_utils_1.K8sUtils))
29
+ k8s_utils_1.K8sUtils.bootstrap(ioc, cmd);
30
+ if (!ioc.isBound(AssetRolloutFollower_1))
31
+ ioc.bind(AssetRolloutFollower_1).toSelf();
32
+ }
33
+ /** Follows every target concurrently until each one's new rollout is Ready, hits a terminal pod
34
+ * problem, or the shared `timeoutInSeconds` budget runs out; prints pod state transitions and new
35
+ * events as they happen, then one summary line per target. Never throws for rollout health — the
36
+ * results are informational. Lines are prefixed with `[environment/cabinet]` when following more
37
+ * than one target so interleaved output stays attributable.
38
+ *
39
+ * @param sinceMs Epoch ms the deploy started; events older than this are history, not news. */
40
+ followRollouts(targets, timeoutInSeconds, sink, sinceMs = Date.now(), pollIntervalMs = DEFAULT_POLL_INTERVAL_MS) {
41
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
42
+ const startedMs = Date.now();
43
+ const deadlineMs = startedMs + Math.max(0, timeoutInSeconds) * 1000;
44
+ const multi = targets.length > 1;
45
+ const results = yield Promise.all(targets.map(t => {
46
+ const prefix = multi ? `[${t.context.environment}/${t.context.cabinet}] ` : "";
47
+ return this.followOne(t, startedMs, deadlineMs, sinceMs, pollIntervalMs, { write: (l) => sink.write(prefix + l), styler: sink.styler });
48
+ }));
49
+ for (const r of results) {
50
+ const prefix = multi ? `[${r.target.context.environment}/${r.target.context.cabinet}] ` : "";
51
+ const colored = r.state === "ready" ? sink.styler.colorGood(r.summary)
52
+ : (r.state === "failed" ? sink.styler.colorCritical(r.summary) : sink.styler.colorWarning(r.summary));
53
+ sink.write(prefix + colored);
54
+ }
55
+ return results;
56
+ });
57
+ }
58
+ /** Prints the asset's most recent events (oldest first, at most `limit`), preferring events about
59
+ * this asset and falling back to the whole namespace when none match. Returns the keys of every
60
+ * event seen so a subsequent {@link tailEvents} prints only what is new. */
61
+ printRecentEvents(target, limit, sink, podNames) {
62
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
63
+ const core = yield this.k8sUtils.getK8sClient(target.context);
64
+ const all = yield this.listEvents(core, target.namespace);
65
+ const { events, matchedAsset } = (0, asset_rollout_status_1.filterAssetEvents)(all, target.context.asset, podNames);
66
+ const rows = events.slice(-limit);
67
+ const seen = new Set(all.map(asset_rollout_status_1.eventKey));
68
+ if (rows.length === 0) {
69
+ sink.write(`No events found for [${target.context.asset}] in namespace [${target.namespace}].`);
70
+ return seen;
71
+ }
72
+ const scope = matchedAsset ? target.context.asset : `${target.namespace} (all — none matched [${target.context.asset}])`;
73
+ sink.write(`Events for ${scope} — last ${rows.length}, oldest first:`);
74
+ const now = Date.now();
75
+ for (const e of rows) {
76
+ const line = (0, asset_rollout_status_1.formatEventLine)(e, now);
77
+ sink.write((0, asset_rollout_status_1.isWarningEvent)(e) ? sink.styler.colorWarning(line) : line);
78
+ }
79
+ return seen;
80
+ });
81
+ }
82
+ /** Streams the asset's new events as they occur (like `kubectl get events -w`), polling until the
83
+ * process is interrupted or `untilMs` passes. Transient API errors are reported once and retried. */
84
+ tailEvents(target, sink, seen, untilMs = Number.POSITIVE_INFINITY, pollIntervalMs = DEFAULT_POLL_INTERVAL_MS) {
85
+ var _a;
86
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
87
+ const core = yield this.k8sUtils.getK8sClient(target.context);
88
+ let warned = false;
89
+ while (Date.now() < untilMs) {
90
+ yield sleep(Math.min(pollIntervalMs, Math.max(0, untilMs - Date.now())));
91
+ try {
92
+ const all = yield this.listEvents(core, target.namespace);
93
+ const { events, matchedAsset } = (0, asset_rollout_status_1.filterAssetEvents)(all, target.context.asset);
94
+ const now = Date.now();
95
+ for (const e of (matchedAsset ? events : [])) {
96
+ const k = (0, asset_rollout_status_1.eventKey)(e);
97
+ if (seen.has(k))
98
+ continue;
99
+ seen.add(k);
100
+ const line = (0, asset_rollout_status_1.formatEventLine)(e, now);
101
+ sink.write((0, asset_rollout_status_1.isWarningEvent)(e) ? sink.styler.colorWarning(line) : line);
102
+ }
103
+ warned = false;
104
+ }
105
+ catch (err) {
106
+ if (!warned)
107
+ sink.write(sink.styler.colorWarning(`(retrying) could not list events: ${(_a = err === null || err === void 0 ? void 0 : err.message) !== null && _a !== void 0 ? _a : err}`));
108
+ warned = true;
109
+ }
110
+ }
111
+ });
112
+ }
113
+ // ------------------------------------------------------------------------------------------
114
+ followOne(target, startedMs, deadlineMs, sinceMs, pollIntervalMs, sink) {
115
+ var _a, _b, _c, _d, _e, _f, _g, _h;
116
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
117
+ const elapsed = () => (Date.now() - startedMs) / 1000;
118
+ const stamp = () => sink.styler.dim(`+${Math.round(elapsed())}s`.padStart(5));
119
+ const finish = (v, state) => {
120
+ const secs = elapsed();
121
+ return Object.assign(Object.assign({}, v), { state, target, elapsedSeconds: secs, summary: (0, asset_rollout_status_1.formatRolloutSummary)(v, secs) });
122
+ };
123
+ let core;
124
+ let apps;
125
+ try {
126
+ const kube = yield withDeadline(this.k8sUtils.getKubeConfig(target.context), deadlineMs, "connecting to the cluster");
127
+ core = kube.makeApiClient(k8s.CoreV1Api);
128
+ apps = kube.makeApiClient(k8s.AppsV1Api);
129
+ }
130
+ catch (err) {
131
+ const secs = elapsed();
132
+ return { state: "unobservable", ready: 0, desired: 0, target, elapsedSeconds: secs, summary: `✖ could not follow ${target.context.asset}: ${(_a = err === null || err === void 0 ? void 0 : err.message) !== null && _a !== void 0 ? _a : err}` };
133
+ }
134
+ const selector = `${codiac_constants_1.CodiacLabels.LABEL_ASSET_NAME}=${target.context.asset}`;
135
+ const lastState = new Map();
136
+ const seenEvents = new Set();
137
+ let deploymentName;
138
+ let last = { state: "progressing", ready: 0, desired: 0, reason: "no observation yet" };
139
+ let warned = false;
140
+ while (true) {
141
+ try {
142
+ const snapshot = yield withDeadline(this.observe(core, apps, target, selector, deploymentName), deadlineMs, "reading rollout status");
143
+ deploymentName = (_d = (_c = (_b = snapshot.deployment) === null || _b === void 0 ? void 0 : _b.metadata) === null || _c === void 0 ? void 0 : _c.name) !== null && _d !== void 0 ? _d : deploymentName;
144
+ warned = false;
145
+ // Pod transitions (every pod of the asset, so old replicas draining are visible too).
146
+ const live = new Set();
147
+ for (const pod of snapshot.pods) {
148
+ const name = (_f = (_e = pod.metadata) === null || _e === void 0 ? void 0 : _e.name) !== null && _f !== void 0 ? _f : "unnamed";
149
+ live.add(name);
150
+ const now = (0, asset_rollout_status_1.podStateLabel)(pod);
151
+ const before = lastState.get(name);
152
+ if (before !== now) {
153
+ lastState.set(name, now);
154
+ const text = before ? `${before} → ${now}` : now;
155
+ sink.write(`${stamp()} pod ${(0, asset_rollout_status_1.shortPodName)(pod).padEnd(22)} ${now.startsWith("Waiting") ? sink.styler.colorCritical(text) : text}`);
156
+ }
157
+ }
158
+ for (const [name, before] of Array.from(lastState.entries())) {
159
+ if (!live.has(name)) {
160
+ lastState.delete(name);
161
+ sink.write(`${stamp()} pod ${shortName(name).padEnd(22)} ${before} → gone`);
162
+ }
163
+ }
164
+ // New events about this asset since the deploy began — each event object once; recurrences
165
+ // (a probe failing again, a scheduler retry) would drown the timeline, and the summary
166
+ // line reports the latest state anyway.
167
+ const { events, matchedAsset } = (0, asset_rollout_status_1.filterAssetEvents)(snapshot.events, target.context.asset, live);
168
+ const mine = matchedAsset ? events : [];
169
+ for (const e of mine) {
170
+ if ((0, asset_rollout_status_1.eventTimeMs)(e) && (0, asset_rollout_status_1.eventTimeMs)(e) < sinceMs - EVENT_CLOCK_SKEW_MS)
171
+ continue;
172
+ const k = (0, asset_rollout_status_1.eventIdentity)(e);
173
+ if (seenEvents.has(k))
174
+ continue;
175
+ seenEvents.add(k);
176
+ const line = `${stamp()} event ${(0, asset_rollout_status_1.formatEventBody)(e)}`;
177
+ sink.write((0, asset_rollout_status_1.isWarningEvent)(e) ? sink.styler.colorWarning(line) : line);
178
+ }
179
+ last = (0, asset_rollout_status_1.evaluateRollout)((0, asset_rollout_status_1.selectRolloutPods)(snapshot.pods, snapshot.replicaSets, snapshot.deployment), mine);
180
+ if (last.state !== "progressing")
181
+ return finish(last, last.state);
182
+ }
183
+ catch (err) {
184
+ this.logger.debug(`Follow poll failed for ${target.context.asset}: ${(_g = err === null || err === void 0 ? void 0 : err.message) !== null && _g !== void 0 ? _g : err}`);
185
+ if (Date.now() >= deadlineMs)
186
+ break;
187
+ if (!warned)
188
+ sink.write(sink.styler.colorWarning(`${stamp()} (retrying) could not read rollout status: ${(_h = err === null || err === void 0 ? void 0 : err.message) !== null && _h !== void 0 ? _h : err}`));
189
+ warned = true;
190
+ }
191
+ const remaining = deadlineMs - Date.now();
192
+ if (remaining <= 0)
193
+ break;
194
+ yield sleep(Math.min(pollIntervalMs, remaining));
195
+ }
196
+ return finish(last, "timeout");
197
+ });
198
+ }
199
+ /** One snapshot of everything the verdict needs: the asset's pods, its replica sets, the owning
200
+ * Deployment (when there is one) and the namespace's events. */
201
+ observe(core, apps, target, selector, knownDeployment) {
202
+ var _a, _b, _c, _d;
203
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
204
+ const namespace = target.namespace;
205
+ const [podList, rsList, events] = yield Promise.all([
206
+ core.listNamespacedPod({ namespace, labelSelector: selector }),
207
+ apps.listNamespacedReplicaSet({ namespace, labelSelector: selector }).catch(() => ({ items: [] })),
208
+ this.listEvents(core, namespace),
209
+ ]);
210
+ const owner = knownDeployment !== null && knownDeployment !== void 0 ? knownDeployment : (_b = ((_a = rsList.items) !== null && _a !== void 0 ? _a : []).flatMap(rs => { var _a, _b; return (_b = (_a = rs.metadata) === null || _a === void 0 ? void 0 : _a.ownerReferences) !== null && _b !== void 0 ? _b : []; }).find(o => o.kind === "Deployment")) === null || _b === void 0 ? void 0 : _b.name;
211
+ let deployment;
212
+ if (owner) {
213
+ deployment = yield apps.readNamespacedDeployment({ name: owner, namespace }).catch(() => undefined);
214
+ }
215
+ return { pods: (_c = podList.items) !== null && _c !== void 0 ? _c : [], replicaSets: (_d = rsList.items) !== null && _d !== void 0 ? _d : [], deployment, events };
216
+ });
217
+ }
218
+ listEvents(core, namespace) {
219
+ var _a, _b, _c, _d;
220
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
221
+ try {
222
+ const list = yield core.listNamespacedEvent({ namespace });
223
+ return (_a = list === null || list === void 0 ? void 0 : list.items) !== null && _a !== void 0 ? _a : [];
224
+ }
225
+ catch (err) {
226
+ this.logger.error(`Error listing events in namespace [${namespace}]: ${(_b = err === null || err === void 0 ? void 0 : err.message) !== null && _b !== void 0 ? _b : err}`);
227
+ throw new Error(`Could not list events in namespace [${namespace}]: ${(_d = (_c = err === null || err === void 0 ? void 0 : err.message) !== null && _c !== void 0 ? _c : err === null || err === void 0 ? void 0 : err.reason) !== null && _d !== void 0 ? _d : "unknown error"}`);
228
+ }
229
+ });
230
+ }
231
+ };
232
+ AssetRolloutFollower = AssetRolloutFollower_1 = tslib_1.__decorate([
233
+ (0, inversify_1.injectable)(),
234
+ tslib_1.__param(0, (0, inversify_1.inject)(k8s_utils_1.K8sUtils)),
235
+ tslib_1.__param(1, (0, inversify_1.inject)(codiac_common_1.INTERFACES.IBetterLogger)),
236
+ tslib_1.__metadata("design:paramtypes", [k8s_utils_1.K8sUtils, Object])
237
+ ], AssetRolloutFollower);
238
+ exports.AssetRolloutFollower = AssetRolloutFollower;
239
+ function sleep(ms) {
240
+ return new Promise(resolve => setTimeout(resolve, ms));
241
+ }
242
+ /** Pod name trimmed to the part that differs between replicas (used once the pod object is gone). */
243
+ function shortName(podName) {
244
+ const parts = podName.split("-");
245
+ return parts.length > 2 ? parts.slice(-2).join("-") : podName;
246
+ }
247
+ /** Rejects if `promise` has not settled by `deadlineMs`, so a stalled API call can never outlive the
248
+ * follow timeout. */
249
+ function withDeadline(promise, deadlineMs, what) {
250
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
251
+ // If the deadline wins, the abandoned call may still reject later; observe it so that can never
252
+ // surface as an unhandled rejection (which would crash the CLI after the deploy succeeded).
253
+ promise.catch(() => undefined);
254
+ const remaining = deadlineMs - Date.now();
255
+ if (remaining <= 0)
256
+ throw new Error(`timed out ${what}`);
257
+ let timer;
258
+ try {
259
+ return yield Promise.race([
260
+ promise,
261
+ new Promise((_, reject) => { timer = setTimeout(() => reject(new Error(`timed out ${what}`)), remaining); }),
262
+ ]);
263
+ }
264
+ finally {
265
+ if (timer)
266
+ clearTimeout(timer);
267
+ }
268
+ });
269
+ }
270
+ //# sourceMappingURL=asset-rollout-follower.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asset-rollout-follower.js","sourceRoot":"","sources":["../../../src/ops/k8s/asset-rollout-follower.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,104 @@
1
+ import * as k8s from "@kubernetes/client-node";
2
+ /** Pure (I/O-free) interpretation of Kubernetes pods, replica sets and events for an asset's rollout.
3
+ *
4
+ * Shared by `cod asset view -t status|events` (rendering) and `cod asset deploy --follow`
5
+ * (rendering + deciding when a rollout has settled), so both commands describe a pod the same way
6
+ * and the stop conditions can be unit tested without a cluster. */
7
+ /** Container `waiting` reasons that will not resolve on their own: the rollout is stuck until
8
+ * someone changes the image, config or code. Seeing one on a pod of the new rollout ends a follow. */
9
+ export declare const TERMINAL_WAITING_REASONS: ReadonlyArray<string>;
10
+ /** Kubelet's default probe `failureThreshold` when the pod spec leaves it unset. */
11
+ export declare const DEFAULT_PROBE_FAILURE_THRESHOLD = 3;
12
+ /** Best-available timestamp of an event in epoch ms (0 when the event carries none). Covers both the
13
+ * core/v1 shape (`lastTimestamp`) and the events.k8s.io/v1 shape (`eventTime`, `series`). */
14
+ export declare function eventTimeMs(e: any): number;
15
+ /** Number of occurrences an (aggregated) event represents. */
16
+ export declare function eventCount(e: any): number;
17
+ /** Identity of an event object, regardless of how many times it has recurred. */
18
+ export declare function eventIdentity(e: any): string;
19
+ /** Identity of an event *occurrence*: the same event object re-emitted with a higher count is a new
20
+ * occurrence (what `kubectl get events -w` reprints); an unchanged one is not. */
21
+ export declare function eventKey(e: any): string;
22
+ /** Name of the object an event is about (pod, replica set, deployment, ...). */
23
+ export declare function eventObjectName(e: any): string;
24
+ /** Narrows a namespace's events to those about the given asset — its pods, replica sets, deployment,
25
+ * service and ingress are all named after it — sorted oldest first. When nothing matches, returns
26
+ * every namespace event instead (with `matchedAsset: false`) so a naming mismatch never hides
27
+ * real activity. */
28
+ export declare function filterAssetEvents(all: any[], asset: string, podNames?: Iterable<string>): {
29
+ events: any[];
30
+ matchedAsset: boolean;
31
+ };
32
+ /** Compact age such as `45s`, `3m`, `2h`, `4d` (`?` when unknown). */
33
+ export declare function formatAge(ms: number, nowMs: number): string;
34
+ /** One event as `type reason kind/name message (xN)`, without its age. */
35
+ export declare function formatEventBody(e: any): string;
36
+ /** One event as a `kubectl get events`-style row, prefixed with its age. */
37
+ export declare function formatEventLine(e: any, nowMs: number): string;
38
+ /** True for events Kubernetes flags as problems (rendered in the warning color). */
39
+ export declare function isWarningEvent(e: any): boolean;
40
+ /** True once the pod's `Ready` condition is `True` (all containers passing readiness). */
41
+ export declare function isPodReady(pod: k8s.V1Pod): boolean;
42
+ /** Total container restarts across the pod. */
43
+ export declare function podRestarts(pod: k8s.V1Pod): number;
44
+ /** Short, stable label for a pod's state — the unit `--follow` prints a transition on, eg
45
+ * `Pending`, `Pending (ContainerCreating)`, `Running (not ready)`, `Ready`, `Waiting (CrashLoopBackOff)`,
46
+ * `Terminating`. Deliberately excludes timestamps and messages so it only changes when the state does. */
47
+ export declare function podStateLabel(pod: k8s.V1Pod): string;
48
+ /** Verbose pod state (phase + pod reason/message + first container's waiting/terminated detail) as
49
+ * rendered by `cod asset view -t status`. */
50
+ export declare function describePodState(replica: k8s.V1Pod): string;
51
+ /** The pod's most recently transitioned condition, with reason/message and since-when, as rendered
52
+ * by `cod asset view -t status`. */
53
+ export declare function describePodCondition(replica: k8s.V1Pod): string;
54
+ /** Suffix of a pod name starting at its template hash (`7c9d8-x2kq`), which is all that
55
+ * distinguishes replicas of the same asset. */
56
+ export declare function shortPodName(pod: k8s.V1Pod): string;
57
+ /** The pods that make up the *new* rollout and how many of them are wanted. */
58
+ export type RolloutPodSelection = {
59
+ /** Live (not terminating) pods of the newest revision. */
60
+ pods: k8s.V1Pod[];
61
+ /** Replicas the workload asks for; `undefined` when no Deployment was found to say. */
62
+ desired: number | undefined;
63
+ /** False while the Deployment controller has not yet observed the latest spec change, ie the
64
+ * "newest" replica set may still be the previous one and nothing can be concluded yet. */
65
+ settled: boolean;
66
+ };
67
+ /** Picks the new rollout's pods out of every pod carrying the asset's label: when the Deployment is
68
+ * known, only pods of its newest replica set (highest revision) count, so old pods that are still
69
+ * draining never hold up — or fail — the verdict. Without a Deployment (eg a pod-only workload) every
70
+ * live pod counts. */
71
+ export declare function selectRolloutPods(pods: k8s.V1Pod[], replicaSets?: k8s.V1ReplicaSet[], deployment?: k8s.V1Deployment): RolloutPodSelection;
72
+ /** A reason a pod of the new rollout will not become Ready without intervention. */
73
+ export type PodProblem = {
74
+ pod: string;
75
+ reason: string;
76
+ };
77
+ /** Where a followed rollout stands after one observation. */
78
+ export type RolloutVerdict = {
79
+ state: "ready" | "failed" | "progressing";
80
+ ready: number;
81
+ /** Replicas wanted (falls back to the number of observed pods when unknown). */
82
+ desired: number;
83
+ /** Why the rollout failed (state=failed) or what it is waiting on (state=progressing). */
84
+ reason?: string;
85
+ /** Pod the reason refers to. */
86
+ pod?: string;
87
+ };
88
+ /** Shortens kubelet's probe failure message, eg
89
+ * `Readiness probe failed: HTTP probe failed with statuscode: 503` → `Readiness probe failed: HTTP 503 /ready`. */
90
+ export declare function summarizeProbeMessage(message: string, probe?: k8s.V1Probe): string;
91
+ /** Latest Warning event about the given pod, if any. */
92
+ export declare function latestWarningForPod(podName: string, events: any[]): any | undefined;
93
+ /** Decides whether a pod is stuck for good. Stuck means: phase `Failed`; a container waiting on one
94
+ * of {@link TERMINAL_WAITING_REASONS}; or a readiness/startup probe that has failed MORE times than
95
+ * its `failureThreshold` (default 3) while the pod is still not Ready. The reason includes the most
96
+ * relevant event message so the user sees *why* (eg the image pull error or the probe's HTTP status). */
97
+ export declare function findPodProblem(pod: k8s.V1Pod, events: any[]): PodProblem | undefined;
98
+ /** Judges one observation of a rollout: `failed` as soon as any pod of the new rollout has a
99
+ * {@link findPodProblem}; `ready` once the controller has settled and every wanted replica of the new
100
+ * rollout is Ready (a workload scaled to zero is immediately ready); otherwise `progressing`. */
101
+ export declare function evaluateRollout(selection: RolloutPodSelection, events: any[]): RolloutVerdict;
102
+ /** The one-line result of a follow, eg `✔ 2/2 pods ready in 41s`, `✖ 0/2 ready after 12s: ImagePullBackOff: ...`
103
+ * or (timeout) `✖ 1/2 ready after 300s: Readiness probe failed: HTTP 503 /ready`. */
104
+ export declare function formatRolloutSummary(verdict: RolloutVerdict, elapsedSeconds: number): string;