typekro 0.27.1 → 0.28.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.
Files changed (188) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/core/containers/build.d.ts +2 -46
  3. package/dist/core/containers/build.d.ts.map +1 -1
  4. package/dist/core/containers/build.js +219 -134
  5. package/dist/core/containers/build.js.map +1 -1
  6. package/dist/core/containers/errors.d.ts +4 -0
  7. package/dist/core/containers/errors.d.ts.map +1 -1
  8. package/dist/core/containers/errors.js +14 -1
  9. package/dist/core/containers/errors.js.map +1 -1
  10. package/dist/core/containers/exec.d.ts +6 -23
  11. package/dist/core/containers/exec.d.ts.map +1 -1
  12. package/dist/core/containers/exec.js +94 -78
  13. package/dist/core/containers/exec.js.map +1 -1
  14. package/dist/core/containers/image.d.ts +11 -7
  15. package/dist/core/containers/image.d.ts.map +1 -1
  16. package/dist/core/containers/image.js +102 -13
  17. package/dist/core/containers/image.js.map +1 -1
  18. package/dist/core/containers/index.d.ts +5 -1
  19. package/dist/core/containers/index.d.ts.map +1 -1
  20. package/dist/core/containers/index.js +3 -0
  21. package/dist/core/containers/index.js.map +1 -1
  22. package/dist/core/containers/registries/credentials.d.ts +30 -0
  23. package/dist/core/containers/registries/credentials.d.ts.map +1 -0
  24. package/dist/core/containers/registries/credentials.js +87 -0
  25. package/dist/core/containers/registries/credentials.js.map +1 -0
  26. package/dist/core/containers/registries/docker-session.d.ts +14 -0
  27. package/dist/core/containers/registries/docker-session.d.ts.map +1 -0
  28. package/dist/core/containers/registries/docker-session.js +164 -0
  29. package/dist/core/containers/registries/docker-session.js.map +1 -0
  30. package/dist/core/containers/registries/ecr.d.ts +2 -3
  31. package/dist/core/containers/registries/ecr.d.ts.map +1 -1
  32. package/dist/core/containers/registries/ecr.js +13 -22
  33. package/dist/core/containers/registries/ecr.js.map +1 -1
  34. package/dist/core/containers/registries/harbor.d.ts +7 -0
  35. package/dist/core/containers/registries/harbor.d.ts.map +1 -0
  36. package/dist/core/containers/registries/harbor.js +9 -0
  37. package/dist/core/containers/registries/harbor.js.map +1 -0
  38. package/dist/core/containers/registries/index.d.ts.map +1 -1
  39. package/dist/core/containers/registries/index.js +5 -0
  40. package/dist/core/containers/registries/index.js.map +1 -1
  41. package/dist/core/containers/registries/oci.d.ts +13 -0
  42. package/dist/core/containers/registries/oci.d.ts.map +1 -0
  43. package/dist/core/containers/registries/oci.js +68 -0
  44. package/dist/core/containers/registries/oci.js.map +1 -0
  45. package/dist/core/containers/registries/orbstack.d.ts +2 -3
  46. package/dist/core/containers/registries/orbstack.d.ts.map +1 -1
  47. package/dist/core/containers/registries/orbstack.js +8 -8
  48. package/dist/core/containers/registries/orbstack.js.map +1 -1
  49. package/dist/core/containers/registries/types.d.ts +75 -49
  50. package/dist/core/containers/registries/types.d.ts.map +1 -1
  51. package/dist/core/containers/registries/types.js +1 -9
  52. package/dist/core/containers/registries/types.js.map +1 -1
  53. package/dist/core/deployment/direct-factory.d.ts.map +1 -1
  54. package/dist/core/deployment/direct-factory.js +15 -8
  55. package/dist/core/deployment/direct-factory.js.map +1 -1
  56. package/dist/core/deployment/engine.d.ts.map +1 -1
  57. package/dist/core/deployment/engine.js +46 -5
  58. package/dist/core/deployment/engine.js.map +1 -1
  59. package/dist/core/deployment/kro-factory.d.ts +7 -7
  60. package/dist/core/deployment/kro-factory.d.ts.map +1 -1
  61. package/dist/core/deployment/kro-factory.js +148 -60
  62. package/dist/core/deployment/kro-factory.js.map +1 -1
  63. package/dist/core/deployment/kro-instance-safety.d.ts +7 -0
  64. package/dist/core/deployment/kro-instance-safety.d.ts.map +1 -1
  65. package/dist/core/deployment/kro-instance-safety.js +15 -0
  66. package/dist/core/deployment/kro-instance-safety.js.map +1 -1
  67. package/dist/core/deployment/kro-namespace-teardown.d.ts +7 -5
  68. package/dist/core/deployment/kro-namespace-teardown.d.ts.map +1 -1
  69. package/dist/core/deployment/kro-namespace-teardown.js +29 -10
  70. package/dist/core/deployment/kro-namespace-teardown.js.map +1 -1
  71. package/dist/core/deployment/kro-readiness.d.ts +1 -0
  72. package/dist/core/deployment/kro-readiness.d.ts.map +1 -1
  73. package/dist/core/deployment/kro-readiness.js +52 -6
  74. package/dist/core/deployment/kro-readiness.js.map +1 -1
  75. package/dist/core/deployment/poll-timeout.d.ts +45 -0
  76. package/dist/core/deployment/poll-timeout.d.ts.map +1 -0
  77. package/dist/core/deployment/poll-timeout.js +67 -0
  78. package/dist/core/deployment/poll-timeout.js.map +1 -0
  79. package/dist/core/deployment/readiness.d.ts.map +1 -1
  80. package/dist/core/deployment/readiness.js +30 -21
  81. package/dist/core/deployment/readiness.js.map +1 -1
  82. package/dist/core/deployment/rollback-manager.d.ts +13 -0
  83. package/dist/core/deployment/rollback-manager.d.ts.map +1 -1
  84. package/dist/core/deployment/rollback-manager.js +8 -0
  85. package/dist/core/deployment/rollback-manager.js.map +1 -1
  86. package/dist/core/serialization/core.js +3 -1
  87. package/dist/core/serialization/core.js.map +1 -1
  88. package/dist/core/serialization/schema.d.ts +2 -2
  89. package/dist/core/serialization/schema.d.ts.map +1 -1
  90. package/dist/core/serialization/schema.js +57 -4
  91. package/dist/core/serialization/schema.js.map +1 -1
  92. package/dist/core/types/serialization.d.ts +9 -0
  93. package/dist/core/types/serialization.d.ts.map +1 -1
  94. package/dist/factories/harbor/compositions/harbor-installation.d.ts +610 -0
  95. package/dist/factories/harbor/compositions/harbor-installation.d.ts.map +1 -0
  96. package/dist/factories/harbor/compositions/harbor-installation.js +348 -0
  97. package/dist/factories/harbor/compositions/harbor-installation.js.map +1 -0
  98. package/dist/factories/harbor/compositions/index.d.ts +2 -0
  99. package/dist/factories/harbor/compositions/index.d.ts.map +1 -0
  100. package/dist/factories/harbor/compositions/index.js +2 -0
  101. package/dist/factories/harbor/compositions/index.js.map +1 -0
  102. package/dist/factories/harbor/index.d.ts +7 -0
  103. package/dist/factories/harbor/index.d.ts.map +1 -0
  104. package/dist/factories/harbor/index.js +7 -0
  105. package/dist/factories/harbor/index.js.map +1 -0
  106. package/dist/factories/harbor/provider/harbor-api.d.ts +123 -0
  107. package/dist/factories/harbor/provider/harbor-api.d.ts.map +1 -0
  108. package/dist/factories/harbor/provider/harbor-api.js +595 -0
  109. package/dist/factories/harbor/provider/harbor-api.js.map +1 -0
  110. package/dist/factories/harbor/provider/index.d.ts +4 -0
  111. package/dist/factories/harbor/provider/index.d.ts.map +1 -0
  112. package/dist/factories/harbor/provider/index.js +4 -0
  113. package/dist/factories/harbor/provider/index.js.map +1 -0
  114. package/dist/factories/harbor/provider/kubernetes-secret-store.d.ts +12 -0
  115. package/dist/factories/harbor/provider/kubernetes-secret-store.d.ts.map +1 -0
  116. package/dist/factories/harbor/provider/kubernetes-secret-store.js +81 -0
  117. package/dist/factories/harbor/provider/kubernetes-secret-store.js.map +1 -0
  118. package/dist/factories/harbor/provider/rook-s3-binding.d.ts +30 -0
  119. package/dist/factories/harbor/provider/rook-s3-binding.d.ts.map +1 -0
  120. package/dist/factories/harbor/provider/rook-s3-binding.js +74 -0
  121. package/dist/factories/harbor/provider/rook-s3-binding.js.map +1 -0
  122. package/dist/factories/harbor/resources/helm.d.ts +12 -0
  123. package/dist/factories/harbor/resources/helm.d.ts.map +1 -0
  124. package/dist/factories/harbor/resources/helm.js +46 -0
  125. package/dist/factories/harbor/resources/helm.js.map +1 -0
  126. package/dist/factories/harbor/resources/index.d.ts +2 -0
  127. package/dist/factories/harbor/resources/index.d.ts.map +1 -0
  128. package/dist/factories/harbor/resources/index.js +2 -0
  129. package/dist/factories/harbor/resources/index.js.map +1 -0
  130. package/dist/factories/harbor/types.d.ts +319 -0
  131. package/dist/factories/harbor/types.d.ts.map +1 -0
  132. package/dist/factories/harbor/types.js +252 -0
  133. package/dist/factories/harbor/types.js.map +1 -0
  134. package/dist/factories/harbor/utils/helm-values-mapper.d.ts +8 -0
  135. package/dist/factories/harbor/utils/helm-values-mapper.d.ts.map +1 -0
  136. package/dist/factories/harbor/utils/helm-values-mapper.js +322 -0
  137. package/dist/factories/harbor/utils/helm-values-mapper.js.map +1 -0
  138. package/dist/factories/harbor/utils/index.d.ts +2 -0
  139. package/dist/factories/harbor/utils/index.d.ts.map +1 -0
  140. package/dist/factories/harbor/utils/index.js +2 -0
  141. package/dist/factories/harbor/utils/index.js.map +1 -0
  142. package/dist/factories/helm/helm-release.d.ts +10 -0
  143. package/dist/factories/helm/helm-release.d.ts.map +1 -1
  144. package/dist/factories/helm/helm-release.js +30 -2
  145. package/dist/factories/helm/helm-release.js.map +1 -1
  146. package/dist/factories/helm/readiness-evaluators.d.ts.map +1 -1
  147. package/dist/factories/helm/readiness-evaluators.js +26 -1
  148. package/dist/factories/helm/readiness-evaluators.js.map +1 -1
  149. package/dist/factories/helm/types.d.ts +5 -0
  150. package/dist/factories/helm/types.d.ts.map +1 -1
  151. package/dist/factories/index.d.ts +1 -0
  152. package/dist/factories/index.d.ts.map +1 -1
  153. package/dist/factories/index.js +4 -0
  154. package/dist/factories/index.js.map +1 -1
  155. package/dist/factories/kubernetes/networking/network-policy.d.ts.map +1 -1
  156. package/dist/factories/kubernetes/networking/network-policy.js +34 -1
  157. package/dist/factories/kubernetes/networking/network-policy.js.map +1 -1
  158. package/dist/factories/rook/compositions/index.d.ts +1 -0
  159. package/dist/factories/rook/compositions/index.d.ts.map +1 -1
  160. package/dist/factories/rook/compositions/index.js +1 -0
  161. package/dist/factories/rook/compositions/index.js.map +1 -1
  162. package/dist/factories/rook/compositions/rook-ceph-operator-installation.d.ts +2 -0
  163. package/dist/factories/rook/compositions/rook-ceph-operator-installation.d.ts.map +1 -1
  164. package/dist/factories/rook/compositions/rook-ceph-operator-installation.js +17 -0
  165. package/dist/factories/rook/compositions/rook-ceph-operator-installation.js.map +1 -1
  166. package/dist/factories/rook/compositions/rook-ceph-platform.d.ts +181 -0
  167. package/dist/factories/rook/compositions/rook-ceph-platform.d.ts.map +1 -0
  168. package/dist/factories/rook/compositions/rook-ceph-platform.js +388 -0
  169. package/dist/factories/rook/compositions/rook-ceph-platform.js.map +1 -0
  170. package/dist/factories/rook/resources/bucket-storage-class.d.ts.map +1 -1
  171. package/dist/factories/rook/resources/bucket-storage-class.js +4 -1
  172. package/dist/factories/rook/resources/bucket-storage-class.js.map +1 -1
  173. package/dist/factories/rook/resources/ceph-object-store.d.ts.map +1 -1
  174. package/dist/factories/rook/resources/ceph-object-store.js +2 -0
  175. package/dist/factories/rook/resources/ceph-object-store.js.map +1 -1
  176. package/dist/factories/rook/resources/helm.d.ts +4 -0
  177. package/dist/factories/rook/resources/helm.d.ts.map +1 -1
  178. package/dist/factories/rook/resources/helm.js +22 -0
  179. package/dist/factories/rook/resources/helm.js.map +1 -1
  180. package/dist/factories/rook/types.d.ts +180 -1
  181. package/dist/factories/rook/types.d.ts.map +1 -1
  182. package/dist/factories/rook/types.js +93 -2
  183. package/dist/factories/rook/types.js.map +1 -1
  184. package/dist/factories/rook/utils/helm-values-mapper.d.ts +34 -1
  185. package/dist/factories/rook/utils/helm-values-mapper.d.ts.map +1 -1
  186. package/dist/factories/rook/utils/helm-values-mapper.js +207 -0
  187. package/dist/factories/rook/utils/helm-values-mapper.js.map +1 -1
  188. package/package.json +6 -1
