typekro 0.32.0 → 0.33.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/resource-registration.d.ts +15 -0
- package/dist/alchemy/resource-registration.d.ts.map +1 -1
- package/dist/alchemy/resource-registration.js +13 -1
- 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/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 +39 -35
- 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/core/serialization/schema.d.ts.map +1 -1
- package/dist/core/serialization/schema.js +12 -0
- package/dist/core/serialization/schema.js.map +1 -1
- package/dist/core/types/deployment.d.ts +20 -0
- package/dist/core/types/deployment.d.ts.map +1 -1
- package/dist/factories/dagster/compositions/dagster-bootstrap.d.ts +1 -449
- package/dist/factories/dagster/compositions/dagster-bootstrap.d.ts.map +1 -1
- package/dist/factories/dagster/types.d.ts +2 -898
- package/dist/factories/dagster/types.d.ts.map +1 -1
- package/dist/factories/dagster/types.js +2 -35
- package/dist/factories/dagster/types.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/package.json +6 -2
|
@@ -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) {
|
|
@@ -3393,6 +3390,12 @@ export class KroResourceFactoryImpl {
|
|
|
3393
3390
|
const rgdManifest = serializeResourceGraphToManifest(this.rgdName, aspectResources, {
|
|
3394
3391
|
...this.factoryOptions.compositionOptions,
|
|
3395
3392
|
namespace: this.namespace,
|
|
3393
|
+
// Factory-level override. The composition option of the same name is unreachable for a consumer of a
|
|
3394
|
+
// SHIPPED composition (its definition lives in TypeKro), so without this there is no way to authorize
|
|
3395
|
+
// the one-off CRD schema migration KRO would otherwise silently refuse.
|
|
3396
|
+
...(this.factoryOptions.allowBreakingChanges === undefined
|
|
3397
|
+
? {}
|
|
3398
|
+
: { allowBreakingChanges: this.factoryOptions.allowBreakingChanges }),
|
|
3396
3399
|
}, kroSchema);
|
|
3397
3400
|
// VALIDATE (finding #6): after hoisting, NO reference to any removed resource id
|
|
3398
3401
|
// may remain anywhere in the emitted RGD. If one slipped through (a form the
|
|
@@ -3401,23 +3404,13 @@ export class KroResourceFactoryImpl {
|
|
|
3401
3404
|
this.assertNoDanglingHoistedReferences(JSON.stringify(rgdManifest), new Set(hoistIds.keys()));
|
|
3402
3405
|
return rgdManifest;
|
|
3403
3406
|
}
|
|
3404
|
-
kroArtifactOutputUses() {
|
|
3405
|
-
const capture = this.factoryOptions.semanticCapture;
|
|
3406
|
-
if (!capture)
|
|
3407
|
-
return [];
|
|
3408
|
-
const configuredPlan = this.factoryOptions.plan ?? {};
|
|
3409
|
-
const plan = capture.planTemplate({
|
|
3410
|
-
...configuredPlan,
|
|
3411
|
-
aspects: configuredPlan.aspects ?? this.factoryOptions.aspects ?? [],
|
|
3412
|
-
});
|
|
3413
|
-
return collectArtifactOutputUses({
|
|
3414
|
-
nodes: plan.nodes,
|
|
3415
|
-
outputs: plan.outputs,
|
|
3416
|
-
representationRequirements: plan.representationRequirements,
|
|
3417
|
-
});
|
|
3418
|
-
}
|
|
3419
3407
|
buildRgdYaml(spec) {
|
|
3420
|
-
return serializeResourceGraphDefinitionToYaml(this.buildRgdManifest(spec),
|
|
3408
|
+
return serializeResourceGraphDefinitionToYaml(this.buildRgdManifest(spec), {
|
|
3409
|
+
...this.factoryOptions.compositionOptions,
|
|
3410
|
+
...(this.factoryOptions.allowBreakingChanges === undefined
|
|
3411
|
+
? {}
|
|
3412
|
+
: { allowBreakingChanges: this.factoryOptions.allowBreakingChanges }),
|
|
3413
|
+
});
|
|
3421
3414
|
}
|
|
3422
3415
|
/**
|
|
3423
3416
|
* Assert the emitted RGD carries NO leftover reference to a hoisted (removed)
|
|
@@ -3517,6 +3510,9 @@ export class KroResourceFactoryImpl {
|
|
|
3517
3510
|
});
|
|
3518
3511
|
}
|
|
3519
3512
|
}
|
|
3513
|
+
async migrateLegacyArtifactBindings(rgdManifest) {
|
|
3514
|
+
await migrateLegacyKroArtifactBindingCrd(this.getKubeConfig(), rgdManifest);
|
|
3515
|
+
}
|
|
3520
3516
|
/**
|
|
3521
3517
|
* Ensure the ResourceGraphDefinition is deployed using DirectDeploymentEngine.
|
|
3522
3518
|
*
|
|
@@ -3548,6 +3544,7 @@ export class KroResourceFactoryImpl {
|
|
|
3548
3544
|
},
|
|
3549
3545
|
};
|
|
3550
3546
|
await this.addRgdSchemaStatusPruneMarkers(rgdWithMetadata);
|
|
3547
|
+
await this.migrateLegacyArtifactBindings(rgdWithMetadata);
|
|
3551
3548
|
// Create Enhanced RGD with readiness evaluator
|
|
3552
3549
|
const rgdFactory = this.rgdProvider ??
|
|
3553
3550
|
(await import('../../factories/kro/resource-graph-definition.js')).resourceGraphDefinition;
|
|
@@ -4332,8 +4329,15 @@ export class KroResourceFactoryImpl {
|
|
|
4332
4329
|
instanceNameOverride: instanceName,
|
|
4333
4330
|
...(singletonSpecFingerprint ? { singletonSpecFingerprint } : {}),
|
|
4334
4331
|
});
|
|
4335
|
-
if (!compilation)
|
|
4336
|
-
return
|
|
4332
|
+
if (!compilation) {
|
|
4333
|
+
return {
|
|
4334
|
+
...legacyManifest,
|
|
4335
|
+
spec: {
|
|
4336
|
+
...spec,
|
|
4337
|
+
[KRO_ARTIFACT_BINDINGS_SPEC_FIELD]: {},
|
|
4338
|
+
},
|
|
4339
|
+
};
|
|
4340
|
+
}
|
|
4337
4341
|
return kroArtifactPlanToInstanceResource(compilation.artifacts, {
|
|
4338
4342
|
sensitive: compilation.sensitiveBindings,
|
|
4339
4343
|
});
|