typekro 0.14.0 → 0.15.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/deployers.d.ts +2 -2
- package/dist/alchemy/deployers.d.ts.map +1 -1
- package/dist/alchemy/deployers.js +12 -5
- package/dist/alchemy/deployers.js.map +1 -1
- package/dist/alchemy/index.d.ts +4 -2
- package/dist/alchemy/index.d.ts.map +1 -1
- package/dist/alchemy/index.js +4 -3
- package/dist/alchemy/index.js.map +1 -1
- package/dist/alchemy/resource-registration.d.ts +81 -19
- package/dist/alchemy/resource-registration.d.ts.map +1 -1
- package/dist/alchemy/resource-registration.js +296 -147
- package/dist/alchemy/resource-registration.js.map +1 -1
- package/dist/alchemy/types.d.ts +76 -8
- package/dist/alchemy/types.d.ts.map +1 -1
- package/dist/alchemy/wrapper.d.ts +0 -9
- package/dist/alchemy/wrapper.d.ts.map +1 -1
- package/dist/alchemy/wrapper.js +0 -15
- package/dist/alchemy/wrapper.js.map +1 -1
- package/dist/core/deployment/direct-factory.d.ts +14 -2
- package/dist/core/deployment/direct-factory.d.ts.map +1 -1
- package/dist/core/deployment/direct-factory.js +117 -14
- package/dist/core/deployment/direct-factory.js.map +1 -1
- package/dist/core/deployment/engine.d.ts +8 -5
- package/dist/core/deployment/engine.d.ts.map +1 -1
- package/dist/core/deployment/engine.js +36 -12
- package/dist/core/deployment/engine.js.map +1 -1
- package/dist/core/deployment/kro-factory.d.ts +35 -9
- package/dist/core/deployment/kro-factory.d.ts.map +1 -1
- package/dist/core/deployment/kro-factory.js +132 -150
- package/dist/core/deployment/kro-factory.js.map +1 -1
- package/dist/core/deployment/shared-utilities.d.ts +15 -4
- package/dist/core/deployment/shared-utilities.d.ts.map +1 -1
- package/dist/core/deployment/shared-utilities.js +47 -14
- package/dist/core/deployment/shared-utilities.js.map +1 -1
- package/dist/core/deployment/strategies/direct-strategy.d.ts.map +1 -1
- package/dist/core/deployment/strategies/direct-strategy.js +1 -2
- package/dist/core/deployment/strategies/direct-strategy.js.map +1 -1
- package/dist/core/deployment/strategies/index.d.ts +0 -1
- package/dist/core/deployment/strategies/index.d.ts.map +1 -1
- package/dist/core/deployment/strategies/index.js +0 -1
- package/dist/core/deployment/strategies/index.js.map +1 -1
- package/dist/core/types/deployment.d.ts +28 -42
- package/dist/core/types/deployment.d.ts.map +1 -1
- package/dist/core/types/resource-graph.d.ts +2 -6
- package/dist/core/types/resource-graph.d.ts.map +1 -1
- package/dist/core/types/schema.d.ts +0 -1
- package/dist/core/types/schema.d.ts.map +1 -1
- package/dist/core/types/serialization.d.ts +3 -7
- package/dist/core/types/serialization.d.ts.map +1 -1
- package/dist/factories/kubernetes/yaml/yaml-directory.d.ts.map +1 -1
- package/dist/factories/kubernetes/yaml/yaml-directory.js +2 -13
- package/dist/factories/kubernetes/yaml/yaml-directory.js.map +1 -1
- package/dist/factories/kubernetes/yaml/yaml-file.d.ts.map +1 -1
- package/dist/factories/kubernetes/yaml/yaml-file.js +2 -18
- package/dist/factories/kubernetes/yaml/yaml-file.js.map +1 -1
- package/package.json +6 -3
- package/dist/alchemy/deployment.d.ts +0 -12
- package/dist/alchemy/deployment.d.ts.map +0 -1
- package/dist/alchemy/deployment.js +0 -12
- package/dist/alchemy/deployment.js.map +0 -1
- package/dist/core/deployment/strategies/alchemy-strategy.d.ts +0 -109
- package/dist/core/deployment/strategies/alchemy-strategy.d.ts.map +0 -1
- package/dist/core/deployment/strategies/alchemy-strategy.js +0 -556
- package/dist/core/deployment/strategies/alchemy-strategy.js.map +0 -1
|
@@ -30,7 +30,7 @@ export declare class DirectTypeKroDeployer implements TypeKroDeployer {
|
|
|
30
30
|
* This helper function reduces duplication between deploy and delete operations
|
|
31
31
|
*/
|
|
32
32
|
private createResourceGraph;
|
|
33
|
-
deploy<T extends Enhanced<any, any>>(resource: T, options: DeploymentOptions): Promise<T>;
|
|
33
|
+
deploy<T extends Enhanced<any, any>>(resource: T, options: DeploymentOptions, seedResources?: import('../core/types/deployment.js').DeployedResource[]): Promise<T>;
|
|
34
34
|
delete<T extends Enhanced<any, any>>(resource: T, options: DeploymentOptions): Promise<void>;
|
|
35
35
|
}
|
|
36
36
|
/**
|
|
@@ -42,7 +42,7 @@ export declare class KroTypeKroDeployer implements TypeKroDeployer {
|
|
|
42
42
|
private readonly deployerOptions;
|
|
43
43
|
constructor(engine: import('../core/deployment/engine.js').DirectDeploymentEngine, deployerOptions?: KroTypeKroDeployerOptions);
|
|
44
44
|
dispose(): Promise<void>;
|
|
45
|
-
deploy<T extends Enhanced<any, any>>(resource: T, options: DeploymentOptions): Promise<T>;
|
|
45
|
+
deploy<T extends Enhanced<any, any>>(resource: T, options: DeploymentOptions, _seedResources?: import('../core/types/deployment.js').DeployedResource[]): Promise<T>;
|
|
46
46
|
delete<T extends Enhanced<any, any>>(resource: T, options: DeploymentOptions): Promise<void>;
|
|
47
47
|
}
|
|
48
48
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deployers.d.ts","sourceRoot":"","sources":["../../src/alchemy/deployers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAcH,OAAO,KAAK,EAAE,iBAAiB,EAA2B,MAAM,6BAA6B,CAAC;AAC9F,OAAO,KAAK,EAAyB,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAkBlD,qBAAa,4CAA6C,SAAQ,KAAK;gBACzD,OAAO,EAAE,MAAM;CAI5B;AAED,UAAU,yBAAyB;IACjC,2EAA2E;IAC3E,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,uEAAuE;IACvE,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5D,mEAAmE;IACnE,6BAA6B,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACpE;AAsBD;;GAEG;AACH,qBAAa,qBAAsB,YAAW,eAAe;IAC/C,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,OAAO,8BAA8B,EAAE,sBAAsB;IAEnF,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IA4BrB,MAAM,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"deployers.d.ts","sourceRoot":"","sources":["../../src/alchemy/deployers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAcH,OAAO,KAAK,EAAE,iBAAiB,EAA2B,MAAM,6BAA6B,CAAC;AAC9F,OAAO,KAAK,EAAyB,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAkBlD,qBAAa,4CAA6C,SAAQ,KAAK;gBACzD,OAAO,EAAE,MAAM;CAI5B;AAED,UAAU,yBAAyB;IACjC,2EAA2E;IAC3E,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,uEAAuE;IACvE,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5D,mEAAmE;IACnE,6BAA6B,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACpE;AAsBD;;GAEG;AACH,qBAAa,qBAAsB,YAAW,eAAe;IAC/C,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,OAAO,8BAA8B,EAAE,sBAAsB;IAEnF,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IA4BrB,MAAM,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EACvC,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,iBAAiB,EAC1B,aAAa,CAAC,EAAE,OAAO,6BAA6B,EAAE,gBAAgB,EAAE,GACvE,OAAO,CAAC,CAAC,CAAC;IAkDP,MAAM,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EACvC,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,IAAI,CAAC;CAoBjB;AAED;;;GAGG;AACH,qBAAa,kBAAmB,YAAW,eAAe;IAEtD,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,QAAQ,CAAC,eAAe;gBADxB,MAAM,EAAE,OAAO,8BAA8B,EAAE,sBAAsB,EAC5D,eAAe,GAAE,yBAA8B;IAG5D,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,MAAM,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EACvC,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,iBAAiB,EAC1B,cAAc,CAAC,EAAE,OAAO,6BAA6B,EAAE,gBAAgB,EAAE,GACxE,OAAO,CAAC,CAAC,CAAC;IA2CP,MAAM,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EACvC,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,IAAI,CAAC;CAmFjB"}
|
|
@@ -81,7 +81,7 @@ export class DirectTypeKroDeployer {
|
|
|
81
81
|
dependencyGraph,
|
|
82
82
|
};
|
|
83
83
|
}
|
|
84
|
-
async deploy(resource, options) {
|
|
84
|
+
async deploy(resource, options, seedResources) {
|
|
85
85
|
// Ensure the resource has a readiness evaluator using factory functions or registry lookup
|
|
86
86
|
// The ensureReadinessEvaluator function:
|
|
87
87
|
// 1. Returns the resource if it already has a readinessEvaluator attached
|
|
@@ -101,7 +101,8 @@ export class DirectTypeKroDeployer {
|
|
|
101
101
|
waitForReady: options.waitForReady ?? true,
|
|
102
102
|
timeout: options.timeout ?? DEFAULT_DEPLOYMENT_TIMEOUT,
|
|
103
103
|
};
|
|
104
|
-
|
|
104
|
+
// Seed sibling live state so this resource's cross-resource refs/CEL resolve against it.
|
|
105
|
+
const result = await this.engine.deploy(resourceGraph, deploymentOptions, seedResources);
|
|
105
106
|
if (result.status === 'failed') {
|
|
106
107
|
const firstError = result.errors[0]?.error;
|
|
107
108
|
const deploymentError = new ResourceDeploymentError(resource.metadata?.name || 'unnamed', resource.kind || 'Unknown', firstError || new Error('Unknown deployment error'));
|
|
@@ -111,8 +112,13 @@ export class DirectTypeKroDeployer {
|
|
|
111
112
|
}
|
|
112
113
|
throw deploymentError;
|
|
113
114
|
}
|
|
114
|
-
// Return the
|
|
115
|
-
|
|
115
|
+
// Return the LIVE resource (with status) when the engine captured it — consumers persist this
|
|
116
|
+
// as the `deployedResource` output and dependents resolve cross-resource refs against its
|
|
117
|
+
// status. Match this resource's id; fall back to the input (with readiness evaluator) if no
|
|
118
|
+
// live state was captured.
|
|
119
|
+
const deployedId = getResourceId(resourceWithEvaluator, 'unnamed');
|
|
120
|
+
const live = result.resources?.find((r) => r.id === deployedId)?.liveManifest;
|
|
121
|
+
return live ?? resourceWithEvaluator;
|
|
116
122
|
}
|
|
117
123
|
async delete(resource, options) {
|
|
118
124
|
if (getMetadataField(resource, 'scope') !== 'cluster' && isKnownClusterScopedResource(resource)) {
|
|
@@ -147,7 +153,8 @@ export class KroTypeKroDeployer {
|
|
|
147
153
|
async dispose() {
|
|
148
154
|
await this.engine.dispose();
|
|
149
155
|
}
|
|
150
|
-
async deploy(resource, options
|
|
156
|
+
async deploy(resource, options, _seedResources // KRO resolves refs via its controller; seed is direct-mode only.
|
|
157
|
+
) {
|
|
151
158
|
const resourceId = resource.id ||
|
|
152
159
|
generateDeterministicResourceId(resource.kind || 'Resource', resource.metadata?.name || 'unnamed', options.namespace);
|
|
153
160
|
const deployableResource = resource;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deployers.js","sourceRoot":"","sources":["../../src/alchemy/deployers.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"deployers.js","sourceRoot":"","sources":["../../src/alchemy/deployers.ts"],"names":[],"mappings":"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"}
|
package/dist/alchemy/index.d.ts
CHANGED
|
@@ -9,9 +9,11 @@
|
|
|
9
9
|
export { DirectTypeKroDeployer, KroTypeKroDeployer } from './deployers.js';
|
|
10
10
|
export type { AlchemyPromise, AlchemyResolutionContext, AlchemyResource } from './resolver.js';
|
|
11
11
|
export { buildResourceGraphWithDeferredResolution, containsAlchemyPromises, createAlchemyReferenceResolver, createAlchemyResourceConfig, createAlchemyResourceConfigs, extractAlchemyPromises, hasMixedDependencies, isAlchemyPromise, isAlchemyResource, resolveAlchemyPromise, resolveAllReferences, resolveAllReferencesInAlchemyContext, resolveReferencesWithAlchemy, resolveTypeKroReferencesOnly, } from './resolver.js';
|
|
12
|
-
export {
|
|
12
|
+
export { KRO_RESOURCE_TYPE, KroResource, kroProvider, materializeAlchemyResources, buildAlchemyDeploymentOptions, } from './resource-registration.js';
|
|
13
|
+
export type { KroResourceR } from './resource-registration.js';
|
|
14
|
+
export type { AlchemyResourceDeclaration } from './types.js';
|
|
13
15
|
export { inferAlchemyTypeFromTypeKroResource } from './type-inference.js';
|
|
14
16
|
export type { AlchemyResourceState, SerializableKubeConfigOptions, TypeKroDeployer, TypeKroResource, TypeKroResourceProps, } from './types.js';
|
|
15
17
|
export { createAlchemyResourceId } from './utilities.js';
|
|
16
|
-
export { generateDeterministicResourceId
|
|
18
|
+
export { generateDeterministicResourceId } from './wrapper.js';
|
|
17
19
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/alchemy/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC3E,YAAY,EAAE,cAAc,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAG/F,OAAO,EACL,wCAAwC,EACxC,uBAAuB,EACvB,8BAA8B,EAC9B,2BAA2B,EAC3B,4BAA4B,EAC5B,sBAAsB,EACtB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,oCAAoC,EACpC,4BAA4B,EAC5B,4BAA4B,GAC7B,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/alchemy/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC3E,YAAY,EAAE,cAAc,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAG/F,OAAO,EACL,wCAAwC,EACxC,uBAAuB,EACvB,8BAA8B,EAC9B,2BAA2B,EAC3B,4BAA4B,EAC5B,sBAAsB,EACtB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,oCAAoC,EACpC,4BAA4B,EAC5B,4BAA4B,GAC7B,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,2BAA2B,EAC3B,6BAA6B,GAC9B,MAAM,4BAA4B,CAAC;AACpC,YAAY,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,YAAY,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAG7D,OAAO,EAAE,mCAAmC,EAAE,MAAM,qBAAqB,CAAC;AAG1E,YAAY,EACV,oBAAoB,EACpB,6BAA6B,EAC7B,eAAe,EACf,eAAe,EACf,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAGzD,OAAO,EAAE,+BAA+B,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/alchemy/index.js
CHANGED
|
@@ -10,12 +10,13 @@
|
|
|
10
10
|
export { DirectTypeKroDeployer, KroTypeKroDeployer } from './deployers.js';
|
|
11
11
|
// Reference resolution
|
|
12
12
|
export { buildResourceGraphWithDeferredResolution, containsAlchemyPromises, createAlchemyReferenceResolver, createAlchemyResourceConfig, createAlchemyResourceConfigs, extractAlchemyPromises, hasMixedDependencies, isAlchemyPromise, isAlchemyResource, resolveAlchemyPromise, resolveAllReferences, resolveAllReferencesInAlchemyContext, resolveReferencesWithAlchemy, resolveTypeKroReferencesOnly, } from './resolver.js';
|
|
13
|
-
//
|
|
14
|
-
|
|
13
|
+
// Alchemy v2 KRO resource (declarative): instantiate `KroResource` in a Stack and merge
|
|
14
|
+
// `kroProvider` into the runtime's providers. Replaces the v1 imperative registration.
|
|
15
|
+
export { KRO_RESOURCE_TYPE, KroResource, kroProvider, materializeAlchemyResources, buildAlchemyDeploymentOptions, } from './resource-registration.js';
|
|
15
16
|
// Type inference
|
|
16
17
|
export { inferAlchemyTypeFromTypeKroResource } from './type-inference.js';
|
|
17
18
|
// Utility functions
|
|
18
19
|
export { createAlchemyResourceId } from './utilities.js';
|
|
19
20
|
// Wrapper utilities
|
|
20
|
-
export { generateDeterministicResourceId
|
|
21
|
+
export { generateDeterministicResourceId } from './wrapper.js';
|
|
21
22
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/alchemy/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,2BAA2B;AAC3B,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAG3E,uBAAuB;AACvB,OAAO,EACL,wCAAwC,EACxC,uBAAuB,EACvB,8BAA8B,EAC9B,2BAA2B,EAC3B,4BAA4B,EAC5B,sBAAsB,EACtB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,oCAAoC,EACpC,4BAA4B,EAC5B,4BAA4B,GAC7B,MAAM,eAAe,CAAC;AACvB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/alchemy/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,2BAA2B;AAC3B,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAG3E,uBAAuB;AACvB,OAAO,EACL,wCAAwC,EACxC,uBAAuB,EACvB,8BAA8B,EAC9B,2BAA2B,EAC3B,4BAA4B,EAC5B,sBAAsB,EACtB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,oCAAoC,EACpC,4BAA4B,EAC5B,4BAA4B,GAC7B,MAAM,eAAe,CAAC;AACvB,wFAAwF;AACxF,uFAAuF;AACvF,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,2BAA2B,EAC3B,6BAA6B,GAC9B,MAAM,4BAA4B,CAAC;AAIpC,iBAAiB;AACjB,OAAO,EAAE,mCAAmC,EAAE,MAAM,qBAAqB,CAAC;AAW1E,oBAAoB;AACpB,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,oBAAoB;AACpB,OAAO,EAAE,+BAA+B,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -1,38 +1,100 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Alchemy Resource
|
|
2
|
+
* Alchemy v2 KRO Resource Provider
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Exposes TypeKro KRO deploys as an alchemy **v2** custom resource. Under v2 a
|
|
5
|
+
* resource is declarative: callers instantiate `KroResource` inside their alchemy
|
|
6
|
+
* Stack and merge `kroProvider` (an Effect `Layer`) into their runtime's providers,
|
|
7
|
+
* so the deployed RGD/instance joins the caller's unified alchemy state (reverse-topo
|
|
8
|
+
* teardown + idempotent reconcile). This replaces the v1 (`alchemy@0.62`) integration,
|
|
9
|
+
* which dynamically registered per-kind providers in a global `PROVIDERS` registry and
|
|
10
|
+
* drove them imperatively via `scope.run(() => Provider(id, props))` — a model alchemy
|
|
11
|
+
* v2 does not have.
|
|
6
12
|
*
|
|
7
|
-
*
|
|
8
|
-
* and
|
|
13
|
+
* The Kubernetes machinery (`deployers`, `kro-delete`, client/deployer construction) is
|
|
14
|
+
* alchemy-version-agnostic and reused verbatim; only the registration glue changed.
|
|
9
15
|
*/
|
|
10
|
-
import {
|
|
11
|
-
import
|
|
16
|
+
import { Effect } from 'effect';
|
|
17
|
+
import * as ProviderMod from 'alchemy/Provider';
|
|
18
|
+
import * as ResourceMod from 'alchemy/Resource';
|
|
19
|
+
import type { Resource as ResourceT } from 'alchemy/Resource';
|
|
12
20
|
import type { DeploymentOptions } from '../core/types/deployment.js';
|
|
13
21
|
import type { Enhanced } from '../core/types/kubernetes.js';
|
|
14
22
|
import type { KroDeletionOptions } from './kro-delete.js';
|
|
15
|
-
import type { TypeKroResource, TypeKroResourceProps } from './types.js';
|
|
23
|
+
import type { AlchemyResourceDeclaration, TypeKroResource, TypeKroResourceProps } from './types.js';
|
|
24
|
+
/** The single alchemy v2 resource type for any TypeKro KRO resource (RGD or CR instance). */
|
|
25
|
+
export declare const KRO_RESOURCE_TYPE: "TypeKro.KroResource";
|
|
16
26
|
/**
|
|
17
|
-
*
|
|
27
|
+
* The v2 resource shape: `TypeKroResourceProps` are the (serializable) inputs alchemy
|
|
28
|
+
* persists + re-applies on reconcile; `TypeKroResource` is the deployed-state output.
|
|
29
|
+
*/
|
|
30
|
+
export type KroResourceR = ResourceT<typeof KRO_RESOURCE_TYPE, TypeKroResourceProps<Enhanced<unknown, unknown>>, TypeKroResource<Enhanced<unknown, unknown>>>;
|
|
31
|
+
/**
|
|
32
|
+
* The declarative v2 resource. Instantiate inside an alchemy Stack — one per RGD and one
|
|
33
|
+
* per CR instance — e.g. `yield* KroResource(rgdId, { resource, namespace, deploymentStrategy: 'kro', … })`.
|
|
34
|
+
* Order instances after their RGD (pass the RGD output through) so reverse-topo teardown
|
|
35
|
+
* removes instances before the shared RGD.
|
|
36
|
+
*/
|
|
37
|
+
export declare const KroResource: ResourceMod.ResourceClass<KroResourceR>;
|
|
38
|
+
/**
|
|
39
|
+
* The provider `Layer` that backs {@link KroResource}. Merge into the runtime's providers
|
|
40
|
+
* (alongside the cloud providers) so reconcile/delete run. `reconcile` is the single
|
|
41
|
+
* convergent create/update (apply the manifest, wait for readiness); `delete` performs the
|
|
42
|
+
* finalizer-safe, shared-RGD-aware teardown.
|
|
43
|
+
*/
|
|
44
|
+
export declare const kroProvider: import("effect/Layer").Layer<ProviderMod.Provider<KroResourceR>, never, never>;
|
|
45
|
+
/**
|
|
46
|
+
* Instantiate a set of {@link AlchemyResourceDeclaration}s (from a factory's `toAlchemyResources`)
|
|
47
|
+
* as `KroResource`s inside an alchemy Stack, wiring each declaration's `dependsOn` into alchemy
|
|
48
|
+
* `Output` dependencies. This is what gives the fan-out its **ordering** (alchemy deploys a
|
|
49
|
+
* resource only after every resource it `dependsOn` is ready) and, in direct mode, feeds each
|
|
50
|
+
* dependency's resolved live state into the dependent's reconcile for cross-resource reference
|
|
51
|
+
* resolution. Returns the map of declaration id → deployed output.
|
|
18
52
|
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
53
|
+
* ```ts
|
|
54
|
+
* // inside a Stack/generator:
|
|
55
|
+
* const outputs = yield* materializeAlchemyResources(KroResource, await factory.toAlchemyResources(spec));
|
|
56
|
+
* ```
|
|
57
|
+
*
|
|
58
|
+
* Declarations must be topologically ordered (as `toAlchemyResources` returns them) so each
|
|
59
|
+
* dependency's output exists before its dependents reference it.
|
|
60
|
+
*/
|
|
61
|
+
export declare function materializeAlchemyResources(kroResource: typeof KroResource, declarations: readonly AlchemyResourceDeclaration[]): Effect.Effect<Record<string, KroResourceR>, never, unknown>;
|
|
62
|
+
/** The live singleton owner as seen for a drift check. */
|
|
63
|
+
interface LiveSingletonOwner {
|
|
64
|
+
metadata?: {
|
|
65
|
+
annotations?: Record<string, string>;
|
|
66
|
+
};
|
|
67
|
+
spec?: unknown;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Pure drift verdict (no I/O) for a singleton instance being deployed, given:
|
|
71
|
+
* - `expectedFingerprint`: the spec-fingerprint annotation on the resource being deployed,
|
|
72
|
+
* - `deployingSpec`: that resource's spec,
|
|
73
|
+
* - `live`: the existing same-named owner on the cluster (or undefined if none).
|
|
74
|
+
*
|
|
75
|
+
* Mirrors the imperative `assertNoDeployedSingletonSpecDrift`, INCLUDING its fallback: an existing
|
|
76
|
+
* owner with NO fingerprint annotation (a legacy/unfingerprinted owner) is still verified by
|
|
77
|
+
* comparing serialized specs — so a different-spec legacy owner is NOT silently accepted.
|
|
21
78
|
*/
|
|
22
|
-
export declare function
|
|
79
|
+
export declare function singletonDriftVerdict(expectedFingerprint: string, deployingSpec: unknown, live: LiveSingletonOwner | undefined): {
|
|
80
|
+
drift: false;
|
|
81
|
+
} | {
|
|
82
|
+
drift: true;
|
|
83
|
+
reason: string;
|
|
84
|
+
};
|
|
23
85
|
declare function inferKroDeletionOptions<T extends Enhanced<unknown, unknown>>(props: TypeKroResourceProps<T>): KroDeletionOptions | undefined;
|
|
24
86
|
/** Internal test hook for legacy Alchemy KRO state rehydration. */
|
|
25
87
|
export declare const inferKroDeletionOptionsForTest: typeof inferKroDeletionOptions;
|
|
26
88
|
/**
|
|
27
|
-
*
|
|
89
|
+
* Delete: tear down a single KRO resource finalizer-safe. Under v2 reverse-topo teardown,
|
|
90
|
+
* CR instances are deleted before their RGD, so by the time an RGD's delete runs its
|
|
91
|
+
* instances are gone. If the deployer still defers an RGD delete (a shared RGD that other
|
|
92
|
+
* stacks' instances reference), we log and let alchemy drop the state entry — the orphaned
|
|
93
|
+
* RGD is cluster-scoped and dies with the cluster; it must not wedge the destroy.
|
|
28
94
|
*/
|
|
29
|
-
declare function
|
|
95
|
+
declare function deleteKroResource<T extends Enhanced<unknown, unknown>>(props: TypeKroResourceProps<T>): Promise<void>;
|
|
30
96
|
/** Internal test hook for deletion semantics. */
|
|
31
|
-
export declare const
|
|
97
|
+
export declare const deleteKroResourceForTest: typeof deleteKroResource;
|
|
32
98
|
export declare function buildAlchemyDeploymentOptions<T extends Enhanced<unknown, unknown>>(props: TypeKroResourceProps<T>): DeploymentOptions;
|
|
33
|
-
/**
|
|
34
|
-
* Clear the registered types cache (useful for testing)
|
|
35
|
-
*/
|
|
36
|
-
export declare function clearRegisteredTypes(): void;
|
|
37
99
|
export {};
|
|
38
100
|
//# sourceMappingURL=resource-registration.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-registration.d.ts","sourceRoot":"","sources":["../../src/alchemy/resource-registration.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"resource-registration.d.ts","sourceRoot":"","sources":["../../src/alchemy/resource-registration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,IAAI,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAS9D,OAAO,KAAK,EAAoB,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACvF,OAAO,KAAK,EAAE,QAAQ,EAAsB,MAAM,6BAA6B,CAAC;AAOhF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,KAAK,EACV,0BAA0B,EAG1B,eAAe,EACf,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAoBpB,6FAA6F;AAC7F,eAAO,MAAM,iBAAiB,EAAG,qBAA8B,CAAC;AAEhE;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,SAAS,CAClC,OAAO,iBAAiB,EACxB,oBAAoB,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,EAChD,eAAe,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAC5C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,WAAW,yCAAwD,CAAC;AAEjF;;;;;GAKG;AACH,eAAO,MAAM,WAAW,gFAgCvB,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,OAAO,WAAW,EAC/B,YAAY,EAAE,SAAS,0BAA0B,EAAE,+DAoCpD;AA8CD,0DAA0D;AAC1D,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IACpD,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,mBAAmB,EAAE,MAAM,EAC3B,aAAa,EAAE,OAAO,EACtB,IAAI,EAAE,kBAAkB,GAAG,SAAS,GACnC;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAYpD;AAsMD,iBAAS,uBAAuB,CAAC,CAAC,SAAS,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,EACnE,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAC7B,kBAAkB,GAAG,SAAS,CAqDhC;AAED,mEAAmE;AACnE,eAAO,MAAM,8BAA8B,gCAA0B,CAAC;AAoBtE;;;;;;GAMG;AACH,iBAAe,iBAAiB,CAAC,CAAC,SAAS,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,EACnE,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAC7B,OAAO,CAAC,IAAI,CAAC,CAsBf;AAED,iDAAiD;AACjD,eAAO,MAAM,wBAAwB,0BAAoB,CAAC;AA0C1D,wBAAgB,6BAA6B,CAAC,CAAC,SAAS,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,EAChF,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAC7B,iBAAiB,CAcnB"}
|