typekro 0.35.0 → 0.36.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 (62) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/alchemy/kro-delete.d.ts +7 -0
  3. package/dist/alchemy/kro-delete.d.ts.map +1 -1
  4. package/dist/alchemy/kro-delete.js +28 -4
  5. package/dist/alchemy/kro-delete.js.map +1 -1
  6. package/dist/alchemy/resource-registration.d.ts +9 -2
  7. package/dist/alchemy/resource-registration.d.ts.map +1 -1
  8. package/dist/alchemy/resource-registration.js +117 -33
  9. package/dist/alchemy/resource-registration.js.map +1 -1
  10. package/dist/core/deployment/k8s-helpers.d.ts +77 -1
  11. package/dist/core/deployment/k8s-helpers.d.ts.map +1 -1
  12. package/dist/core/deployment/k8s-helpers.js +298 -17
  13. package/dist/core/deployment/k8s-helpers.js.map +1 -1
  14. package/dist/core/deployment/kro-artifact-binding-migration.d.ts +17 -6
  15. package/dist/core/deployment/kro-artifact-binding-migration.d.ts.map +1 -1
  16. package/dist/core/deployment/kro-artifact-binding-migration.js +16 -2
  17. package/dist/core/deployment/kro-artifact-binding-migration.js.map +1 -1
  18. package/dist/core/deployment/kro-namespace-teardown.d.ts +15 -1
  19. package/dist/core/deployment/kro-namespace-teardown.d.ts.map +1 -1
  20. package/dist/core/deployment/kro-namespace-teardown.js +34 -9
  21. package/dist/core/deployment/kro-namespace-teardown.js.map +1 -1
  22. package/dist/core/deployment/kro-readiness.d.ts +35 -0
  23. package/dist/core/deployment/kro-readiness.d.ts.map +1 -1
  24. package/dist/core/deployment/kro-readiness.js +201 -25
  25. package/dist/core/deployment/kro-readiness.js.map +1 -1
  26. package/dist/core/deployment/poll-timeout.d.ts +80 -2
  27. package/dist/core/deployment/poll-timeout.d.ts.map +1 -1
  28. package/dist/core/deployment/poll-timeout.js +164 -4
  29. package/dist/core/deployment/poll-timeout.js.map +1 -1
  30. package/dist/core/kubernetes/bun-http-library.d.ts +24 -0
  31. package/dist/core/kubernetes/bun-http-library.d.ts.map +1 -1
  32. package/dist/core/kubernetes/bun-http-library.js +146 -19
  33. package/dist/core/kubernetes/bun-http-library.js.map +1 -1
  34. package/dist/core/kubernetes/errors.d.ts +9 -0
  35. package/dist/core/kubernetes/errors.d.ts.map +1 -1
  36. package/dist/core/kubernetes/errors.js +7 -3
  37. package/dist/core/kubernetes/errors.js.map +1 -1
  38. package/dist/factories/clickhouse/compositions/clickhouse-cluster.d.ts +24 -2
  39. package/dist/factories/clickhouse/compositions/clickhouse-cluster.d.ts.map +1 -1
  40. package/dist/factories/clickhouse/compositions/clickhouse-cluster.js +24 -2
  41. package/dist/factories/clickhouse/compositions/clickhouse-cluster.js.map +1 -1
  42. package/dist/factories/clickhouse/resources/keeper.d.ts +61 -0
  43. package/dist/factories/clickhouse/resources/keeper.d.ts.map +1 -1
  44. package/dist/factories/clickhouse/resources/keeper.js +216 -2
  45. package/dist/factories/clickhouse/resources/keeper.js.map +1 -1
  46. package/dist/factories/clickhouse/resources/s3-backup.d.ts.map +1 -1
  47. package/dist/factories/clickhouse/resources/s3-backup.js +4 -3
  48. package/dist/factories/clickhouse/resources/s3-backup.js.map +1 -1
  49. package/dist/factories/clickhouse/types.d.ts +3 -2
  50. package/dist/factories/clickhouse/types.d.ts.map +1 -1
  51. package/dist/factories/clickhouse/types.js +28 -1
  52. package/dist/factories/clickhouse/types.js.map +1 -1
  53. package/dist/factories/clickhouse/utils/validation.d.ts +133 -10
  54. package/dist/factories/clickhouse/utils/validation.d.ts.map +1 -1
  55. package/dist/factories/clickhouse/utils/validation.js +165 -18
  56. package/dist/factories/clickhouse/utils/validation.js.map +1 -1
  57. package/dist/factories/clickstack/compositions/clickstack-bootstrap.d.ts +15 -1
  58. package/dist/factories/clickstack/compositions/clickstack-bootstrap.d.ts.map +1 -1
  59. package/dist/factories/clickstack/compositions/clickstack-bootstrap.js +15 -1
  60. package/dist/factories/clickstack/compositions/clickstack-bootstrap.js.map +1 -1
  61. package/dist/factories/rook/types.d.ts +16 -16
  62. package/package.json +1 -1
