typekro 0.32.1 → 0.33.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.
- package/dist/.tsbuildinfo +1 -1
- package/dist/alchemy/resource-registration.d.ts +48 -1
- package/dist/alchemy/resource-registration.d.ts.map +1 -1
- package/dist/alchemy/resource-registration.js +250 -3
- package/dist/alchemy/resource-registration.js.map +1 -1
- package/dist/core/dependencies/resolver.d.ts.map +1 -1
- package/dist/core/dependencies/resolver.js +13 -3
- package/dist/core/dependencies/resolver.js.map +1 -1
- package/dist/core/deployment/direct-factory.d.ts.map +1 -1
- package/dist/core/deployment/direct-factory.js +78 -4
- package/dist/core/deployment/direct-factory.js.map +1 -1
- package/dist/core/deployment/errors.d.ts +3 -2
- package/dist/core/deployment/errors.d.ts.map +1 -1
- package/dist/core/deployment/errors.js +20 -3
- package/dist/core/deployment/errors.js.map +1 -1
- package/dist/core/deployment/kro-artifact-binding-migration.d.ts +15 -0
- package/dist/core/deployment/kro-artifact-binding-migration.d.ts.map +1 -0
- package/dist/core/deployment/kro-artifact-binding-migration.js +181 -0
- package/dist/core/deployment/kro-artifact-binding-migration.js.map +1 -0
- package/dist/core/deployment/kro-factory.d.ts +1 -1
- package/dist/core/deployment/kro-factory.d.ts.map +1 -1
- package/dist/core/deployment/kro-factory.js +27 -34
- package/dist/core/deployment/kro-factory.js.map +1 -1
- package/dist/core/planning/compiler.d.ts.map +1 -1
- package/dist/core/planning/compiler.js +9 -23
- package/dist/core/planning/compiler.js.map +1 -1
- package/dist/core/planning/plan-codec.d.ts.map +1 -1
- package/dist/core/planning/plan-codec.js +3 -0
- package/dist/core/planning/plan-codec.js.map +1 -1
- package/dist/core/planning/types.d.ts +3 -0
- package/dist/core/planning/types.d.ts.map +1 -1
- package/dist/core/planning/values.d.ts.map +1 -1
- package/dist/core/planning/values.js +3 -0
- package/dist/core/planning/values.js.map +1 -1
- package/dist/core/references/cel-evaluator.d.ts +0 -5
- package/dist/core/references/cel-evaluator.d.ts.map +1 -1
- package/dist/core/references/cel-evaluator.js +7 -32
- package/dist/core/references/cel-evaluator.js.map +1 -1
- package/dist/core/references/cel-lexical-scanner.d.ts +14 -0
- package/dist/core/references/cel-lexical-scanner.d.ts.map +1 -0
- package/dist/core/references/cel-lexical-scanner.js +90 -0
- package/dist/core/references/cel-lexical-scanner.js.map +1 -0
- package/dist/core/references/cel.d.ts.map +1 -1
- package/dist/core/references/cel.js +5 -1
- package/dist/core/references/cel.js.map +1 -1
- package/dist/core/serialization/cel-references.d.ts.map +1 -1
- package/dist/core/serialization/cel-references.js +3 -1
- package/dist/core/serialization/cel-references.js.map +1 -1
- package/dist/factories/envoy-ai-gateway/compositions/gateway.d.ts +9 -0
- package/dist/factories/envoy-ai-gateway/compositions/gateway.d.ts.map +1 -0
- package/dist/factories/envoy-ai-gateway/compositions/gateway.js +773 -0
- package/dist/factories/envoy-ai-gateway/compositions/gateway.js.map +1 -0
- package/dist/factories/envoy-ai-gateway/compositions/index.d.ts +4 -0
- package/dist/factories/envoy-ai-gateway/compositions/index.d.ts.map +1 -0
- package/dist/factories/envoy-ai-gateway/compositions/index.js +4 -0
- package/dist/factories/envoy-ai-gateway/compositions/index.js.map +1 -0
- package/dist/factories/envoy-ai-gateway/compositions/platform.d.ts +70 -0
- package/dist/factories/envoy-ai-gateway/compositions/platform.d.ts.map +1 -0
- package/dist/factories/envoy-ai-gateway/compositions/platform.js +376 -0
- package/dist/factories/envoy-ai-gateway/compositions/platform.js.map +1 -0
- package/dist/factories/envoy-ai-gateway/compositions/repository.d.ts +13 -0
- package/dist/factories/envoy-ai-gateway/compositions/repository.d.ts.map +1 -0
- package/dist/factories/envoy-ai-gateway/compositions/repository.js +29 -0
- package/dist/factories/envoy-ai-gateway/compositions/repository.js.map +1 -0
- package/dist/factories/envoy-ai-gateway/constants.d.ts +18 -0
- package/dist/factories/envoy-ai-gateway/constants.d.ts.map +1 -0
- package/dist/factories/envoy-ai-gateway/constants.js +18 -0
- package/dist/factories/envoy-ai-gateway/constants.js.map +1 -0
- package/dist/factories/envoy-ai-gateway/index.d.ts +11 -0
- package/dist/factories/envoy-ai-gateway/index.d.ts.map +1 -0
- package/dist/factories/envoy-ai-gateway/index.js +11 -0
- package/dist/factories/envoy-ai-gateway/index.js.map +1 -0
- package/dist/factories/envoy-ai-gateway/resources/gateway.d.ts +29 -0
- package/dist/factories/envoy-ai-gateway/resources/gateway.d.ts.map +1 -0
- package/dist/factories/envoy-ai-gateway/resources/gateway.js +195 -0
- package/dist/factories/envoy-ai-gateway/resources/gateway.js.map +1 -0
- package/dist/factories/envoy-ai-gateway/resources/helm.d.ts +11 -0
- package/dist/factories/envoy-ai-gateway/resources/helm.d.ts.map +1 -0
- package/dist/factories/envoy-ai-gateway/resources/helm.js +54 -0
- package/dist/factories/envoy-ai-gateway/resources/helm.js.map +1 -0
- package/dist/factories/envoy-ai-gateway/resources/index.d.ts +3 -0
- package/dist/factories/envoy-ai-gateway/resources/index.d.ts.map +1 -0
- package/dist/factories/envoy-ai-gateway/resources/index.js +3 -0
- package/dist/factories/envoy-ai-gateway/resources/index.js.map +1 -0
- package/dist/factories/envoy-ai-gateway/types.d.ts +451 -0
- package/dist/factories/envoy-ai-gateway/types.d.ts.map +1 -0
- package/dist/factories/envoy-ai-gateway/types.js +54 -0
- package/dist/factories/envoy-ai-gateway/types.js.map +1 -0
- package/dist/factories/index.d.ts +1 -0
- package/dist/factories/index.d.ts.map +1 -1
- package/dist/factories/index.js +4 -0
- package/dist/factories/index.js.map +1 -1
- package/dist/factories/kro/resource-graph-definition.d.ts.map +1 -1
- package/dist/factories/kro/resource-graph-definition.js +15 -7
- package/dist/factories/kro/resource-graph-definition.js.map +1 -1
- package/dist/factories/nats/compositions/nats-bootstrap.d.ts.map +1 -1
- package/dist/factories/nats/compositions/nats-bootstrap.js +15 -3
- package/dist/factories/nats/compositions/nats-bootstrap.js.map +1 -1
- package/package.json +5 -1
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import { ensureError } from '../errors.js';
|
|
2
|
+
import { createBunCompatibleKubernetesObjectApi } from '../kubernetes/index.js';
|
|
3
|
+
import { KRO_ARTIFACT_BINDINGS_SPEC_FIELD } from '../planning/values.js';
|
|
4
|
+
const STABLE_BINDING_SCHEMA = 'map[string]map[string]string';
|
|
5
|
+
const MAX_CRD_PATCH_ATTEMPTS = 5;
|
|
6
|
+
function statusCode(error) {
|
|
7
|
+
const candidate = error;
|
|
8
|
+
return candidate.statusCode ?? candidate.code ?? candidate.body?.code;
|
|
9
|
+
}
|
|
10
|
+
async function findGeneratedCrd(api, group, kind) {
|
|
11
|
+
const listed = (await api.list('apiextensions.k8s.io/v1', 'CustomResourceDefinition'));
|
|
12
|
+
return listed.items?.find((candidate) => candidate.spec?.group === group && candidate.spec?.names?.kind === kind);
|
|
13
|
+
}
|
|
14
|
+
function propertySchema(version) {
|
|
15
|
+
const root = version.schema?.openAPIV3Schema?.properties;
|
|
16
|
+
const spec = root?.spec;
|
|
17
|
+
if (!spec || typeof spec !== 'object')
|
|
18
|
+
return undefined;
|
|
19
|
+
const properties = Reflect.get(spec, 'properties');
|
|
20
|
+
if (!properties || typeof properties !== 'object')
|
|
21
|
+
return undefined;
|
|
22
|
+
const bindings = Reflect.get(properties, KRO_ARTIFACT_BINDINGS_SPEC_FIELD);
|
|
23
|
+
return bindings && typeof bindings === 'object'
|
|
24
|
+
? bindings
|
|
25
|
+
: undefined;
|
|
26
|
+
}
|
|
27
|
+
function nestedStringMapSchema() {
|
|
28
|
+
return {
|
|
29
|
+
type: 'object',
|
|
30
|
+
additionalProperties: {
|
|
31
|
+
type: 'object',
|
|
32
|
+
additionalProperties: { type: 'string' },
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
function isNestedStringMap(schema) {
|
|
37
|
+
const outer = schema.additionalProperties;
|
|
38
|
+
if (!outer || typeof outer !== 'object')
|
|
39
|
+
return false;
|
|
40
|
+
const inner = Reflect.get(outer, 'additionalProperties');
|
|
41
|
+
return (schema.type === 'object' &&
|
|
42
|
+
Reflect.get(outer, 'type') === 'object' &&
|
|
43
|
+
Boolean(inner && typeof inner === 'object' && Reflect.get(inner, 'type') === 'string'));
|
|
44
|
+
}
|
|
45
|
+
function isLegacyArtifactBindingSchema(schema) {
|
|
46
|
+
if (schema.type !== 'object' || schema.additionalProperties !== undefined)
|
|
47
|
+
return false;
|
|
48
|
+
const requirements = schema.properties;
|
|
49
|
+
if (!requirements || typeof requirements !== 'object')
|
|
50
|
+
return false;
|
|
51
|
+
return Object.values(requirements).every((requirement) => {
|
|
52
|
+
if (!requirement || typeof requirement !== 'object')
|
|
53
|
+
return false;
|
|
54
|
+
if (Reflect.get(requirement, 'type') !== 'object')
|
|
55
|
+
return false;
|
|
56
|
+
const outputs = Reflect.get(requirement, 'properties');
|
|
57
|
+
return (outputs !== undefined &&
|
|
58
|
+
typeof outputs === 'object' &&
|
|
59
|
+
Object.values(outputs).every((output) => output !== null && typeof output === 'object' && Reflect.get(output, 'type') === 'string'));
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
function needsRgdReconcileRetry(rgd) {
|
|
63
|
+
const generation = rgd.metadata?.generation;
|
|
64
|
+
return (typeof generation === 'number' &&
|
|
65
|
+
rgd.status?.conditions?.some((condition) => condition.type === 'KindReady' &&
|
|
66
|
+
condition.status === 'False' &&
|
|
67
|
+
condition.observedGeneration === generation) === true);
|
|
68
|
+
}
|
|
69
|
+
async function requestRgdReconcile(api, rgdName) {
|
|
70
|
+
await api.patch({
|
|
71
|
+
apiVersion: 'kro.run/v1alpha1',
|
|
72
|
+
kind: 'ResourceGraphDefinition',
|
|
73
|
+
metadata: {
|
|
74
|
+
name: rgdName,
|
|
75
|
+
annotations: {
|
|
76
|
+
'typekro.io/artifact-binding-migration-retry': new Date().toISOString(),
|
|
77
|
+
},
|
|
78
|
+
},
|
|
79
|
+
}, undefined, undefined, undefined, undefined, 'application/merge-patch+json');
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Broadens the generated CRD's released v0.32 artifact-binding schema before
|
|
83
|
+
* KRO sees the topology-independent RGD. KRO rejects a direct fixed-object →
|
|
84
|
+
* map transition as a property removal even though every existing value is
|
|
85
|
+
* valid under the map. Updating the CRD first is non-destructive: it only
|
|
86
|
+
* broadens validation and preserves the persisted nested key/value shape.
|
|
87
|
+
*/
|
|
88
|
+
export async function migrateLegacyKroArtifactBindingCrd(kubeConfig, desiredResource, dependencies = {}) {
|
|
89
|
+
const desiredRgd = desiredResource;
|
|
90
|
+
if (desiredRgd.spec?.schema?.spec?.[KRO_ARTIFACT_BINDINGS_SPEC_FIELD] !== STABLE_BINDING_SCHEMA) {
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
const rgdName = desiredRgd.metadata?.name;
|
|
94
|
+
const apiVersion = desiredRgd.spec.schema.apiVersion;
|
|
95
|
+
const kind = desiredRgd.spec.schema.kind;
|
|
96
|
+
if (!rgdName || !apiVersion || !kind)
|
|
97
|
+
return;
|
|
98
|
+
const api = dependencies.api ?? createBunCompatibleKubernetesObjectApi(kubeConfig);
|
|
99
|
+
let liveRgd;
|
|
100
|
+
try {
|
|
101
|
+
liveRgd = (await api.read({
|
|
102
|
+
apiVersion: 'kro.run/v1alpha1',
|
|
103
|
+
kind: 'ResourceGraphDefinition',
|
|
104
|
+
metadata: { name: rgdName },
|
|
105
|
+
}));
|
|
106
|
+
}
|
|
107
|
+
catch (error) {
|
|
108
|
+
if (statusCode(error) === 404)
|
|
109
|
+
return;
|
|
110
|
+
throw new Error(`Could not inspect ResourceGraphDefinition ${rgdName} before artifact-binding migration: ${ensureError(error).message}`);
|
|
111
|
+
}
|
|
112
|
+
const liveBindingSchema = liveRgd.spec?.schema?.spec?.[KRO_ARTIFACT_BINDINGS_SPEC_FIELD];
|
|
113
|
+
if (!liveBindingSchema)
|
|
114
|
+
return;
|
|
115
|
+
if (liveBindingSchema !== STABLE_BINDING_SCHEMA &&
|
|
116
|
+
(typeof liveBindingSchema !== 'object' ||
|
|
117
|
+
!Object.values(liveBindingSchema).every((requirement) => requirement !== null && typeof requirement === 'object'))) {
|
|
118
|
+
throw new Error(`Cannot safely migrate ${rgdName}: ${KRO_ARTIFACT_BINDINGS_SPEC_FIELD} is not a recognized v0.32 or stable schema`);
|
|
119
|
+
}
|
|
120
|
+
const group = desiredRgd.spec.schema.group ??
|
|
121
|
+
(apiVersion.includes('/') ? apiVersion.slice(0, apiVersion.lastIndexOf('/')) : undefined);
|
|
122
|
+
if (!group) {
|
|
123
|
+
throw new Error(`Cannot migrate artifact bindings for ${rgdName}: the desired RGD schema has no API group`);
|
|
124
|
+
}
|
|
125
|
+
// Put the desired RGD in place before broadening the generated CRD. If the
|
|
126
|
+
// legacy RGD remains live, KRO can immediately reconcile and restore its old
|
|
127
|
+
// topology-shaped schema between this patch and the caller's normal apply.
|
|
128
|
+
// Applying the desired RGD first may briefly produce KindReady=False; the CRD
|
|
129
|
+
// broadening below removes that incompatibility and the normal deployment
|
|
130
|
+
// readiness gate waits for the same generation to become ready.
|
|
131
|
+
await api.patch(desiredRgd, undefined, undefined, undefined, undefined, 'application/merge-patch+json');
|
|
132
|
+
for (let attempt = 1; attempt <= MAX_CRD_PATCH_ATTEMPTS; attempt += 1) {
|
|
133
|
+
const crd = await findGeneratedCrd(api, group, kind);
|
|
134
|
+
if (!crd?.metadata?.name || !crd.spec?.versions) {
|
|
135
|
+
throw new Error(`Cannot migrate artifact bindings for ${rgdName}: its generated CRD for ${group}/${kind} was not found`);
|
|
136
|
+
}
|
|
137
|
+
let changed = false;
|
|
138
|
+
const versions = structuredClone(crd.spec.versions);
|
|
139
|
+
for (const version of versions) {
|
|
140
|
+
const bindings = propertySchema(version);
|
|
141
|
+
if (!bindings || isNestedStringMap(bindings))
|
|
142
|
+
continue;
|
|
143
|
+
if (!isLegacyArtifactBindingSchema(bindings)) {
|
|
144
|
+
throw new Error(`Cannot safely migrate ${crd.metadata.name}: ${KRO_ARTIFACT_BINDINGS_SPEC_FIELD} is not a recognized v0.32 schema`);
|
|
145
|
+
}
|
|
146
|
+
const root = version.schema?.openAPIV3Schema?.properties;
|
|
147
|
+
const spec = root?.spec;
|
|
148
|
+
if (!spec?.properties)
|
|
149
|
+
continue;
|
|
150
|
+
spec.properties[KRO_ARTIFACT_BINDINGS_SPEC_FIELD] = nestedStringMapSchema();
|
|
151
|
+
changed = true;
|
|
152
|
+
}
|
|
153
|
+
if (!changed) {
|
|
154
|
+
if (needsRgdReconcileRetry(liveRgd)) {
|
|
155
|
+
await requestRgdReconcile(api, rgdName);
|
|
156
|
+
}
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
try {
|
|
160
|
+
await api.patch({
|
|
161
|
+
apiVersion: 'apiextensions.k8s.io/v1',
|
|
162
|
+
kind: 'CustomResourceDefinition',
|
|
163
|
+
metadata: {
|
|
164
|
+
name: crd.metadata.name,
|
|
165
|
+
...(crd.metadata.resourceVersion
|
|
166
|
+
? { resourceVersion: crd.metadata.resourceVersion }
|
|
167
|
+
: {}),
|
|
168
|
+
},
|
|
169
|
+
spec: { versions },
|
|
170
|
+
}, undefined, undefined, undefined, undefined, 'application/merge-patch+json');
|
|
171
|
+
await requestRgdReconcile(api, rgdName);
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
catch (error) {
|
|
175
|
+
if (statusCode(error) !== 409 || attempt === MAX_CRD_PATCH_ATTEMPTS) {
|
|
176
|
+
throw new Error(`Could not migrate generated CRD ${crd.metadata.name} after ${attempt} attempt${attempt === 1 ? '' : 's'}: ${ensureError(error).message}`);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
//# sourceMappingURL=kro-artifact-binding-migration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kro-artifact-binding-migration.js","sourceRoot":"","sources":["../../../src/core/deployment/kro-artifact-binding-migration.ts"],"names":[],"mappings":"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"}
|
|
@@ -429,7 +429,6 @@ export declare class KroResourceFactoryImpl<TSpec extends KroCompatibleType, TSt
|
|
|
429
429
|
* {@link hoistedNamespaceRefs} / {@link resourcesForRgd}.
|
|
430
430
|
*/
|
|
431
431
|
private buildRgdManifest;
|
|
432
|
-
private kroArtifactOutputUses;
|
|
433
432
|
private buildRgdYaml;
|
|
434
433
|
/**
|
|
435
434
|
* Assert the emitted RGD carries NO leftover reference to a hoisted (removed)
|
|
@@ -458,6 +457,7 @@ export declare class KroResourceFactoryImpl<TSpec extends KroCompatibleType, TSt
|
|
|
458
457
|
* not survive on an existing cluster-scoped RGD.
|
|
459
458
|
*/
|
|
460
459
|
private addRgdSchemaStatusPruneMarkers;
|
|
460
|
+
private migrateLegacyArtifactBindings;
|
|
461
461
|
/**
|
|
462
462
|
* Ensure the ResourceGraphDefinition is deployed using DirectDeploymentEngine.
|
|
463
463
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kro-factory.d.ts","sourceRoot":"","sources":["../../../src/core/deployment/kro-factory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,OAAO,KAAK,EACV,0BAA0B,EAE3B,MAAM,wBAAwB,CAAC;AAyChC,OAAO,
|
|
1
|
+
{"version":3,"file":"kro-factory.d.ts","sourceRoot":"","sources":["../../../src/core/deployment/kro-factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,7 +25,7 @@ import { getComponentLogger } from '../logging/index.js';
|
|
|
25
25
|
// alchemy bridge are injected via FactoryOptions providers (Phase 3.5)
|
|
26
26
|
// instead of dynamic import() from higher layers.
|
|
27
27
|
import { copyResourceMetadata, getMetadataField, getReadinessEvaluator, getResourceScope, setMetadataField, setReadinessEvaluator, setResourceId, } from '../metadata/index.js';
|
|
28
|
-
import { assertAdapterCapabilitiesSupported, canonicalStringify, collectArtifactOutputUses, collectPlanValueSensitiveBindings, compileKroArtifactPlan, createKroArtifactBundle, decodeKroArtifactBundle, encodeKroArtifactBundle, KRO_ARTIFACT_BINDINGS_SPEC_FIELD,
|
|
28
|
+
import { assertAdapterCapabilitiesSupported, canonicalStringify, collectArtifactOutputUses, collectPlanValueSensitiveBindings, compileKroArtifactPlan, createKroArtifactBundle, decodeKroArtifactBundle, encodeKroArtifactBundle, KRO_ARTIFACT_BINDINGS_SPEC_FIELD, kroArtifactPlanToGraphResources, kroArtifactPlanToInstanceResource, kroArtifactPlanToSupportingResources, lowerPlanValue, mapPlanValueSensitiveBindings, materializeKroArtifactBundleOperation, materializePlanValue, mergeKroArtifactBundleOperations, orderKroArtifactBundleOperations, planValueSensitiveBindingNames, resolveStaticYamlSensitiveBindings, schemaToIR, } from '../planning/index.js';
|
|
29
29
|
import { createAlwaysReadyEvaluator, createCustomResourceDefinitionReadinessEvaluator, ensureReadinessEvaluator, getPortableReadinessStrategy, resolvePortableReadinessStrategy, } from '../readiness/index.js';
|
|
30
30
|
import { createSchemaProxy, DeploymentMode } from '../references/index.js';
|
|
31
31
|
import { runStandaloneOperation } from '../runtime/standalone-operation.js';
|
|
@@ -40,6 +40,7 @@ import { blockerForRemainingResource, createDeletionResultState, deletionTarget,
|
|
|
40
40
|
import { DirectDeploymentEngine } from './engine.js';
|
|
41
41
|
import { logHandleSnapshot } from './handle-tracing.js';
|
|
42
42
|
import { isNotFoundError } from './k8s-helpers.js';
|
|
43
|
+
import { migrateLegacyKroArtifactBindingCrd } from './kro-artifact-binding-migration.js';
|
|
43
44
|
import { assertKroInstanceSpecPreserved } from './kro-instance-admission.js';
|
|
44
45
|
import { assertKroInstanceNamespaceOwnershipSafe, assertNoHoistWeakenedStatusFields, concreteActiveOwnedResources, concreteOwnedNamespaceResources, findDanglingHoistedReference, resolveConcreteMetadataValue, resolveNamespaceName, rewriteHoistedNamespaceReferences, rewriteHoistedNamespaceRefsInValue, selectHoistedNamespaces, } from './kro-instance-safety.js';
|
|
45
46
|
import { decideNamespaceOwnershipCreateFirst, deleteNamespaceIfEmpty, HOISTED_NAMESPACES_ANNOTATION, listNamespacesOwnedByRgd, NAMESPACE_OWNER_ANNOTATION, parseHoistedNamespacesAnnotation, readHoistedNamespacesRecord, } from './kro-namespace-teardown.js';
|
|
@@ -205,9 +206,11 @@ async function captureKnownControllerDescendants(k8sApi, childTargets, defaultNa
|
|
|
205
206
|
});
|
|
206
207
|
}
|
|
207
208
|
catch (error) {
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
209
|
+
// @kubernetes/client-node 1.x's KubernetesObjectApi can expose a 404
|
|
210
|
+
// only through its message and a serialized `body` string. Reuse the
|
|
211
|
+
// shared cross-version classifier so an already-absent Job is valid
|
|
212
|
+
// teardown evidence rather than a false discovery failure.
|
|
213
|
+
if (isNotFoundError(error))
|
|
211
214
|
continue;
|
|
212
215
|
throw error;
|
|
213
216
|
}
|
|
@@ -1450,6 +1453,12 @@ export class KroResourceFactoryImpl {
|
|
|
1450
1453
|
operation.role === 'singleton-owner-rgd') {
|
|
1451
1454
|
await member.factory.runKroPrerequisiteHook(deploymentEngine, undefined, abortSignal);
|
|
1452
1455
|
await member.factory.addRgdSchemaStatusPruneMarkers(resource);
|
|
1456
|
+
// Keep the semantic artifact-bundle path equivalent to the legacy
|
|
1457
|
+
// ensureRGDDeployed() path. Existing v0.32 instances may still have a
|
|
1458
|
+
// topology-specific generated CRD even when the desired RGD already
|
|
1459
|
+
// carries the stable map schema, so this must run before the RGD is
|
|
1460
|
+
// applied on every resumable deploy.
|
|
1461
|
+
await member.factory.migrateLegacyArtifactBindings(resource);
|
|
1453
1462
|
const rgdFactory = member.factory.rgdProvider ??
|
|
1454
1463
|
(await import('../../factories/kro/resource-graph-definition.js'))
|
|
1455
1464
|
.resourceGraphDefinition;
|
|
@@ -3339,19 +3348,7 @@ export class KroResourceFactoryImpl {
|
|
|
3339
3348
|
}
|
|
3340
3349
|
const kroSchema = generateKroSchemaFromArktype(this.name, this.schemaDefinition, aspectResources, statusMappings, nestedCel, this.factoryOptions.compositionOptions
|
|
3341
3350
|
?.schemaFieldValidations);
|
|
3342
|
-
|
|
3343
|
-
if (artifactOutputUses.length > 0) {
|
|
3344
|
-
const byRequirement = new Map();
|
|
3345
|
-
for (const use of artifactOutputUses) {
|
|
3346
|
-
const current = byRequirement.get(use.requirementId) ?? [];
|
|
3347
|
-
current.push(use);
|
|
3348
|
-
byRequirement.set(use.requirementId, current);
|
|
3349
|
-
}
|
|
3350
|
-
kroSchema.spec[KRO_ARTIFACT_BINDINGS_SPEC_FIELD] = Object.fromEntries([...byRequirement.entries()].map(([requirementId, uses]) => [
|
|
3351
|
-
kroArtifactRequirementField(requirementId),
|
|
3352
|
-
Object.fromEntries(uses.map((use) => [kroArtifactOutputField(use.output), 'string'])),
|
|
3353
|
-
]));
|
|
3354
|
-
}
|
|
3351
|
+
kroSchema.spec[KRO_ARTIFACT_BINDINGS_SPEC_FIELD] = 'map[string]map[string]string';
|
|
3355
3352
|
// Attach nested status CEL mappings as non-enumerable property so
|
|
3356
3353
|
// serializeResourceGraphToYaml can inline virtual composition IDs.
|
|
3357
3354
|
if (nestedCel && Object.keys(nestedCel).length > 0) {
|
|
@@ -3407,21 +3404,6 @@ export class KroResourceFactoryImpl {
|
|
|
3407
3404
|
this.assertNoDanglingHoistedReferences(JSON.stringify(rgdManifest), new Set(hoistIds.keys()));
|
|
3408
3405
|
return rgdManifest;
|
|
3409
3406
|
}
|
|
3410
|
-
kroArtifactOutputUses() {
|
|
3411
|
-
const capture = this.factoryOptions.semanticCapture;
|
|
3412
|
-
if (!capture)
|
|
3413
|
-
return [];
|
|
3414
|
-
const configuredPlan = this.factoryOptions.plan ?? {};
|
|
3415
|
-
const plan = capture.planTemplate({
|
|
3416
|
-
...configuredPlan,
|
|
3417
|
-
aspects: configuredPlan.aspects ?? this.factoryOptions.aspects ?? [],
|
|
3418
|
-
});
|
|
3419
|
-
return collectArtifactOutputUses({
|
|
3420
|
-
nodes: plan.nodes,
|
|
3421
|
-
outputs: plan.outputs,
|
|
3422
|
-
representationRequirements: plan.representationRequirements,
|
|
3423
|
-
});
|
|
3424
|
-
}
|
|
3425
3407
|
buildRgdYaml(spec) {
|
|
3426
3408
|
return serializeResourceGraphDefinitionToYaml(this.buildRgdManifest(spec), {
|
|
3427
3409
|
...this.factoryOptions.compositionOptions,
|
|
@@ -3528,6 +3510,9 @@ export class KroResourceFactoryImpl {
|
|
|
3528
3510
|
});
|
|
3529
3511
|
}
|
|
3530
3512
|
}
|
|
3513
|
+
async migrateLegacyArtifactBindings(rgdManifest) {
|
|
3514
|
+
await migrateLegacyKroArtifactBindingCrd(this.getKubeConfig(), rgdManifest);
|
|
3515
|
+
}
|
|
3531
3516
|
/**
|
|
3532
3517
|
* Ensure the ResourceGraphDefinition is deployed using DirectDeploymentEngine.
|
|
3533
3518
|
*
|
|
@@ -3559,6 +3544,7 @@ export class KroResourceFactoryImpl {
|
|
|
3559
3544
|
},
|
|
3560
3545
|
};
|
|
3561
3546
|
await this.addRgdSchemaStatusPruneMarkers(rgdWithMetadata);
|
|
3547
|
+
await this.migrateLegacyArtifactBindings(rgdWithMetadata);
|
|
3562
3548
|
// Create Enhanced RGD with readiness evaluator
|
|
3563
3549
|
const rgdFactory = this.rgdProvider ??
|
|
3564
3550
|
(await import('../../factories/kro/resource-graph-definition.js')).resourceGraphDefinition;
|
|
@@ -4343,8 +4329,15 @@ export class KroResourceFactoryImpl {
|
|
|
4343
4329
|
instanceNameOverride: instanceName,
|
|
4344
4330
|
...(singletonSpecFingerprint ? { singletonSpecFingerprint } : {}),
|
|
4345
4331
|
});
|
|
4346
|
-
if (!compilation)
|
|
4347
|
-
return
|
|
4332
|
+
if (!compilation) {
|
|
4333
|
+
return {
|
|
4334
|
+
...legacyManifest,
|
|
4335
|
+
spec: {
|
|
4336
|
+
...spec,
|
|
4337
|
+
[KRO_ARTIFACT_BINDINGS_SPEC_FIELD]: {},
|
|
4338
|
+
},
|
|
4339
|
+
};
|
|
4340
|
+
}
|
|
4348
4341
|
return kroArtifactPlanToInstanceResource(compilation.artifacts, {
|
|
4349
4342
|
sensitive: compilation.sensitiveBindings,
|
|
4350
4343
|
});
|