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.
- package/dist/.tsbuildinfo +1 -1
- package/dist/alchemy/kro-delete.d.ts +7 -0
- package/dist/alchemy/kro-delete.d.ts.map +1 -1
- package/dist/alchemy/kro-delete.js +28 -4
- package/dist/alchemy/kro-delete.js.map +1 -1
- package/dist/alchemy/resource-registration.d.ts +9 -2
- package/dist/alchemy/resource-registration.d.ts.map +1 -1
- package/dist/alchemy/resource-registration.js +117 -33
- package/dist/alchemy/resource-registration.js.map +1 -1
- package/dist/core/deployment/k8s-helpers.d.ts +77 -1
- package/dist/core/deployment/k8s-helpers.d.ts.map +1 -1
- package/dist/core/deployment/k8s-helpers.js +298 -17
- package/dist/core/deployment/k8s-helpers.js.map +1 -1
- package/dist/core/deployment/kro-artifact-binding-migration.d.ts +17 -6
- package/dist/core/deployment/kro-artifact-binding-migration.d.ts.map +1 -1
- package/dist/core/deployment/kro-artifact-binding-migration.js +16 -2
- package/dist/core/deployment/kro-artifact-binding-migration.js.map +1 -1
- package/dist/core/deployment/kro-namespace-teardown.d.ts +15 -1
- package/dist/core/deployment/kro-namespace-teardown.d.ts.map +1 -1
- package/dist/core/deployment/kro-namespace-teardown.js +34 -9
- package/dist/core/deployment/kro-namespace-teardown.js.map +1 -1
- package/dist/core/deployment/kro-readiness.d.ts +35 -0
- package/dist/core/deployment/kro-readiness.d.ts.map +1 -1
- package/dist/core/deployment/kro-readiness.js +201 -25
- package/dist/core/deployment/kro-readiness.js.map +1 -1
- package/dist/core/deployment/poll-timeout.d.ts +80 -2
- package/dist/core/deployment/poll-timeout.d.ts.map +1 -1
- package/dist/core/deployment/poll-timeout.js +164 -4
- package/dist/core/deployment/poll-timeout.js.map +1 -1
- package/dist/core/kubernetes/bun-http-library.d.ts +24 -0
- package/dist/core/kubernetes/bun-http-library.d.ts.map +1 -1
- package/dist/core/kubernetes/bun-http-library.js +146 -19
- package/dist/core/kubernetes/bun-http-library.js.map +1 -1
- package/dist/core/kubernetes/errors.d.ts +9 -0
- package/dist/core/kubernetes/errors.d.ts.map +1 -1
- package/dist/core/kubernetes/errors.js +7 -3
- package/dist/core/kubernetes/errors.js.map +1 -1
- package/dist/factories/clickhouse/compositions/clickhouse-cluster.d.ts +24 -2
- package/dist/factories/clickhouse/compositions/clickhouse-cluster.d.ts.map +1 -1
- package/dist/factories/clickhouse/compositions/clickhouse-cluster.js +24 -2
- package/dist/factories/clickhouse/compositions/clickhouse-cluster.js.map +1 -1
- package/dist/factories/clickhouse/resources/keeper.d.ts +61 -0
- package/dist/factories/clickhouse/resources/keeper.d.ts.map +1 -1
- package/dist/factories/clickhouse/resources/keeper.js +216 -2
- package/dist/factories/clickhouse/resources/keeper.js.map +1 -1
- package/dist/factories/clickhouse/resources/s3-backup.d.ts.map +1 -1
- package/dist/factories/clickhouse/resources/s3-backup.js +4 -3
- package/dist/factories/clickhouse/resources/s3-backup.js.map +1 -1
- package/dist/factories/clickhouse/types.d.ts +3 -2
- package/dist/factories/clickhouse/types.d.ts.map +1 -1
- package/dist/factories/clickhouse/types.js +28 -1
- package/dist/factories/clickhouse/types.js.map +1 -1
- package/dist/factories/clickhouse/utils/validation.d.ts +133 -10
- package/dist/factories/clickhouse/utils/validation.d.ts.map +1 -1
- package/dist/factories/clickhouse/utils/validation.js +165 -18
- package/dist/factories/clickhouse/utils/validation.js.map +1 -1
- package/dist/factories/clickstack/compositions/clickstack-bootstrap.d.ts +15 -1
- package/dist/factories/clickstack/compositions/clickstack-bootstrap.d.ts.map +1 -1
- package/dist/factories/clickstack/compositions/clickstack-bootstrap.js +15 -1
- package/dist/factories/clickstack/compositions/clickstack-bootstrap.js.map +1 -1
- package/dist/factories/rook/types.d.ts +16 -16
- 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":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAuB,MAAM,yBAAyB,CAAC;
|
|
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
|
|
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
|
|
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":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAEhD,OAAO,KAAK,EAAE,QAAQ,IAAI,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
786
|
-
|
|
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
|
-
|
|
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
|
|
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,
|