@@ -58,6 +58,24 @@ export function readHoistedNamespacesRecord(value) {
58
58
  }
59
59
  return { status: 'present', names: parsed };
60
60
  }
61
+ /**
62
+ * Read a Kubernetes list continuation token from either representation used by
63
+ * `@kubernetes/client-node`:
64
+ *
65
+ * - `_continue` is the generated JavaScript model property in current clients.
66
+ * - `continue` is the Kubernetes wire field and is also what simple test doubles
67
+ * and older unmodelled response paths commonly expose.
68
+ *
69
+ * Treating only the wire spelling as authoritative silently truncates a real
70
+ * client-node list at its first page.
71
+ */
72
+ function listContinuationToken(metadata) {
73
+ if (typeof metadata !== 'object' || metadata === null)
74
+ return undefined;
75
+ const listMetadata = metadata;
76
+ const token = listMetadata._continue ?? listMetadata.continue;
77
+ return typeof token === 'string' && token.length > 0 ? token : undefined;
78
+ }
61
79
  /**
62
80
  * List the NAMES of every Namespace carrying {@link NAMESPACE_OWNER_ANNOTATION} == `rgdName`
63
81
  * — the DURABLE, cluster-side record of every workload Namespace typekro created for this RGD.
@@ -96,8 +114,7 @@ export async function listNamespacesOwnedByRgd(kubeConfig, rgdName, options = {}
96
114
  owned.push(name);
97
115
  }
98
116
  }
99
- const next = result.metadata?.continue;
100
- continueToken = typeof next === 'string' && next.length > 0 ? next : undefined;
117
+ continueToken = listContinuationToken(result.metadata);
101
118
  } while (continueToken);
102
119
  return owned;
103
120
  }
@@ -203,9 +220,10 @@ export async function classifyNamespaceEmptiness(inventory, namespace, logger =
203
220
  * imperative `deleteInstance` path and the Alchemy teardown handler.
204
221
  *
205
222
  * ORDER: this runs AFTER the instance CR is gone (KRO has graph-deleted every child)
206
- * but BEFORE the RGD/CRD teardown — the current teardown order is CR → namespace →
207
- * RGD → CRD (the generated CRD is torn down LAST). Deleting the namespace while the
208
- * RGD + CRD are still HEALTHY/Active is deliberate: the namespace controller confirms
223
+ * but BEFORE the RGD teardown — the current teardown order is CR → namespace → RGD,
224
+ * with the generated CRD retained Active for reuse or explicit administrative GC.
225
+ * Deleting the namespace while the RGD + CRD are still HEALTHY/Active is deliberate:
226
+ * the namespace controller confirms
209
227
  * emptiness instantly and can never terminate against a *Terminating* CRD (upstream
210
228
  * kro #1171). Never scans-and-deletes arbitrary namespaces: the caller passes exactly
211
229
  * the namespace THIS instance declared/hoisted.
@@ -219,8 +237,9 @@ export async function classifyNamespaceEmptiness(inventory, namespace, logger =
219
237
  * GATED (not best-effort): a pre-delete 404 is benign (already gone), but the delete
220
238
  * itself polls to a real 404 and THROWS {@link DeploymentTimeoutError} on timeout — a
221
239
  * stuck namespace finalizer surfaces as an error, never a silently-abandoned
222
- * Terminating namespace. (The generated-CRD delete, a LATER step in `deleteInstance`,
223
- * is the only best-effort deletion see {@link KroResourceFactoryImpl.deleteInstance}.)
240
+ * Terminating namespace. The generated CRD is not automatically deleted; initiating
241
+ * a best-effort CRD deletion can leave it Terminating and block a later deployment of
242
+ * the same RGD/kind.
224
243
  */