@@ -1,4 +1,5 @@
1
1
  import type { KubeConfig } from '@kubernetes/client-node';
2
+ import { type HttpTimeoutConfig } from '../core/kubernetes/bun-api-client.js';
2
3
  import type { ResourceDeletionResult } from '../core/types/deployment.js';
3
4
  export interface KroDeletionOptions {
4
5
  apiVersion: string;
@@ -14,6 +15,12 @@ export interface KroDeletionOptions {
14
15
  group?: string;
15
16
  plural?: string;
16
17
  timeout?: number;
18
+ /**
19
+ * Per-verb request timeouts for the teardown's own Kubernetes calls. Without it the deletion
20
+ * path silently ignores a caller's configured `httpTimeouts` and falls back to the repo
21
+ * defaults — a `delete: 300_000` meant for slow finalizers would be cut at 180s.
22
+ */
23
+ httpTimeouts?: HttpTimeoutConfig;
17
24
  }
18
25
  interface CustomObjectListApi {
19
26
  listClusterCustomObject(request: {
@@ -1 +1 @@
1
- {"version":3,"file":"kro-delete.d.ts","sourceRoot":"","sources":["../../src/alchemy/kro-delete.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kro-delete.d.ts","sourceRoot":"","sources":["../../src/alchemy/kro-delete.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { CRDInstanceError, ensureError } from '../core/errors.js';
2
2
  import { blockerForRemainingResource, createDeletionResultState, deletionTarget, finishDeletionResult, readDeletionResourceIdentity, } from '../core/deployment/deletion-result.js';
3
+ import { callDeadlineBudget, withCallDeadline } from '../core/deployment/poll-timeout.js';
3
4
  import { createRollbackManager } from '../core/deployment/rollback-manager.js';
4
5
  import { createBunCompatibleCustomObjectsApi, createBunCompatibleKubernetesObjectApi, } from '../core/kubernetes/bun-api-client.js';
5
6
  import { getComponentLogger } from '../core/logging/index.js';
@@ -16,6 +17,23 @@ function getSchemaGroup(options) {
16
17
  function getInstanceApiVersion(options) {
17
18
  return `${getSchemaGroup(options)}/${getSchemaVersion(options.apiVersion)}`;
18
19
  }
20
+ /**
21
+ * Bound every request a teardown client issues.
22
+ *
23
+ * Teardown polls (`delete` then read to a real 404) re-check their deadline only BETWEEN
24
+ * iterations, so they rely on each request settling. A wedged call — a hung exec credential, an API
25
+ * server that accepts the connection and never answers — otherwise hangs the destroy the same way
26
+ * it hung reconcile, with no error and no log line. Capped by the deletion timeout so no single
27
+ * request outlives the teardown it belongs to. The INJECTED client is wrapped too, so the test
28
+ * seams exercise the bound rather than escaping it.
29
+ */
30
+ function boundDeletionCalls(api, options, phase, abortSignal) {
31
+ return withCallDeadline(api, {
32
+ budget: callDeadlineBudget(options.httpTimeouts, options.timeout),
33
+ label: `KRO ${options.kind} ${options.rgdName} (${phase})`,
34
+ ...(abortSignal ? { abortSignal } : {}),
35
+ });
36
+ }
19
37
  function getKubernetesErrorCode(error) {
20
38
  const k8sError = error;
21
39
  return k8sError.statusCode ?? k8sError.code ?? k8sError.body?.code;
@@ -57,8 +75,9 @@ function shouldPreserveRgd(instances, targetName, instanceDeleted, targetNamespa
57
75
  }
58
76
  async function lookupCRDPlural(kubeConfig, options, k8sApi = createBunCompatibleKubernetesObjectApi(kubeConfig)) {
59
77
  const logger = getComponentLogger('alchemy-kro-delete');
78
+ const boundedApi = boundDeletionCalls(k8sApi, options, 'crd-plural-lookup');
60
79
  try {
61
- const crds = (await k8sApi.list('apiextensions.k8s.io/v1', 'CustomResourceDefinition'));
80
+ const crds = (await boundedApi.list('apiextensions.k8s.io/v1', 'CustomResourceDefinition'));
62
81
  const match = crds.items?.find((crd) => crd.spec?.group === getSchemaGroup(options) && crd.spec?.names?.kind === options.kind);
63
82
  return match?.spec?.names?.plural;
64
83
  }
@@ -76,7 +95,8 @@ async function listKroInstances(kubeConfig, options, customApi = createBunCompat
76
95
  if (!plural) {
77
96
  return [];
78
97
  }
79
- const response = await customApi.listClusterCustomObject({
98
+ const boundedCustomApi = boundDeletionCalls(customApi, options, 'instance-list', abortSignal);
99
+ const response = await boundedCustomApi.listClusterCustomObject({
80
100
  group: getSchemaGroup(options),
81
101
  version: getSchemaVersion(options.apiVersion),
82
102
  plural,
@@ -112,7 +132,7 @@ export async function deleteKroDefinition(kubeConfig, options, k8sApi = createBu
112
132
  // ONE gating mechanism: the engine's rollback manager deletes then polls to a REAL 404
113
133
  // and THROWS on timeout — the SAME primitive the imperative KRO teardown uses. A
114
134
  // pre-existing 404 is treated as already-gone.
115
- const rollback = createRollbackManager(k8sApi);
135
+ const rollback = createRollbackManager(boundDeletionCalls(k8sApi, options, 'definition-delete', abortSignal));
116
136
  const timeout = options.timeout ?? 300000;
117
137
  // The RGD delete is a HARD gate (throws on timeout).
118
138
  try {
@@ -157,7 +177,11 @@ export async function deleteKroInstanceFinalizerSafe(kubeConfig, name, options,
157
177
  async function deleteKroInstanceFinalizerSafeWithApis(kubeConfig, name, options, apis, abortSignal) {
158
178
  throwIfAborted(abortSignal);
159
179
  const logger = getComponentLogger('alchemy-kro-delete');
160
- const { customApi, k8sApi, sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms)), } = apis;
180
+ const { customApi: rawCustomApi, k8sApi: rawK8sApi, sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms)), } = apis;
181
+ const k8sApi = boundDeletionCalls(rawK8sApi, options, 'instance-delete', abortSignal);
182
+ const customApi = rawCustomApi
183
+ ? boundDeletionCalls(rawCustomApi, options, 'instance-delete', abortSignal)
184
+ : rawCustomApi;
161
185
  const apiVersion = getInstanceApiVersion(options);
162
186
  const timeout = options.timeout ?? 300000;
163
187
  const deletion = createDeletionResultState('kro', options.rgdName, name);
@@ -1 +1 @@
1
- {"version":3,"file":"kro-delete.js","sourceRoot":"","sources":["../../src/alchemy/kro-delete.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kro-delete.js","sourceRoot":"","sources":["../../src/alchemy/kro-delete.ts"],"names":[],"mappings":"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"}
@@ -104,9 +104,11 @@ declare function waitForPersistedIdentityDeletion(props: TypeKroResourceProps<En
104
104
  * prop-diff responsibility; controller-owned status evolution stays a no-op.
105
105
  * A non-404 read failure is never evidence of drift absence and fails closed.
106
106
  */
107
- declare function detectKroResourceIdentityDrift(props: TypeKroResourceProps<Enhanced<unknown, unknown>>, output: TypeKroResource<Enhanced<unknown, unknown>> | undefined, reader?: KroResourceIdentityReader): Promise<{
107
+ declare function detectKroResourceIdentityDrift(props: TypeKroResourceProps<Enhanced<unknown, unknown>>, output: TypeKroResource<Enhanced<unknown, unknown>> | undefined, reader?: KroResourceIdentityReader, abortSignal?: AbortSignal): Promise<{
108
108
  readonly action: 'update';
109
109
  } | undefined>;
110
+ /** Test hook for the singleton-owner spec-drift gate (fail-closed on a wedged read). */
111
+ export declare const assertNoSingletonDriftForTest: typeof _assertNoSingletonDrift;
110
112
  /** Test hook for persisted-state Kubernetes drift decisions. */
111
113
  export declare const detectKroResourceIdentityDriftForTest: typeof detectKroResourceIdentityDrift;
112
114
  /** Test hook for terminating persisted-identity reconciliation. */
@@ -162,13 +164,18 @@ interface AlchemyPreHoistDeps {
162
164
  k8sApi?: infer A;
163
165
  } ? A : never : never;
164
166
  }
165
- declare function _existingInstanceNamespacesAlchemy<T extends Enhanced<unknown, unknown>>(props: TypeKroResourceProps<T>, kc: KubeConfig, logger: TypeKroLogger, deps?: AlchemyPreHoistDeps): Promise<Set<string>>;
167
+ declare function _existingInstanceNamespacesAlchemy<T extends Enhanced<unknown, unknown>>(props: TypeKroResourceProps<T>, kc: KubeConfig, logger: TypeKroLogger, deps?: AlchemyPreHoistDeps, abortSignal?: AbortSignal): Promise<Set<string>>;
166
168
  /**
167
169
  * Test-only export of the alchemy pre-hoist namespace resolver (finding #1, v7) so the
168
170
  * deterministic unit test can prove the per-instance-exact-or-fail-closed behavior with
169
171
  * injected API mocks (no cluster).
170
172
  */
171
173
  export declare const existingInstanceNamespacesAlchemyForTest: typeof _existingInstanceNamespacesAlchemy;
174
+ declare function _assertNoSingletonDrift<T extends Enhanced<unknown, unknown>>(props: TypeKroResourceProps<T>, logger: TypeKroLogger, abortSignal?: AbortSignal, deps?: {
175
+ readonly api?: {
176
+ read(spec: unknown): Promise<unknown>;
177
+ };
178
+ }): Promise<void>;
172
179
  /**
173
180
  * Decode one operation from the canonical KRO outer bundle persisted by
174
181
  * Alchemy. The operation record, rather than the JSON-flattened resource, is
@@ -1 +1 @@
1
- {"version":3,"file":"resource-registration.d.ts","sourceRoot":"","sources":["../../src/alchemy/resource-registration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource-registration.d.ts","sourceRoot":"","sources":["../../src/alchemy/resource-registration.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,7 @@ import { DEFAULT_DEPLOYMENT_TIMEOUT } from '../core/config/defaults.js';
24
24
  import { CEL_EXPRESSION_BRAND } from '../core/constants/brands.js';
25
25
  import { ResourceReplacementTimeoutError } from '../core/deployment/errors.js';
26
26
  import { isNotFoundError } from '../core/deployment/k8s-helpers.js';
27
+ import { callDeadlineBudget, isRequestTimeoutError, withCallDeadline, } from '../core/deployment/poll-timeout.js';
27
28
  import { migrateLegacyKroArtifactBindingCrd, repairRetainedKroGeneratedCrdOwnership, } from '../core/deployment/kro-artifact-binding-migration.js';
28
29
  import { decideNamespaceOwnershipCreateFirst, deleteNamespaceIfEmpty, HOISTED_NAMESPACES_ANNOTATION, listNamespacesOwnedByRgd, NAMESPACE_OWNER_ANNOTATION, readHoistedNamespacesRecord, } from '../core/deployment/kro-namespace-teardown.js';
29
30
  import { SINGLETON_SPEC_FINGERPRINT_ANNOTATION } from '../core/deployment/resource-tagging.js';
@@ -144,7 +145,7 @@ Effect.succeed({
144
145
  return { action: 'replace' };
145
146
  }
146
147
  return yield* Effect.tryPromise({
147
- try: () => detectKroResourceIdentityDrift(olds, output),
148
+ try: (abortSignal) => detectKroResourceIdentityDrift(olds, output, undefined, abortSignal),
148
149
  catch: ensureError,
149
150
  });
150
151
  }),
@@ -327,20 +328,20 @@ async function deployKroResource(props, abortSignal, dependencies = {}) {
327
328
  // typekro-hoisted workload Namespace, refuse to proceed if it is still a KRO ApplySet
328
329
  // member from a pre-hoist RGD — rolling the new hoisted RGD over the old one would let
329
330
  // KRO's prune delete it. Cluster-checked here since `toAlchemyResources` is cluster-free.
330
- await _assertNoPreHoistNamespaceConflictAlchemy(props, logger);
331
+ await _assertNoPreHoistNamespaceConflictAlchemy(props, logger, {}, abortSignal);
331
332
  abortSignal?.throwIfAborted();
332
333
  // Singleton-owner spec-drift protection (the declarative analog of `assertNoDeployedSingletonSpecDrift`
333
334
  // in the imperative deploy path): refuse to clobber a shared singleton that already exists with a
334
335
  // different spec. Cluster-checked here since `toAlchemyResources` is intentionally cluster-free.
335
- await _assertNoSingletonDrift(props, logger);
336
+ await _assertNoSingletonDrift(props, logger, abortSignal);
336
337
  abortSignal?.throwIfAborted();
337
338
  // finding #2 (adopted-namespace): the hoisted workload Namespace is stamped
338
339
  // owned-by-this-RGD at BUILD time (cluster-free). READ the live namespace here and
339
340
  // KEEP that stamp ONLY when typekro actually creates it (404) or already owns it;
340
341
  // otherwise strip it so teardown never deletes a namespace typekro merely adopted.
341
- const effectiveProps = await _preserveHoistedNamespaceAdoption(props, logger);
342
+ const effectiveProps = await _preserveHoistedNamespaceAdoption(props, logger, abortSignal);
342
343
  abortSignal?.throwIfAborted();
343
- const { deployer, dispose } = await _resolveDeployer(effectiveProps, 'deployment');
344
+ const { deployer, dispose } = await _resolveDeployer(effectiveProps, 'deployment', abortSignal);
344
345
  try {
345
346
  // Direct mode: hand the deployer the live state of this resource's dependencies so the engine
346
347
  // resolves its cross-resource references + CEL expressions against them (the deps deployed
@@ -388,7 +389,10 @@ async function deployKroResource(props, abortSignal, dependencies = {}) {
388
389
  if (effectiveProps.deploymentStrategy === 'kro' &&
389
390
  resourceForDeploy.kind === 'ResourceGraphDefinition') {
390
391
  await (dependencies.migrateLegacyArtifactBindings ?? migrateLegacyKroArtifactBindingCrd)(dependencies.kubeConfigForMigration?.() ??
391
- _createClientProvider(effectiveProps, 'artifact-binding-migration'), resourceForDeploy);
392
+ _createClientProvider(effectiveProps, 'artifact-binding-migration'), resourceForDeploy, {
393
+ requestBudget: _clusterCallBudget(effectiveProps),
394
+ ...(abortSignal ? { abortSignal } : {}),
395
+ });
392
396
  }
393
397
  const deployProps = resourceForDeploy === effectiveProps.resource
394
398
  ? effectiveProps
@@ -397,7 +401,10 @@ async function deployKroResource(props, abortSignal, dependencies = {}) {
397
401
  if (effectiveProps.deploymentStrategy === 'kro' &&
398
402
  resourceForDeploy.kind === 'ResourceGraphDefinition') {
399
403
  await (dependencies.repairRetainedCrdOwnership ?? repairRetainedKroGeneratedCrdOwnership)(dependencies.kubeConfigForMigration?.() ??
400
- _createClientProvider(effectiveProps, 'retained-crd-adoption'), resourceForDeploy);
404
+ _createClientProvider(effectiveProps, 'retained-crd-adoption'), resourceForDeploy, {
405
+ requestBudget: _clusterCallBudget(effectiveProps),
406
+ ...(abortSignal ? { abortSignal } : {}),
407
+ });
401
408
  }
402
409
  _logDeploymentSuccess(logger, KRO_RESOURCE_TYPE, effectiveProps, resourceProperties);
403
410
  return resourceProperties;
@@ -432,11 +439,43 @@ function persistedKroResourceIdentity(output) {
432
439
  },
433
440
  };
434
441
  }
435
- function identityReader(props, reader, phase) {
442
+ /**
443
+ * The per-verb request budget for every cluster call this handler makes ITSELF — the
444
+ * drift/terminating-identity reads, the singleton and pre-hoist safety gates, the hoisted-namespace
445
+ * ownership probe, the generated-CRD migrations, and the client handed to the deployment engine.
446
+ * None of them had a bound, so one wedged request (a hung exec credential, a half-open socket, an
447
+ * API server that accepts the connection and never answers) left the reconcile hanging with no log
448
+ * line and no error until the caller's outer timeout killed the whole converge. The engine's own
449
+ * readiness polls bound their reads, but nothing bounded the engine's applies — and off Bun the
450
+ * client's HTTP-level timeouts do not exist at all — so its client is wrapped here too.
451
+ *
452
+ * Derived from `options.httpTimeouts` PER VERB — a read budget applied to a create or a delete
453
+ * would abort writes that are legitimately slow behind admission webhooks or finalizers — and
454
+ * capped by the deployment timeout so a single call can never outlive the deploy it belongs to.
455
+ */
456
+ function _clusterCallBudget(props) {
457
+ return callDeadlineBudget(props.options?.httpTimeouts, props.options?.timeout ?? DEFAULT_DEPLOYMENT_TIMEOUT);
458
+ }
459
+ /**
460
+ * A Kubernetes client for the handler's own calls, bounded by {@link _clusterCallBudget}.
461
+ *
462
+ * An INJECTED client (a test seam) is wrapped too, deliberately: the bound is what these tests
463
+ * exist to prove, and a seam that escaped it would let a regression reappear as a green run.
464
+ */
465
+ function _boundClusterCalls(api, props, phase, abortSignal) {
466
+ const name = props.resource.metadata?.name;
467
+ const kind = props.resource.kind ?? 'resource';
468
+ return withCallDeadline(api, {
469
+ budget: _clusterCallBudget(props),
470
+ label: `${kind} ${name ?? '<unnamed>'} (${phase})`,
471
+ ...(abortSignal ? { abortSignal } : {}),
472
+ });
473
+ }
474
+ function identityReader(props, reader, phase, abortSignal) {
436
475
  if (reader)
437
- return reader;
476
+ return _boundClusterCalls(reader, props, phase, abortSignal);
438
477
  const provider = _createClientProvider(props, phase);
439
- const api = createBunCompatibleKubernetesObjectApi(provider);
478
+ const api = _boundClusterCalls(createBunCompatibleKubernetesObjectApi(provider, props.options?.httpTimeouts), props, phase, abortSignal);
440
479
  return {
441
480
  read: async (resource) => (await api.read(resource)),
442
481
  };
@@ -477,7 +516,7 @@ async function waitForPersistedIdentityDeletion(props, output, abortSignal, depe
477
516
  const identity = persistedKroResourceIdentity(output);
478
517
  if (!identity)
479
518
  return;
480
- const reader = identityReader(props, dependencies.reader, 'alchemy-terminating-identity');
519
+ const reader = identityReader(props, dependencies.reader, 'alchemy-terminating-identity', abortSignal);
481
520
  const sleep = dependencies.sleep ??
482
521
  ((milliseconds) => new Promise((resolve) => setTimeout(resolve, milliseconds)));
483
522
  const now = dependencies.now ?? Date.now;
@@ -518,12 +557,12 @@ async function waitForPersistedIdentityDeletion(props, output, abortSignal, depe
518
557
  * prop-diff responsibility; controller-owned status evolution stays a no-op.
519
558
  * A non-404 read failure is never evidence of drift absence and fails closed.
520
559
  */
521
- async function detectKroResourceIdentityDrift(props, output, reader) {
560
+ async function detectKroResourceIdentityDrift(props, output, reader, abortSignal) {
522
561
  const prior = output?.deployedResource;
523
562
  const identity = persistedKroResourceIdentity(output);
524
563
  if (!prior || !identity)
525
564
  return { action: 'update' };
526
- const liveReader = identityReader(props, reader, 'alchemy-drift-check');
565
+ const liveReader = identityReader(props, reader, 'alchemy-drift-check', abortSignal);
527
566
  let live;
528
567
  try {
529
568
  live = await liveReader.read(identity);
@@ -544,6 +583,8 @@ async function detectKroResourceIdentityDrift(props, output, reader) {
544
583
  return { action: 'update' };
545
584
  return undefined;
546
585
  }
586
+ /** Test hook for the singleton-owner spec-drift gate (fail-closed on a wedged read). */
587
+ export const assertNoSingletonDriftForTest = _assertNoSingletonDrift;
547
588
  /** Test hook for persisted-state Kubernetes drift decisions. */
548
589
  export const detectKroResourceIdentityDriftForTest = detectKroResourceIdentityDrift;
549
590
  /** Test hook for terminating persisted-identity reconciliation. */
@@ -562,19 +603,19 @@ export { singletonDriftVerdict } from '../core/deployment/singleton-owner-drift.
562
603
  * label from a pre-hoist RGD), applying the new hoisted RGD would let KRO's prune delete
563
604
  * it — so THROW. A 404 (fresh) is safe; any OTHER read error FAILS CLOSED (throws).
564
605
  */
565
- async function _assertNoPreHoistNamespaceConflictAlchemy(props, logger) {
606
+ async function _assertNoPreHoistNamespaceConflictAlchemy(props, logger, deps = {}, abortSignal) {
566
607
  if (props.namespaceEmptyGate !== true)
567
608
  return;
568
609
  const incoming = props.resource.metadata?.name;
569
610
  if (typeof incoming !== 'string' || incoming.length === 0)
570
611
  return;
571
612
  const kc = _createClientProvider(props, 'pre-hoist-check');
572
- const api = createBunCompatibleKubernetesObjectApi(kc);
613
+ const api = _boundClusterCalls(createBunCompatibleKubernetesObjectApi(kc, props.options?.httpTimeouts), props, 'pre-hoist-check', abortSignal);
573
614
  // The set of namespaces to check: the incoming one PLUS every EXISTING instance's
574
615
  // namespace (finding #7). An upgrade prunes the ApplySet for ALL instances of the
575
616
  // shared RGD at once, so missing one would let KRO delete it.
576
617
  const namespacesToCheck = new Set([incoming]);
577
- for (const ns of await _existingInstanceNamespacesAlchemy(props, kc, logger)) {
618
+ for (const ns of await _existingInstanceNamespacesAlchemy(props, kc, logger, deps, abortSignal)) {
578
619
  namespacesToCheck.add(ns);
579
620
  }
580
621
  for (const name of namespacesToCheck) {
@@ -610,13 +651,13 @@ async function _assertNoPreHoistNamespaceConflictAlchemy(props, logger) {
610
651
  namespaces: [...namespacesToCheck],
611
652
  });
612
653
  }
613
- async function _existingInstanceNamespacesAlchemy(props, kc, logger, deps = {}) {
654
+ async function _existingInstanceNamespacesAlchemy(props, kc, logger, deps = {}, abortSignal) {
614
655
  const result = new Set();
615
656
  const query = props.namespacePreHoistQuery;
616
657
  if (!query)
617
658
  return result;
618
659
  // STRICT CRD discovery — a list failure FAILS CLOSED (throws).
619
- const objectApi = deps.objectApi ?? createBunCompatibleKubernetesObjectApi(kc);
660
+ const objectApi = _boundClusterCalls(deps.objectApi ?? createBunCompatibleKubernetesObjectApi(kc, props.options?.httpTimeouts), props, 'pre-hoist-instance-scan', abortSignal);
620
661
  const crds = (await objectApi.list('apiextensions.k8s.io/v1', 'CustomResourceDefinition'));
621
662
  const match = crds?.items?.find((crd) => crd.spec?.group === query.group && crd.spec?.names?.kind === query.kind);
622
663
  const plural = match?.spec?.names?.plural;
@@ -624,8 +665,8 @@ async function _existingInstanceNamespacesAlchemy(props, kc, logger, deps = {})
624
665
  return result; // definitively fresh — no CRD, so no existing instances
625
666
  let items;
626
667
  try {
627
- const customApi = deps.customApi ??
628
- createBunCompatibleCustomObjectsApi(kc);
668
+ const customApi = _boundClusterCalls(deps.customApi ??
669
+ createBunCompatibleCustomObjectsApi(kc), props, 'pre-hoist-instance-scan', abortSignal);
629
670
  const listResponse = await customApi.listClusterCustomObject({
630
671
  group: query.group,
631
672
  version: query.version,
@@ -654,9 +695,19 @@ async function _existingInstanceNamespacesAlchemy(props, kc, logger, deps = {})
654
695
  if (typeof ownerRgd === 'string' && ownerRgd.length > 0) {
655
696
  let owned;
656
697
  try {
698
+ // The owned-namespace listing paginates in its own loop and builds its own client, so it
699
+ // needs the bound passed IN — it is the last call in this fail-closed gate that runs before
700
+ // `engine.deploy`, and an unbounded page fetch here wedges the reconcile exactly like the
701
+ // reads above used to.
657
702
  owned = await listNamespacesOwnedByRgd(kc, ownerRgd, {
658
703
  logger,
659
- ...(deps.ownedNamespaceListApi ? { k8sApi: deps.ownedNamespaceListApi } : {}),
704
+ requestBudget: _clusterCallBudget(props),
705
+ ...(abortSignal ? { abortSignal } : {}),
706
+ ...(deps.ownedNamespaceListApi
707
+ ? {
708
+ k8sApi: _boundClusterCalls(deps.ownedNamespaceListApi, props, 'pre-hoist-owned-namespaces', abortSignal),
709
+ }
710
+ : {}),
660
711
  });
661
712
  }
662
713
  catch (error) {
@@ -720,14 +771,14 @@ export const existingInstanceNamespacesAlchemyForTest = _existingInstanceNamespa
720
771
  * Returns props unchanged for non-hoisted-namespace resources or when the stamp should
721
772
  * stay; otherwise a shallow copy whose resource has the ownership annotation removed.
722
773
  */
723
- async function _preserveHoistedNamespaceAdoption(props, logger) {
774
+ async function _preserveHoistedNamespaceAdoption(props, logger, abortSignal) {
724
775
  if (props.namespaceEmptyGate !== true || props.namespaceOwnerRgd === undefined)
725
776
  return props;
726
777
  const name = props.resource.metadata?.name;
727
778
  if (typeof name !== 'string' || name.length === 0)
728
779
  return props;
729
780
  const kc = _createClientProvider(props, 'ownership-check');
730
- const api = createBunCompatibleKubernetesObjectApi(kc);
781
+ const api = _boundClusterCalls(createBunCompatibleKubernetesObjectApi(kc, props.options?.httpTimeouts), props, 'ownership-check', abortSignal);
731
782
  // CREATE-FIRST ownership (finding #3), matching the imperative path: attempt to CREATE
732
783
  // the namespace WITH the build-time stamp. A 201 is atomic proof typekro created it
733
784
  // (owned). A 409 means it already exists — owned ONLY if a prior create by this RGD
@@ -775,19 +826,29 @@ function _stripNamespaceOwnerAnnotation(resource) {
775
826
  metadata: { ...(src.metadata ?? {}), annotations },
776
827
  };
777
828
  }
778
- async function _assertNoSingletonDrift(props, logger) {
829
+ async function _assertNoSingletonDrift(props, logger, abortSignal, deps = {}) {
779
830
  const resource = props.resource;
780
831
  const expected = resource.metadata?.annotations?.[SINGLETON_SPEC_FINGERPRINT_ANNOTATION];
781
832
  if (!expected)
782
833
  return; // not a fingerprinted singleton instance
783
834
  let live;
784
835
  try {
785
- const kc = _createClientProvider(props, 'singleton-drift-check');
786
- const api = createBunCompatibleKubernetesObjectApi(kc);
836
+ const rawApi = deps.api ??
837
+ createBunCompatibleKubernetesObjectApi(_createClientProvider(props, 'singleton-drift-check'), props.options?.httpTimeouts);
838
+ const api = _boundClusterCalls(rawApi, props, 'singleton-drift-check', abortSignal);
787
839
  live = (await api.read(props.resource));
788
840
  }
789
- catch {
790
- return; // not found / CRD not yet created / cluster unreachable no existing spec to clash with
841
+ catch (error) {
842
+ // A WEDGED call is not evidence that nothing exists to clash with, and swallowing it would
843
+ // silently skip this assertion after the full budget had elapsed. Fail closed on ANY request
844
+ // timeout — the socket's as well as this handler's deadline wrapper's, since the socket timer is
845
+ // armed first and therefore usually wins — and on an abort. Only the pre-existing cases (not
846
+ // found, CRD not yet created, cluster unreachable) still fall through to "nothing to clash with".
847
+ if (isRequestTimeoutError(error))
848
+ throw error;
849
+ if (abortSignal?.aborted)
850
+ throw error;
851
+ return;
791
852
  }
792
853
  const verdict = singletonDriftVerdict(expected, resource.spec, live);
793
854
  if (verdict.drift) {
@@ -1113,10 +1174,20 @@ function _createClientProvider(props, phase) {
1113
1174
  /**
1114
1175
  * Create the appropriate deployer based on the deployment strategy
1115
1176
  */
1116
- async function _createDeployer(kc, props) {
1177
+ async function _createDeployer(kc, props, abortSignal) {
1117
1178
  // Use dynamic import to avoid circular dependencies
1118
1179
  const { DirectDeploymentEngine } = await import('../core/deployment/engine.js');
1119
- const engine = new DirectDeploymentEngine(kc);
1180
+ const { DeploymentMode } = await import('../core/references/index.js');
1181
+ // Hand the engine a client that is bounded on EVERY runtime.
1182
+ //
1183
+ // `createBunCompatibleKubernetesObjectApi`'s timeout configuration only takes effect under Bun:
1184
+ // off Bun it returns the stock `KubernetesObjectApi` and DISCARDS the config entirely
1185
+ // (src/core/kubernetes/bun-api-client.ts), so passing `httpTimeouts` alone would leave the
1186
+ // engine's requests unbounded on Node — the same silent hang this handler's own calls had. The
1187
+ // config is still passed so Bun applies it at the socket (which can also cancel the request),
1188
+ // and the deadline wrapper adds the runtime-neutral bound on top. Both use the same per-verb
1189
+ // budgets, so under Bun this changes nothing.
1190
+ const engine = new DirectDeploymentEngine(kc, _boundClusterCalls(createBunCompatibleKubernetesObjectApi(kc, props.options?.httpTimeouts), props, 'deployment-engine', abortSignal), undefined, DeploymentMode.DIRECT, props.options?.httpTimeouts);
1120
1191
  if (props.deploymentStrategy === 'direct') {
1121
1192
  return new DirectTypeKroDeployer(engine);
1122
1193
  }
@@ -1181,6 +1252,9 @@ function inferKroDeletionOptions(props) {
1181
1252
  : props.namespace,
1182
1253
  rgdName: resource.metadata.name,
1183
1254
  timeout: props.options?.timeout ?? DEFAULT_DEPLOYMENT_TIMEOUT,
1255
+ ...(props.options?.httpTimeouts !== undefined && {
1256
+ httpTimeouts: props.options.httpTimeouts,
1257
+ }),
1184
1258
  };
1185
1259
  }
1186
1260
  const rgdName = resource.metadata?.labels?.['typekro.io/rgd'];
@@ -1199,6 +1273,9 @@ function inferKroDeletionOptions(props) {
1199
1273
  : props.namespace,
1200
1274
  rgdName,
1201
1275
  timeout: props.options?.timeout ?? DEFAULT_DEPLOYMENT_TIMEOUT,
1276
+ ...(props.options?.httpTimeouts !== undefined && {
1277
+ httpTimeouts: props.options.httpTimeouts,
1278
+ }),
1202
1279
  };
1203
1280
  }
1204
1281
  function enrichKroDeletionOptions(props, options) {
@@ -1232,12 +1309,12 @@ function enrichKroDeletionOptions(props, options) {
1232
1309
  /** Internal test hook for legacy Alchemy KRO state rehydration. */
1233
1310
  export const inferKroDeletionOptionsForTest = inferKroDeletionOptions;
1234
1311
  export const enrichKroDeletionOptionsForTest = enrichKroDeletionOptions;
1235
- async function _resolveDeployer(props, phase) {
1312
+ async function _resolveDeployer(props, phase, abortSignal) {
1236
1313
  if (props.deployer) {
1237
1314
  return { deployer: props.deployer, dispose: async () => { } };
1238
1315
  }
1239
1316
  const kc = _createClientProvider(props, phase);
1240
- const deployer = await _createDeployer(kc, props);
1317
+ const deployer = await _createDeployer(kc, props, abortSignal);
1241
1318
  return {
1242
1319
  deployer,
1243
1320
  dispose: async () => {
@@ -1292,12 +1369,19 @@ async function deleteKroResource(props, abortSignal) {
1292
1369
  // namespace this composition's RGD created, and gate it to a real 404.
1293
1370
  ...(props.namespaceOwnerRgd !== undefined && { ownedByRgd: props.namespaceOwnerRgd }),
1294
1371
  ...(props.options?.timeout !== undefined && { timeoutMs: props.options.timeout }),
1372
+ // Bound and cancel the teardown's own calls with the caller's configuration: its inventory
1373
+ // fans out across every served API group, including aggregated ones whose backend may be
1374
+ // unreachable, and each of those calls gates a DELETE.
1375
+ ...(props.options?.httpTimeouts !== undefined && {
1376
+ httpTimeouts: props.options.httpTimeouts,
1377
+ }),
1378
+ ...(abortSignal ? { abortSignal } : {}),
1295
1379
  context: { alchemyType: KRO_RESOURCE_TYPE },
1296
1380
  });
1297
1381
  abortSignal?.throwIfAborted();
1298
1382
  return;
1299
1383
  }
1300
- const { deployer, dispose } = await _resolveDeployer(props, 'delete');
1384
+ const { deployer, dispose } = await _resolveDeployer(props, 'delete', abortSignal);
1301
1385
  try {
1302
1386
  await deployer.delete(props.resource, {
1303
1387
  mode: props.deploymentStrategy,