225
244
  export async function deleteNamespaceIfEmpty(kubeConfig, namespace, options = {}) {
226
245
  const logger = options.logger ?? getComponentLogger('kro-namespace-teardown');
@@ -433,7 +452,8 @@ export function createClusterNamespaceInventory(kubeConfig) {
433
452
  async listObjectNames(type, namespace) {
434
453
  // FOLLOW the continuation token so an occupant beyond the first page is never
435
454
  // hidden by a silent cap (finding #5b). `list` returns the body directly in
436
- // @kubernetes/client-node 1.x; `metadata.continue` drives the next page.
455
+ // @kubernetes/client-node 1.x models the wire field `metadata.continue`
456
+ // as `metadata._continue`; listContinuationToken accepts both forms.
437
457
  const names = [];
438
458
  let continueToken;
439
459
  do {
@@ -449,8 +469,7 @@ export function createClusterNamespaceInventory(kubeConfig) {
449
469
  if (typeof item.metadata?.name === 'string')
450
470
  names.push(item.metadata.name);
451
471
  }
452
- const next = result.metadata?.continue;
453
- continueToken = typeof next === 'string' && next.length > 0 ? next : undefined;
472
+ continueToken = listContinuationToken(result.metadata);
454
473
  } while (continueToken);
455
474
  return names;
456
475
  },
@@ -1 +1 @@
1
- {"version":3,"file":"kro-namespace-teardown.js","sourceRoot":"","sources":["../../../src/core/deployment/kro-namespace-teardown.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kro-namespace-teardown.js","sourceRoot":"","sources":["../../../src/core/deployment/kro-namespace-teardown.ts"],"names":[],"mappings":"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"}
@@ -45,6 +45,7 @@ export interface KroReadinessOptions {
45
45
  * Readiness is determined when:
46
46
  * 1. `state === 'ACTIVE'`
47
47
  * 2. Either `InstanceSynced` (v0.3.x) or `Ready` (v0.8.x) condition is `True`
48
+ * and has observed the current instance generation when KRO reports generations
48
49
  * 3. Either custom status fields are populated OR the RGD declares no status schema
49
50
  *
50
51
  * @throws {CRDInstanceError} if the instance enters a FAILED or ERROR state
@@ -1 +1 @@
1
- {"version":3,"file":"kro-readiness.d.ts","sourceRoot":"","sources":["../../../src/core/deployment/kro-readiness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,KAAK,GAAG,MAAM,yBAAyB,CAAC;AAMpD,kDAAkD;AAClD,MAAM,WAAW,mBAAmB;IAClC,6CAA6C;IAC7C,YAAY,EAAE,MAAM,CAAC;IAErB,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAC;IAEhB,uEAAuE;IACvE,MAAM,EAAE,GAAG,CAAC,mBAAmB,CAAC;IAEhC,+DAA+D;IAC/D,gBAAgB,EAAE,GAAG,CAAC,gBAAgB,CAAC;IAEvC,yDAAyD;IACzD,SAAS,EAAE,MAAM,CAAC;IAElB,yEAAyE;IACzE,UAAU,EAAE,MAAM,CAAC;IAEnB,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,+DAA+D;IAC/D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgMzF"}
1
+ {"version":3,"file":"kro-readiness.d.ts","sourceRoot":"","sources":["../../../src/core/deployment/kro-readiness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,KAAK,GAAG,MAAM,yBAAyB,CAAC;AAWpD,kDAAkD;AAClD,MAAM,WAAW,mBAAmB;IAClC,6CAA6C;IAC7C,YAAY,EAAE,MAAM,CAAC;IAErB,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAC;IAEhB,uEAAuE;IACvE,MAAM,EAAE,GAAG,CAAC,mBAAmB,CAAC;IAEhC,+DAA+D;IAC/D,gBAAgB,EAAE,GAAG,CAAC,gBAAgB,CAAC;IAEvC,yDAAyD;IACzD,SAAS,EAAE,MAAM,CAAC;IAElB,yEAAyE;IACzE,UAAU,EAAE,MAAM,CAAC;IAEnB,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,+DAA+D;IAC/D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwPzF"}
@@ -9,15 +9,17 @@
9
9
  * - Kro conditions (InstanceSynced for v0.3.x, Ready for v0.8.x)
10
10
  * - Custom status fields populated from the RGD status schema
11
11
  */
12
- import { DEFAULT_FAST_POLL_INTERVAL, DEFAULT_POLL_INTERVAL } from '../config/defaults.js';
12
+ import { DEFAULT_FAST_POLL_INTERVAL, DEFAULT_HTTP_READ_TIMEOUT, DEFAULT_POLL_INTERVAL, } from '../config/defaults.js';
13
13
  import { CRDInstanceError, DeploymentTimeoutError, ensureError } from '../errors.js';
14
14
  import { getComponentLogger } from '../logging/index.js';
15
+ import { callWithTimeout, perCallTimeout, PollTimeoutError } from './poll-timeout.js';
15
16
  /**
16
17
  * Wait for a Kro custom resource instance to become ready.
17
18
  *
18
19
  * Readiness is determined when:
19
20
  * 1. `state === 'ACTIVE'`
20
21
  * 2. Either `InstanceSynced` (v0.3.x) or `Ready` (v0.8.x) condition is `True`
22
+ * and has observed the current instance generation when KRO reports generations
21
23
  * 3. Either custom status fields are populated OR the RGD declares no status schema
22
24
  *
23
25
  * @throws {CRDInstanceError} if the instance enters a FAILED or ERROR state
@@ -30,14 +32,20 @@ export async function waitForKroInstanceReady(options) {
30
32
  const startTime = Date.now();
31
33
  while (Date.now() - startTime < timeout) {
32
34
  try {
33
- const response = await k8sApi.read({
35
+ // Bound the read so a wedged/expired kubeconfig exec credential rejects (and is re-thrown below)
36
+ // instead of hanging the poll forever — see poll-timeout.ts. A ≤0 budget means the deadline is
37
+ // spent: break to the overall DeploymentTimeoutError below (NOT a per-call PollTimeoutError).
38
+ const readTimeout = perCallTimeout(timeout - (Date.now() - startTime), DEFAULT_HTTP_READ_TIMEOUT);
39
+ if (readTimeout <= 0)
40
+ break;
41
+ const response = await callWithTimeout(() => k8sApi.read({
34
42
  apiVersion,
35
43
  kind,
36
44
  metadata: {
37
45
  name: instanceName,
38
46
  namespace,
39
47
  },
40
- });
48
+ }), readTimeout, `read ${kind}/${instanceName}`);
41
49
  // In the new API, methods return objects directly (no .body wrapper)
42
50
  const instance = response;
43
51
  // Kro-specific readiness logic
@@ -52,22 +60,32 @@ export async function waitForKroInstanceReady(options) {
52
60
  // Support both Kro v0.3.x (InstanceSynced) and v0.8.x (Ready) conditions
53
61
  const syncedCondition = conditions.find((c) => c.type === 'InstanceSynced');
54
62
  const readyCondition = conditions.find((c) => c.type === 'Ready');
63
+ const generation = instance.metadata?.generation;
64
+ const conditionIsCurrent = (condition) => condition?.status === 'True' &&
65
+ (generation === undefined ||
66
+ condition.observedGeneration === undefined ||
67
+ condition.observedGeneration >= generation);
55
68
  // Check if status has fields beyond the basic Kro fields (conditions, state)
56
69
  const statusKeys = Object.keys(status);
57
70
  const basicKroFields = ['conditions', 'state'];
58
71
  const hasCustomStatusFields = statusKeys.some((key) => !basicKroFields.includes(key));
59
72
  const isActive = state === 'ACTIVE';
60
- const isSynced = syncedCondition?.status === 'True' || readyCondition?.status === 'True';
73
+ const isSynced = conditionIsCurrent(syncedCondition) || conditionIsCurrent(readyCondition);
61
74
  // Check what status fields are expected by looking at the ResourceGraphDefinition
62
75
  let expectedCustomStatusFields = false;
63
76
  let expectedStatusKeys = [];
64
77
  try {
65
- const rgdResponse = await customObjectsApi.getClusterCustomObject({
78
+ const rgdReadTimeout = perCallTimeout(timeout - (Date.now() - startTime), DEFAULT_HTTP_READ_TIMEOUT);
79
+ // Deadline spent mid-iteration: break to the overall DeploymentTimeoutError rather than starting
80
+ // a doomed read (which would surface a misleading per-call PollTimeoutError).
81
+ if (rgdReadTimeout <= 0)
82
+ break;
83
+ const rgdResponse = await callWithTimeout(() => customObjectsApi.getClusterCustomObject({
66
84
  group: 'kro.run',
67
85
  version: 'v1alpha1',
68
86
  plural: 'resourcegraphdefinitions',
69
87
  name: rgdName,
70
- });
88
+ }), rgdReadTimeout, `read ResourceGraphDefinition/${rgdName}`);
71
89
  const rgd = rgdResponse;
72
90
  const rgdStatusSchema = rgd.spec?.schema?.status ?? {};
73
91
  expectedStatusKeys = Object.keys(rgdStatusSchema).filter((key) => !basicKroFields.includes(key));
@@ -79,6 +97,13 @@ export async function waitForKroInstanceReady(options) {
79
97
  });
80
98
  }
81
99
  catch (error) {
100
+ // A per-call TIMEOUT (wedged/expired credential) is NOT a fetchable-RGD failure — do not fall
101
+ // through to the permissive path, which would let an ACTIVE/synced instance be declared ready
102
+ // WITHOUT validating expected status fields (and after the deadline). Surface it so the outer
103
+ // catch re-throws it (fail fast).
104
+ if (error instanceof PollTimeoutError) {
105
+ throw error;
106
+ }
82
107
  readinessLogger.warn('Could not fetch ResourceGraphDefinition for status schema check', {
83
108
  rgdName,
84
109
  error: ensureError(error).message,
@@ -95,6 +120,9 @@ export async function waitForKroInstanceReady(options) {
95
120
  expectedCustomStatusFields,
96
121
  expectedStatusKeys,
97
122
  statusKeys,
123
+ generation,
124
+ syncedObservedGeneration: syncedCondition?.observedGeneration,
125
+ readyObservedGeneration: readyCondition?.observedGeneration,
98
126
  });
99
127
  // Resource is ready only after KRO reports the current instance as synced.
100
128
  // A user-defined `status.ready === true` can be stale across updates, so it
@@ -103,11 +131,27 @@ export async function waitForKroInstanceReady(options) {
103
131
  const hasReadyField = typeof statusReadyField === 'boolean';
104
132
  const hasExpectedCustomStatus = expectedStatusKeys.length === 0 ||
105
133
  expectedStatusKeys.every((key) => Object.hasOwn(status, key));
134
+ // `observedGeneration` is the conventional contract for a projected
135
+ // status snapshot. KRO can mark its owner condition current one reconcile
136
+ // before all custom status expressions have been copied. When a graph
137
+ // deliberately exposes this field, require it to catch up as well so
138
+ // deploy() cannot return a mixed-generation status object.
139
+ const projectedObservedGeneration = status.observedGeneration;
140
+ const projectedStatusIsCurrent = projectedObservedGeneration === undefined ||
141
+ generation === undefined ||
142
+ projectedObservedGeneration >= generation;
106
143
  const isReady = isActive &&
107
144
  isSynced &&
108
145
  hasExpectedCustomStatus &&
146
+ projectedStatusIsCurrent &&
109
147
  (!hasReadyField || statusReadyField === true);
110
148
  if (isReady) {
149
+ // Re-check the deadline: an API call earlier in THIS iteration may have consumed the remaining
150
+ // budget (e.g. a slow/bounded read), so an "isReady" reached past the deadline must still time
151
+ // out rather than silently succeed late.
152
+ if (Date.now() - startTime >= timeout) {
153
+ break;
154
+ }
111
155
  readinessLogger.info('Kro instance is ready', {
112
156
  instanceName,
113
157
  hasCustomStatusFields,
@@ -128,6 +172,8 @@ export async function waitForKroInstanceReady(options) {
128
172
  isSynced,
129
173
  hasCustomStatusFields,
130
174
  expectedStatusKeys,
175
+ projectedObservedGeneration,
176
+ projectedStatusIsCurrent,
131
177
  });
132
178
  }
133
179
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"kro-readiness.js","sourceRoot":"","sources":["../../../src/core/deployment/kro-readiness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kro-readiness.js","sourceRoot":"","sources":["../../../src/core/deployment/kro-readiness.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Per-call timeout for readiness-poll Kubernetes API requests.
3
+ *
4
+ * Readiness polls loop as `while (Date.now() - startTime < timeout) { await k8sApi.read(...) }`. The
5
+ * deadline is only re-checked between iterations, so it relies on each `await` eventually settling. When
6
+ * the kubeconfig's exec credential WEDGES — e.g. `aws eks get-token` hangs, or the AWS/SSO session
7
+ * expired mid-deploy so the auth plugin never returns — the awaited request never resolves OR rejects,
8
+ * the loop never re-evaluates its deadline, and the whole deploy hangs SILENTLY (observed multi-hour).
9
+ *
10
+ * Bounding each call converts that wedge into a rejection, so the poll's existing error handling runs and
11
+ * the configured `timeout` is honored: a failed/expired credential is not a transient "not ready yet" —
12
+ * it counts against the deadline (or fails fast) instead of hanging forever.
13
+ *
14
+ * SCOPE / LIMITATION: this bounds the caller's `await` (so the poll and the deploy terminate). It does
15
+ * NOT cancel the in-flight request or kill a wedged exec-auth subprocess: `@kubernetes/client-node`'s
16
+ * `KubernetesObjectApi.read` does not thread an `AbortSignal` to its fetch, and its `ExecAuth` spawns the
17
+ * credential process (`child_process.spawn`) with no cancellation hook. A wedged subprocess can therefore
18
+ * keep the Node process alive until it exits or the process is terminated. The durable cure for the
19
+ * exec-auth failure mode is to avoid per-request exec auth during polling (e.g. a pre-minted bearer token
20
+ * in the kubeconfig), so no credential subprocess is spawned in the first place.
21
+ */
22
+ /** Thrown when a readiness-poll API call exceeds its per-call budget (distinguishable so callers can fail fast vs. retry). */
23
+ export declare class PollTimeoutError extends Error {
24
+ readonly timeoutMs: number;
25
+ constructor(label: string, timeoutMs: number);
26
+ }
27
+ /**
28
+ * Run `op`, rejecting with {@link PollTimeoutError} if it hasn't settled within `timeoutMs`.
29
+ *
30
+ * PRECONDITION: `timeoutMs` must be positive — callers pass a per-call budget derived from the poll's
31
+ * REMAINING deadline (see {@link perCallTimeout}) and must handle an exhausted (≤0) budget themselves by
32
+ * exiting their loop and throwing their own overall-timeout error. A `PollTimeoutError` therefore always
33
+ * means "an operation that actually started did not return in time" (a wedged call), never "the overall
34
+ * poll deadline had already elapsed" — the two are distinct and must not be conflated.
35
+ */
36
+ export declare function callWithTimeout<T>(op: () => Promise<T>, timeoutMs: number, label: string): Promise<T>;
37
+ /**
38
+ * The per-call budget: the configured cap (HTTP read timeout), capped STRICTLY by the poll's remaining
39
+ * deadline so one call can never overshoot the overall `timeout`. Returns ≤ 0 when the deadline is
40
+ * already spent; callers MUST treat a ≤0 budget as "deadline reached" — exit the poll loop and throw the
41
+ * poll's own overall-timeout error — rather than starting a (doomed) call. Never hand a ≤0 value to
42
+ * {@link callWithTimeout}.
43
+ */
44
+ export declare function perCallTimeout(remainingMs: number, capMs: number): number;
45
+ //# sourceMappingURL=poll-timeout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poll-timeout.d.ts","sourceRoot":"","sources":["../../../src/core/deployment/poll-timeout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,8HAA8H;AAC9H,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBACf,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAS7C;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAY3G;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEzE"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Per-call timeout for readiness-poll Kubernetes API requests.
3
+ *
4
+ * Readiness polls loop as `while (Date.now() - startTime < timeout) { await k8sApi.read(...) }`. The
5
+ * deadline is only re-checked between iterations, so it relies on each `await` eventually settling. When
6
+ * the kubeconfig's exec credential WEDGES — e.g. `aws eks get-token` hangs, or the AWS/SSO session
7
+ * expired mid-deploy so the auth plugin never returns — the awaited request never resolves OR rejects,
8
+ * the loop never re-evaluates its deadline, and the whole deploy hangs SILENTLY (observed multi-hour).
9
+ *
10
+ * Bounding each call converts that wedge into a rejection, so the poll's existing error handling runs and
11
+ * the configured `timeout` is honored: a failed/expired credential is not a transient "not ready yet" —
12
+ * it counts against the deadline (or fails fast) instead of hanging forever.
13
+ *
14
+ * SCOPE / LIMITATION: this bounds the caller's `await` (so the poll and the deploy terminate). It does
15
+ * NOT cancel the in-flight request or kill a wedged exec-auth subprocess: `@kubernetes/client-node`'s
16
+ * `KubernetesObjectApi.read` does not thread an `AbortSignal` to its fetch, and its `ExecAuth` spawns the
17
+ * credential process (`child_process.spawn`) with no cancellation hook. A wedged subprocess can therefore
18
+ * keep the Node process alive until it exits or the process is terminated. The durable cure for the
19
+ * exec-auth failure mode is to avoid per-request exec auth during polling (e.g. a pre-minted bearer token
20
+ * in the kubeconfig), so no credential subprocess is spawned in the first place.
21
+ */
22
+ /** Thrown when a readiness-poll API call exceeds its per-call budget (distinguishable so callers can fail fast vs. retry). */
23
+ export class PollTimeoutError extends Error {
24
+ timeoutMs;
25
+ constructor(label, timeoutMs) {
26
+ super(`${label} exceeded its ${timeoutMs}ms request timeout — the Kubernetes API call did not return. ` +
27
+ `The usual cause is a wedged or expired kubeconfig exec credential (e.g. an AWS SSO/EKS token ` +
28
+ `that expired mid-deploy). Re-run with fresh credentials.`);
29
+ this.name = 'PollTimeoutError';
30
+ this.timeoutMs = timeoutMs;
31
+ }
32
+ }
33
+ /**
34
+ * Run `op`, rejecting with {@link PollTimeoutError} if it hasn't settled within `timeoutMs`.
35
+ *
36
+ * PRECONDITION: `timeoutMs` must be positive — callers pass a per-call budget derived from the poll's
37
+ * REMAINING deadline (see {@link perCallTimeout}) and must handle an exhausted (≤0) budget themselves by
38
+ * exiting their loop and throwing their own overall-timeout error. A `PollTimeoutError` therefore always
39
+ * means "an operation that actually started did not return in time" (a wedged call), never "the overall
40
+ * poll deadline had already elapsed" — the two are distinct and must not be conflated.
41
+ */
42
+ export async function callWithTimeout(op, timeoutMs, label) {
43
+ let timer;
44
+ try {
45
+ return await Promise.race([
46
+ op(),
47
+ new Promise((_, reject) => {
48
+ timer = setTimeout(() => reject(new PollTimeoutError(label, timeoutMs)), timeoutMs);
49
+ }),
50
+ ]);
51
+ }
52
+ finally {
53
+ if (timer)
54
+ clearTimeout(timer);
55
+ }
56
+ }
57
+ /**
58
+ * The per-call budget: the configured cap (HTTP read timeout), capped STRICTLY by the poll's remaining
59
+ * deadline so one call can never overshoot the overall `timeout`. Returns ≤ 0 when the deadline is
60
+ * already spent; callers MUST treat a ≤0 budget as "deadline reached" — exit the poll loop and throw the
61
+ * poll's own overall-timeout error — rather than starting a (doomed) call. Never hand a ≤0 value to
62
+ * {@link callWithTimeout}.
63
+ */
64
+ export function perCallTimeout(remainingMs, capMs) {
65
+ return Math.min(capMs, remainingMs);
66
+ }
67
+ //# sourceMappingURL=poll-timeout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poll-timeout.js","sourceRoot":"","sources":["../../../src/core/deployment/poll-timeout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,8HAA8H;AAC9H,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAChC,SAAS,CAAS;IAC3B,YAAY,KAAa,EAAE,SAAiB;QAC1C,KAAK,CACH,GAAG,KAAK,iBAAiB,SAAS,+DAA+D;YAC/F,+FAA+F;YAC/F,0DAA0D,CAC7D,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAI,EAAoB,EAAE,SAAiB,EAAE,KAAa;IAC7F,IAAI,KAAgD,CAAC;IACrD,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC;YACxB,EAAE,EAAE;YACJ,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;gBAC/B,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;YACtF,CAAC,CAAC;SACH,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,IAAI,KAAK;YAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,WAAmB,EAAE,KAAa;IAC/D,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;AACtC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"readiness.d.ts","sourceRoot":"","sources":["../../../src/core/deployment/readiness.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,KAAK,GAAG,MAAM,yBAAyB,CAAC;AAQpD,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAmB,MAAM,wBAAwB,CAAC;AAClG,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EAEnB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,qBAAa,wBAAwB;IAIvB,OAAO,CAAC,MAAM;IAH1B,OAAO,CAAC,eAAe,CAAC,CAAuC;IAC/D,OAAO,CAAC,WAAW,CAAC,CAAc;gBAEd,MAAM,EAAE,GAAG,CAAC,mBAAmB;IAEnD;;OAEG;IACH,kBAAkB,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,GAAG,IAAI;IAIxE;;OAEG;IACH,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAI9C;;OAEG;IACG,oBAAoB,CACxB,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,EAAE,iBAAiB,EAC1B,SAAS,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,GAC1C,OAAO,CAAC,IAAI,CAAC;IAUhB;;OAEG;YACW,+BAA+B;IA4I7C;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAW1B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAIjC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAWzB;;;;OAIG;IACH,eAAe,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO;IAYtD;;OAEG;IACH,OAAO,CAAC,sBAAsB;CAoB/B"}
1
+ {"version":3,"file":"readiness.d.ts","sourceRoot":"","sources":["../../../src/core/deployment/readiness.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,KAAK,GAAG,MAAM,yBAAyB,CAAC;AAUpD,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAmB,MAAM,wBAAwB,CAAC;AAClG,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EAEnB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,qBAAa,wBAAwB;IAIvB,OAAO,CAAC,MAAM;IAH1B,OAAO,CAAC,eAAe,CAAC,CAAuC;IAC/D,OAAO,CAAC,WAAW,CAAC,CAAc;gBAEd,MAAM,EAAE,GAAG,CAAC,mBAAmB;IAEnD;;OAEG;IACH,kBAAkB,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,GAAG,IAAI;IAIxE;;OAEG;IACH,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAI9C;;OAEG;IACG,oBAAoB,CACxB,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,EAAE,iBAAiB,EAC1B,SAAS,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,GAC1C,OAAO,CAAC,IAAI,CAAC;IAUhB;;OAEG;YACW,+BAA+B;IA6J7C;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAW1B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAIjC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAWzB;;;;OAIG;IACH,eAAe,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO;IAYtD;;OAEG;IACH,OAAO,CAAC,sBAAsB;CAoB/B"}
@@ -3,8 +3,9 @@
3
3
  *
4
4
  * Handles checking if Kubernetes resources are ready after deployment
5
5
  */
6
- import { DEFAULT_DEPLOYMENT_TIMEOUT, DEFAULT_FAST_POLL_INTERVAL, DEFAULT_POLL_INTERVAL, DEFAULT_READINESS_MAX_BACKOFF, } from '../config/defaults.js';
6
+ import { DEFAULT_DEPLOYMENT_TIMEOUT, DEFAULT_FAST_POLL_INTERVAL, DEFAULT_HTTP_READ_TIMEOUT, DEFAULT_POLL_INTERVAL, DEFAULT_READINESS_MAX_BACKOFF, } from '../config/defaults.js';
7
7
  import { ensureError } from '../errors.js';
8
+ import { callWithTimeout, perCallTimeout } from './poll-timeout.js';
8
9
  import { ResourceReadinessTimeoutError } from './errors.js';
9
10
  export class ResourceReadinessChecker {
10
11
  k8sApi;
@@ -38,6 +39,9 @@ export class ResourceReadinessChecker {
38
39
  async waitForResourceReadyWithPolling(deployedResource, _options, readinessConfig, emitEvent) {
39
40
  const startTime = Date.now();
40
41
  let attempt = 0;
42
+ // The most recent successfully-read resource, reused for the on-timeout debug log so we never issue a
43
+ // fresh (post-deadline) read that could hang or delay the timeout error.
44
+ let lastObserved;
41
45
  emitEvent({
42
46
  type: 'progress',
43
47
  resourceId: deployedResource.id,
@@ -47,15 +51,23 @@ export class ResourceReadinessChecker {
47
51
  while (Date.now() - startTime < readinessConfig.timeout) {
48
52
  attempt++;
49
53
  try {
50
- // In the new API, methods return objects directly (no .body wrapper)
51
- const currentResource = await this.k8sApi.read({
54
+ // In the new API, methods return objects directly (no .body wrapper).
55
+ // Bound the read so a wedged/expired kubeconfig exec credential rejects (→ handled below, retried
56
+ // within the deadline) instead of hanging the poll forever — see poll-timeout.ts.
57
+ const readTimeout = perCallTimeout(readinessConfig.timeout - (Date.now() - startTime), DEFAULT_HTTP_READ_TIMEOUT);
58
+ // Deadline spent: stop and fall through to ResourceReadinessTimeoutError (the poll's own overall
59
+ // timeout) rather than starting a doomed read.
60
+ if (readTimeout <= 0)
61
+ break;
62
+ const currentResource = await callWithTimeout(() => this.k8sApi.read({
52
63
  apiVersion: deployedResource.manifest.apiVersion,
53
64
  kind: deployedResource.kind,
54
65
  metadata: {
55
66
  name: deployedResource.name,
56
67
  namespace: deployedResource.namespace,
57
68
  },
58
- });
69
+ }), readTimeout, `read ${deployedResource.kind}/${deployedResource.name}`);
70
+ lastObserved = currentResource;
59
71
  const isReady = this.isResourceReady(currentResource);
60
72
  // Debug logging for status polling
61
73
  if (this.debugLogger) {
@@ -112,27 +124,24 @@ export class ResourceReadinessChecker {
112
124
  timestamp: new Date(),
113
125
  });
114
126
  }
115
- // Wait before retry
116
- await new Promise((resolve) => setTimeout(resolve, readinessConfig.errorRetryDelay));
127
+ // Wait before retry — but never past the deadline. If a bounded read consumed the remaining
128
+ // budget, sleeping the full errorRetryDelay would overshoot the configured timeout; cap it to
129
+ // what's left (0 → the while re-check exits immediately).
130
+ const retryDelay = Math.max(0, Math.min(readinessConfig.errorRetryDelay, readinessConfig.timeout - (Date.now() - startTime)));
131
+ if (retryDelay > 0) {
132
+ await new Promise((resolve) => setTimeout(resolve, retryDelay));
133
+ }
117
134
  }
118
135
  }
119
- // Debug logging for timeout with final status
136
+ // Debug logging for timeout with final status. Use the LAST OBSERVED resource rather than issuing a
137
+ // fresh read: the deadline is already spent, so a new read would either hang (wedged credential — the
138
+ // very failure mode this fixes) or delay ResourceReadinessTimeoutError past the configured timeout.
120
139
  if (this.debugLogger) {
121
- try {
122
- // In the new API, methods return objects directly (no .body wrapper)
123
- const finalResource = await this.k8sApi.read({
124
- apiVersion: deployedResource.manifest.apiVersion,
125
- kind: deployedResource.kind,
126
- metadata: {
127
- name: deployedResource.name,
128
- namespace: deployedResource.namespace,
129
- },
130
- });
131
- this.debugLogger.logTimeout(deployedResource, finalResource.status || finalResource, Date.now() - startTime, attempt);
140
+ if (lastObserved !== undefined) {
141
+ this.debugLogger.logTimeout(deployedResource, lastObserved.status || lastObserved, Date.now() - startTime, attempt);
132
142
  }
133
- catch (_error) {
134
- // If we can't get final status, log timeout without it
135
- this.debugLogger.logTimeout(deployedResource, { error: 'Could not retrieve final status' }, Date.now() - startTime, attempt);
143
+ else {
144
+ this.debugLogger.logTimeout(deployedResource, { error: 'No status observed before timeout' }, Date.now() - startTime, attempt);
136
145
  }
137
146
  }
138
147
  throw new ResourceReadinessTimeoutError(deployedResource, readinessConfig.timeout);
@@ -1 +1 @@
1
- {"version":3,"file":"readiness.js","sourceRoot":"","sources":["../../../src/core/deployment/readiness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"readiness.js","sourceRoot":"","sources":["../../../src/core/deployment/readiness.ts"],"names":[],"mappings":"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"}
@@ -49,6 +49,19 @@ export declare class ResourceRollbackManager {
49
49
  * retried until the deadline.
50
50
  */
51
51
  private waitForDeletionByHeader;
52
+ /**
53
+ * Gate on an already-requested deletion without issuing a second delete.
54
+ * KRO clears its owner finalizer after requesting child deletion, so callers
55
+ * use this to prove every child has actually reached 404.
56
+ */
57
+ waitForResourceGone(target: {
58
+ apiVersion: string;
59
+ kind: string;
60
+ name: string;
61
+ namespace?: string;
62
+ }, options?: {
63
+ timeout?: number;
64
+ }): Promise<void>;
52
65
  /**
53
66
  * Delete a single resource by header and GATE on its real 404, throwing
54
67
  * {@link DeploymentTimeoutError} if it does not disappear within `timeout`.
@@ -1 +1 @@
1
- {"version":3,"file":"rollback-manager.d.ts","sourceRoot":"","sources":["../../../src/core/deployment/rollback-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,KAAK,GAAG,MAAM,yBAAyB,CAAC;AAUpD,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,cAAc,EACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EACV,QAAQ,EAGT,MAAM,wBAAwB,CAAC;AAIhC;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,SAAS,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAC5D;AAED;;GAEG;AACH,qBAAa,uBAAuB;IAGtB,OAAO,CAAC,MAAM;IAF1B,OAAO,CAAC,MAAM,CAA0C;gBAEpC,MAAM,EAAE,GAAG,CAAC,mBAAmB;IAEnD;;OAEG;IACG,iBAAiB,CACrB,SAAS,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EACvC,MAAM,GAAE,cAAmB,GAC1B,OAAO,CAAC,cAAc,CAAC;IAmE1B;;OAEG;YACW,sBAAsB;IA6DpC;;OAEG;YACW,mBAAmB;IA8BjC;;OAEG;YACW,uBAAuB;IA2BrC;;;;;;;;OAQG;YACW,uBAAuB;IAsCrC;;;;;;;;;;;;OAYG;IACG,qBAAqB,CACzB,MAAM,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,EAC9E,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAO,GACvD,OAAO,CAAC,IAAI,CAAC;IA2BhB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAU1B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAM7B;;;;OAIG;IACG,wBAAwB,CAC5B,iBAAiB,EAAE,gBAAgB,EAAE,EACrC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC;QAAE,mBAAmB,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,eAAe,EAAE,CAAA;KAAE,CAAC;IAIxE;;;;;OAKG;IACG,yBAAyB,CAC7B,iBAAiB,EAAE,gBAAgB,EAAE,EACrC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC;QAAE,mBAAmB,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,eAAe,EAAE,CAAA;KAAE,CAAC;IAoBxE;;;OAGG;YACW,kBAAkB;IAwChC;;;;;;;;OAQG;IACG,sBAAsB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2EzF;;OAEG;IACH,OAAO,CAAC,SAAS;IAMjB;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAK5B;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,GAAG,CAAC,mBAAmB,GAAG,uBAAuB,CAE9F;AAED;;;GAGG;AACH,wBAAgB,mCAAmC,CACjD,UAAU,EAAE,GAAG,CAAC,UAAU,GACzB,uBAAuB,CAKzB"}
1
+ {"version":3,"file":"rollback-manager.d.ts","sourceRoot":"","sources":["../../../src/core/deployment/rollback-manager.ts"],"names":[],"mappings":"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"}