typekro 0.11.0 → 0.12.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.
Files changed (37) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/core/deployment/kro-factory.d.ts.map +1 -1
  3. package/dist/core/deployment/kro-factory.js +4 -0
  4. package/dist/core/deployment/kro-factory.js.map +1 -1
  5. package/dist/factories/dagster/compositions/dagster-bootstrap.d.ts +894 -0
  6. package/dist/factories/dagster/compositions/dagster-bootstrap.d.ts.map +1 -0
  7. package/dist/factories/dagster/compositions/dagster-bootstrap.js +75 -0
  8. package/dist/factories/dagster/compositions/dagster-bootstrap.js.map +1 -0
  9. package/dist/factories/dagster/compositions/index.d.ts +2 -0
  10. package/dist/factories/dagster/compositions/index.d.ts.map +1 -0
  11. package/dist/factories/dagster/compositions/index.js +2 -0
  12. package/dist/factories/dagster/compositions/index.js.map +1 -0
  13. package/dist/factories/dagster/index.d.ts +31 -0
  14. package/dist/factories/dagster/index.d.ts.map +1 -0
  15. package/dist/factories/dagster/index.js +31 -0
  16. package/dist/factories/dagster/index.js.map +1 -0
  17. package/dist/factories/dagster/resources/helm.d.ts +32 -0
  18. package/dist/factories/dagster/resources/helm.d.ts.map +1 -0
  19. package/dist/factories/dagster/resources/helm.js +60 -0
  20. package/dist/factories/dagster/resources/helm.js.map +1 -0
  21. package/dist/factories/dagster/resources/index.d.ts +2 -0
  22. package/dist/factories/dagster/resources/index.d.ts.map +1 -0
  23. package/dist/factories/dagster/resources/index.js +2 -0
  24. package/dist/factories/dagster/resources/index.js.map +1 -0
  25. package/dist/factories/dagster/types.d.ts +2048 -0
  26. package/dist/factories/dagster/types.d.ts.map +1 -0
  27. package/dist/factories/dagster/types.js +354 -0
  28. package/dist/factories/dagster/types.js.map +1 -0
  29. package/dist/factories/dagster/utils/helm-values-mapper.d.ts +21 -0
  30. package/dist/factories/dagster/utils/helm-values-mapper.d.ts.map +1 -0
  31. package/dist/factories/dagster/utils/helm-values-mapper.js +470 -0
  32. package/dist/factories/dagster/utils/helm-values-mapper.js.map +1 -0
  33. package/dist/factories/dagster/utils/index.d.ts +2 -0
  34. package/dist/factories/dagster/utils/index.d.ts.map +1 -0
  35. package/dist/factories/dagster/utils/index.js +2 -0
  36. package/dist/factories/dagster/utils/index.js.map +1 -0
  37. package/package.json +6 -1
@@ -0,0 +1,470 @@
1
+ /**
2
+ * Dagster Helm values mapper and validation.
3
+ *
4
+ * The mapper intentionally builds only Dagster chart values. Bootstrap-only
5
+ * fields such as `name`, `namespace`, chart version, and Flux repository names
6
+ * stay in TypeKro resource configuration and are never forwarded to Helm.
7
+ */
8
+ import { isValuesMergeExpression, mergeValuesExpression, } from '../../../core/aspects/values-merge.js';
9
+ import { TypeKroError } from '../../../core/errors.js';
10
+ import { Cel } from '../../../core/references/cel.js';
11
+ import { isCelExpression, isKubernetesRef } from '../../../utils/type-guards.js';
12
+ const DEFAULT_USER_DEPLOYMENT_PORT = 3030;
13
+ const DEFAULT_USER_DEPLOYMENT_PULL_POLICY = 'IfNotPresent';
14
+ const GRAPH_AWARE_DEEP_MERGE_SECTIONS = new Set([
15
+ 'global',
16
+ 'dagsterWebserver',
17
+ 'dagsterDaemon',
18
+ 'dagster-user-deployments',
19
+ 'postgresql',
20
+ 'runLauncher',
21
+ 'scheduler',
22
+ 'computeLogManager',
23
+ 'ingress',
24
+ 'flower',
25
+ 'rabbitmq',
26
+ 'redis',
27
+ ]);
28
+ /** Error thrown when typed Dagster configuration violates safety invariants. */
29
+ export class DagsterConfigurationValidationError extends TypeKroError {
30
+ constructor(code, message, context) {
31
+ super(message, code, context);
32
+ this.name = 'DagsterConfigurationError';
33
+ }
34
+ }
35
+ /** Validate cross-field Dagster config rules that ArkType cannot express alone. */
36
+ export function validateDagsterConfig(config) {
37
+ const issues = [];
38
+ validateUserDeployments(config, issues);
39
+ validateRunLauncher(config, issues);
40
+ validatePostgresql(config, issues);
41
+ return { valid: issues.length === 0, issues };
42
+ }
43
+ /** Map typed Dagster bootstrap config into official Dagster Helm chart values. */
44
+ export function mapDagsterConfigToHelmValues(config) {
45
+ const validation = validateDagsterConfig(config);
46
+ if (!validation.valid) {
47
+ const firstIssue = validation.issues[0];
48
+ throw new DagsterConfigurationValidationError(firstIssue?.code ?? 'DAGSTER_INVALID_CONFIG', `DagsterConfigurationError ${firstIssue?.code ?? 'DAGSTER_INVALID_CONFIG'}: ${validation.issues
49
+ .map((issue) => issue.path)
50
+ .join(', ')}`, { name: config.name, issues: validation.issues });
51
+ }
52
+ const values = {};
53
+ setIfDefined(values, 'nameOverride', config.nameOverride);
54
+ setIfDefined(values, 'fullnameOverride', config.fullnameOverride);
55
+ setIfDefined(values, 'rbacEnabled', config.rbacEnabled);
56
+ setIfDefined(values, 'imagePullSecrets', copyDefinedArray(config.imagePullSecrets));
57
+ mergeGlobalValues(values, config);
58
+ setIfDefined(values, 'dagsterWebserver', mapWebserverConfig(config.webserver));
59
+ setIfDefined(values, 'dagsterDaemon', mapDaemonConfig(config.daemon));
60
+ setIfDefined(values, 'dagster-user-deployments', mapUserDeployments(config));
61
+ mapPostgresql(values, config);
62
+ setIfDefined(values, 'runLauncher', mapRunLauncher(config));
63
+ setIfDefined(values, 'scheduler', copyDefinedObject(config.scheduler));
64
+ setIfDefined(values, 'computeLogManager', copyDefinedObject(config.computeLogManager));
65
+ setIfDefined(values, 'ingress', copyDefinedObject(config.ingress));
66
+ setIfDefined(values, 'flower', copyDefinedObject(config.flower));
67
+ setIfDefined(values, 'rabbitmq', mapRabbitmq(config));
68
+ setIfDefined(values, 'redis', mapRedis(config));
69
+ const generateCeleryConfigSecret = falseWhenValuePresent(config.global?.celeryConfigSecretName, 'schema.spec.global.celeryConfigSecretName');
70
+ setIfDefined(values, 'generateCeleryConfigSecret', generateCeleryConfigSecret);
71
+ return mergeRawValuesLast(values, config.values);
72
+ }
73
+ function validateUserDeployments(config, issues) {
74
+ const deployments = config.userDeployments?.deployments;
75
+ if (!Array.isArray(deployments))
76
+ return;
77
+ deployments.forEach((deployment, index) => {
78
+ const hasGrpcArgs = hasNonEmptyArray(deployment.dagsterApiGrpcArgs);
79
+ const hasCodeServerArgs = hasNonEmptyArray(deployment.codeServerArgs);
80
+ if (hasGrpcArgs === hasCodeServerArgs) {
81
+ issues.push({
82
+ code: 'DAGSTER_REQUIRED_CONFIG_MISSING',
83
+ path: `userDeployments.deployments[${index}]`,
84
+ component: 'userDeployments',
85
+ message: 'Each typed Dagster user deployment must set exactly one server argument field.',
86
+ });
87
+ }
88
+ });
89
+ }
90
+ function validateRunLauncher(config, issues) {
91
+ if (config.runLauncher?.type !== 'CeleryK8sRunLauncher')
92
+ return;
93
+ const hasRabbitmq = config.rabbitmq?.enabled === true;
94
+ const hasRedis = config.redis?.enabled === true ||
95
+ config.redis?.internal === true ||
96
+ !!config.redis?.host ||
97
+ !!config.redis?.brokerUrl ||
98
+ !!config.redis?.backendUrl;
99
+ const hasSecret = !!config.global?.celeryConfigSecretName;
100
+ const hasRawCeleryConfig = hasRawPath(config.values, 'runLauncher') || hasRawPath(config.values, 'redis');
101
+ if (!hasRabbitmq && !hasRedis && !hasSecret && !hasRawCeleryConfig) {
102
+ issues.push({
103
+ code: 'DAGSTER_REQUIRED_CONFIG_MISSING',
104
+ path: 'runLauncher.celeryK8sRunLauncher',
105
+ component: 'runLauncher',
106
+ message: 'CeleryK8sRunLauncher requires RabbitMQ, Redis, or explicit raw Celery config.',
107
+ });
108
+ }
109
+ }
110
+ function validatePostgresql(config, issues) {
111
+ if (config.postgresql?.enabled !== false)
112
+ return;
113
+ if (config.postgresql.host || hasRawPath(config.values, 'postgresql'))
114
+ return;
115
+ issues.push({
116
+ code: 'DAGSTER_REQUIRED_CONFIG_MISSING',
117
+ path: 'postgresql.host',
118
+ component: 'postgresql',
119
+ message: 'External PostgreSQL config requires a host or raw chart PostgreSQL values.',
120
+ });
121
+ }
122
+ function mergeGlobalValues(values, config) {
123
+ const globalValues = mapGlobalConfig(config.global) ?? {};
124
+ overlayGlobalValue(globalValues, 'serviceAccountName', config.serviceAccountName, 'schema.spec.serviceAccountName', 'schema.spec.global.serviceAccountName');
125
+ overlayGlobalValue(globalValues, 'postgresqlSecretName', config.postgresql?.passwordSecretName, 'schema.spec.postgresql.passwordSecretName', 'schema.spec.global.postgresqlSecretName');
126
+ if (Object.keys(globalValues).length > 0) {
127
+ values.global = globalValues;
128
+ }
129
+ }
130
+ function overlayGlobalValue(target, key, overlayValue, overlayPath, fallbackPath) {
131
+ const fallbackValue = target[key];
132
+ if (overlayValue === undefined)
133
+ return;
134
+ if (isGraphAwareValue(overlayValue) || isValuesMergeExpression(overlayValue)) {
135
+ target[key] = Cel.expr(`${hasSchemaPath(overlayPath)} ? ${overlayPath} : ${hasSchemaPath(fallbackPath)} ? ${fallbackPath} : omit()`);
136
+ return;
137
+ }
138
+ if (fallbackValue !== undefined || overlayValue !== undefined) {
139
+ target[key] = overlayValue;
140
+ }
141
+ }
142
+ function mapGlobalConfig(global) {
143
+ if (!global)
144
+ return undefined;
145
+ if (!isGraphAwareValue(global))
146
+ return copyDefinedObject(global);
147
+ const mapped = {};
148
+ setIfDefined(mapped, 'dagsterHome', global.dagsterHome);
149
+ setIfDefined(mapped, 'serviceAccountName', global.serviceAccountName);
150
+ setIfDefined(mapped, 'postgresqlSecretName', global.postgresqlSecretName);
151
+ setIfDefined(mapped, 'postgresqlAuthWifEnabled', global.postgresqlAuthWifEnabled);
152
+ setIfDefined(mapped, 'celeryConfigSecretName', global.celeryConfigSecretName);
153
+ setIfDefined(mapped, 'dagsterInstanceConfigMap', global.dagsterInstanceConfigMap);
154
+ return mapped;
155
+ }
156
+ function mapWebserverConfig(webserver) {
157
+ if (!webserver)
158
+ return undefined;
159
+ if (!isGraphAwareValue(webserver))
160
+ return copyDefinedObject(webserver);
161
+ const mapped = {};
162
+ setIfDefined(mapped, 'replicaCount', webserver.replicaCount);
163
+ setIfDefined(mapped, 'image', copyDefinedObject(webserver.image));
164
+ setIfDefined(mapped, 'service', copyDefinedObject(webserver.service));
165
+ setIfDefined(mapped, 'pathPrefix', webserver.pathPrefix);
166
+ setIfDefined(mapped, 'enableReadOnly', webserver.enableReadOnly);
167
+ setIfDefined(mapped, 'logFormat', webserver.logFormat);
168
+ setIfDefined(mapped, 'logLevel', webserver.logLevel);
169
+ setIfDefined(mapped, 'workspace', copyDefinedObject(webserver.workspace));
170
+ setIfDefined(mapped, 'readinessProbe', copyDefinedObject(webserver.readinessProbe));
171
+ setIfDefined(mapped, 'livenessProbe', copyDefinedObject(webserver.livenessProbe));
172
+ setIfDefined(mapped, 'startupProbe', copyDefinedObject(webserver.startupProbe));
173
+ mapPodConfig(mapped, webserver);
174
+ return mapped;
175
+ }
176
+ function mapDaemonConfig(daemon) {
177
+ if (!daemon)
178
+ return undefined;
179
+ if (!isGraphAwareValue(daemon))
180
+ return copyDefinedObject(daemon);
181
+ const mapped = {};
182
+ setIfDefined(mapped, 'enabled', daemon.enabled);
183
+ setIfDefined(mapped, 'image', copyDefinedObject(daemon.image));
184
+ setIfDefined(mapped, 'heartbeatTolerance', daemon.heartbeatTolerance);
185
+ setIfDefined(mapped, 'logFormat', daemon.logFormat);
186
+ setIfDefined(mapped, 'runCoordinator', copyDefinedObject(daemon.runCoordinator));
187
+ setIfDefined(mapped, 'runMonitoring', copyDefinedObject(daemon.runMonitoring));
188
+ setIfDefined(mapped, 'runRetries', copyDefinedObject(daemon.runRetries));
189
+ setIfDefined(mapped, 'sensors', copyDefinedObject(daemon.sensors));
190
+ setIfDefined(mapped, 'schedules', copyDefinedObject(daemon.schedules));
191
+ mapPodConfig(mapped, daemon);
192
+ return mapped;
193
+ }
194
+ function mapPodConfig(target, podConfig) {
195
+ setIfDefined(target, 'labels', podConfig.labels);
196
+ setIfDefined(target, 'nodeSelector', podConfig.nodeSelector);
197
+ setIfDefined(target, 'affinity', copyDefinedObject(podConfig.affinity));
198
+ setIfDefined(target, 'tolerations', copyDefinedArray(podConfig.tolerations));
199
+ setIfDefined(target, 'resources', copyDefinedObject(podConfig.resources));
200
+ setIfDefined(target, 'podSecurityContext', copyDefinedObject(podConfig.podSecurityContext));
201
+ setIfDefined(target, 'securityContext', copyDefinedObject(podConfig.securityContext));
202
+ setIfDefined(target, 'volumes', copyDefinedArray(podConfig.volumes));
203
+ setIfDefined(target, 'volumeMounts', copyDefinedArray(podConfig.volumeMounts));
204
+ setIfDefined(target, 'env', copyDefinedArray(podConfig.env));
205
+ setIfDefined(target, 'envConfigMaps', copyDefinedArray(podConfig.envConfigMaps));
206
+ setIfDefined(target, 'envSecrets', copyDefinedArray(podConfig.envSecrets));
207
+ }
208
+ function mapUserDeployments(config) {
209
+ const userDeployments = config.userDeployments;
210
+ if (!userDeployments)
211
+ return undefined;
212
+ const mapped = {};
213
+ setIfDefined(mapped, 'enabled', userDeployments.enabled);
214
+ setIfDefined(mapped, 'enableSubchart', userDeployments.enableSubchart ?? true);
215
+ setIfDefined(mapped, 'imagePullSecrets', copyDefinedArray(userDeployments.imagePullSecrets));
216
+ const deployments = userDeployments.deployments;
217
+ if (Array.isArray(deployments)) {
218
+ mapped.deployments = deployments.map(mapUserDeployment);
219
+ }
220
+ else {
221
+ setIfDefined(mapped, 'deployments', copyDefinedArray(deployments));
222
+ }
223
+ return mapped;
224
+ }
225
+ function mapUserDeployment(deployment) {
226
+ const mapped = copyDefinedObject(deployment) ?? {};
227
+ setIfDefined(mapped, 'port', deployment.port ?? DEFAULT_USER_DEPLOYMENT_PORT);
228
+ mapped.image = mapUserDeploymentImage(deployment.image);
229
+ return mapped;
230
+ }
231
+ function mapUserDeploymentImage(image) {
232
+ return {
233
+ ...copyDefinedObject(image),
234
+ pullPolicy: image.pullPolicy ?? DEFAULT_USER_DEPLOYMENT_PULL_POLICY,
235
+ };
236
+ }
237
+ function mapPostgresql(values, config) {
238
+ const postgresql = config.postgresql;
239
+ if (!postgresql)
240
+ return;
241
+ const mapped = {};
242
+ setIfDefined(mapped, 'enabled', postgresql.enabled);
243
+ setIfDefined(mapped, 'postgresqlHost', postgresql.host);
244
+ setIfDefined(mapped, 'postgresqlUsername', postgresql.username);
245
+ setIfDefined(mapped, 'postgresqlDatabase', postgresql.database);
246
+ setIfDefined(mapped, 'postgresqlPassword', postgresql.password);
247
+ setIfDefined(mapped, 'postgresqlParams', postgresql.params);
248
+ setIfDefined(mapped, 'postgresqlScheme', postgresql.scheme);
249
+ setIfDefined(mapped, 'authProvider', copyDefinedObject(postgresql.authProvider));
250
+ if (postgresql.servicePort !== undefined) {
251
+ mapped.service = { port: postgresql.servicePort };
252
+ }
253
+ const mappedWithSubValues = mergeSubValues(mapped, postgresql.values);
254
+ if (isEmittableValue(mappedWithSubValues)) {
255
+ setIfDefined(values, 'postgresql', mappedWithSubValues);
256
+ }
257
+ const generatePostgresqlPasswordSecret = falseWhenValuePresent(postgresql.passwordSecretName, 'schema.spec.postgresql.passwordSecretName');
258
+ setIfDefined(values, 'generatePostgresqlPasswordSecret', generatePostgresqlPasswordSecret);
259
+ }
260
+ function mapRunLauncher(config) {
261
+ const runLauncher = config.runLauncher;
262
+ if (!runLauncher)
263
+ return undefined;
264
+ const mapped = {};
265
+ setIfDefined(mapped, 'type', runLauncher.type);
266
+ const launcherConfig = {};
267
+ setIfDefined(launcherConfig, 'k8sRunLauncher', copyDefinedObject(runLauncher.k8sRunLauncher));
268
+ setIfDefined(launcherConfig, 'celeryK8sRunLauncher', copyDefinedObject(runLauncher.celeryK8sRunLauncher));
269
+ setIfDefined(launcherConfig, 'customRunLauncher', copyDefinedObject(runLauncher.customRunLauncher));
270
+ if (Object.keys(launcherConfig).length > 0) {
271
+ mapped.config = launcherConfig;
272
+ }
273
+ return mapped;
274
+ }
275
+ function mapRabbitmq(config) {
276
+ const rabbitmq = config.rabbitmq;
277
+ if (!rabbitmq)
278
+ return undefined;
279
+ const mapped = {};
280
+ setIfDefined(mapped, 'enabled', rabbitmq.enabled);
281
+ setIfDefined(mapped, 'image', copyDefinedObject(rabbitmq.image));
282
+ const rabbitmqCredentials = {};
283
+ setIfDefined(rabbitmqCredentials, 'username', rabbitmq.username);
284
+ setIfDefined(rabbitmqCredentials, 'password', rabbitmq.password);
285
+ if (Object.keys(rabbitmqCredentials).length > 0) {
286
+ mapped.rabbitmq = rabbitmqCredentials;
287
+ }
288
+ if (rabbitmq.servicePort !== undefined) {
289
+ mapped.service = { port: rabbitmq.servicePort };
290
+ }
291
+ return mergeSubValues(mapped, rabbitmq.values);
292
+ }
293
+ function mapRedis(config) {
294
+ const redis = config.redis;
295
+ if (!redis)
296
+ return undefined;
297
+ const mapped = {};
298
+ setIfDefined(mapped, 'enabled', redis.enabled);
299
+ setIfDefined(mapped, 'internal', redis.internal);
300
+ setIfDefined(mapped, 'image', copyDefinedObject(redis.image));
301
+ setIfDefined(mapped, 'usePassword', redis.usePassword);
302
+ setIfDefined(mapped, 'password', redis.password);
303
+ setIfDefined(mapped, 'host', redis.host);
304
+ setIfDefined(mapped, 'port', redis.port);
305
+ setIfDefined(mapped, 'brokerDbNumber', redis.brokerDbNumber);
306
+ setIfDefined(mapped, 'backendDbNumber', redis.backendDbNumber);
307
+ setIfDefined(mapped, 'brokerUrl', redis.brokerUrl);
308
+ setIfDefined(mapped, 'backendUrl', redis.backendUrl);
309
+ return mergeSubValues(mapped, redis.values);
310
+ }
311
+ function mergeSubValues(mapped, values) {
312
+ if (values === undefined)
313
+ return mapped;
314
+ if (isKubernetesRef(values) || isCelExpression(values) || isValuesMergeExpression(values)) {
315
+ return mergeValuesExpression(mapped, values);
316
+ }
317
+ const subValues = asValueObject(values);
318
+ if (subValues) {
319
+ deepMerge(mapped, subValues);
320
+ }
321
+ return mapped;
322
+ }
323
+ function isEmittableValue(value) {
324
+ if (isValuesMergeExpression(value) || isKubernetesRef(value) || isCelExpression(value))
325
+ return true;
326
+ return !isMergeObject(value) || Object.keys(value).length > 0;
327
+ }
328
+ function hasRawPath(values, key) {
329
+ const rawValues = asValueObject(values);
330
+ return rawValues ? rawValues[key] !== undefined : false;
331
+ }
332
+ function hasNonEmptyArray(value) {
333
+ return Array.isArray(value) && value.length > 0;
334
+ }
335
+ function setIfDefined(target, key, value) {
336
+ if (value !== undefined) {
337
+ target[key] = value;
338
+ }
339
+ }
340
+ function copyDefinedObject(source) {
341
+ if (!source)
342
+ return undefined;
343
+ if (!isMergeObject(source))
344
+ return source;
345
+ const result = {};
346
+ for (const [key, value] of Object.entries(source)) {
347
+ if (value === undefined)
348
+ continue;
349
+ if (Array.isArray(value)) {
350
+ result[key] = copyDefinedArray(value);
351
+ }
352
+ else if (isMergeObject(value)) {
353
+ const nested = copyDefinedObject(value);
354
+ if (nested && Object.keys(nested).length > 0) {
355
+ result[key] = nested;
356
+ }
357
+ }
358
+ else {
359
+ result[key] = value;
360
+ }
361
+ }
362
+ return result;
363
+ }
364
+ function copyDefinedArray(values) {
365
+ if (!values)
366
+ return undefined;
367
+ if (isKubernetesRef(values)) {
368
+ return values;
369
+ }
370
+ if (isCelExpression(values)) {
371
+ return values;
372
+ }
373
+ return values.map((value) => {
374
+ if (Array.isArray(value))
375
+ return copyDefinedArray(value) ?? [];
376
+ if (isMergeObject(value))
377
+ return copyDefinedObject(value) ?? {};
378
+ return value;
379
+ });
380
+ }
381
+ function deepMerge(target, source) {
382
+ const runtimeTarget = target;
383
+ for (const [key, sourceValue] of Object.entries(source)) {
384
+ if (key === '__proto__' || key === 'constructor' || key === 'prototype')
385
+ continue;
386
+ const targetValue = runtimeTarget[key];
387
+ if (isMergeObject(targetValue) && isMergeObject(sourceValue)) {
388
+ deepMerge(targetValue, sourceValue);
389
+ }
390
+ else {
391
+ runtimeTarget[key] = mergeValue(key, targetValue, sourceValue);
392
+ }
393
+ }
394
+ }
395
+ function mergeValue(key, baseValue, overlayValue) {
396
+ if (baseValue === undefined)
397
+ return overlayValue;
398
+ if (overlayValue === undefined)
399
+ return baseValue;
400
+ if ((isGraphAwareValue(baseValue) &&
401
+ isGraphAwareValue(overlayValue) &&
402
+ shouldDeepMergeGraphAwareSection(key)) ||
403
+ (isGraphAwareValue(baseValue) && isMergeObject(overlayValue)) ||
404
+ (isMergeObject(baseValue) && isGraphAwareValue(overlayValue)) ||
405
+ isValuesMergeExpression(baseValue) ||
406
+ isValuesMergeExpression(overlayValue)) {
407
+ return mergeValuesExpression(baseValue, overlayValue);
408
+ }
409
+ return overlayValue;
410
+ }
411
+ function shouldDeepMergeGraphAwareSection(key) {
412
+ return GRAPH_AWARE_DEEP_MERGE_SECTIONS.has(key);
413
+ }
414
+ function asValueObject(value) {
415
+ return isMergeObject(value) ? value : undefined;
416
+ }
417
+ function mergeRawValuesLast(baseValues, rawValues) {
418
+ if (rawValues === undefined)
419
+ return baseValues;
420
+ if (isKubernetesRef(rawValues) || isCelExpression(rawValues) || isValuesMergeExpression(rawValues)) {
421
+ return createDagsterValuesMerge(baseValues, rawValues);
422
+ }
423
+ const rawValueObject = asValueObject(rawValues);
424
+ if (rawValueObject) {
425
+ deepMerge(baseValues, rawValueObject);
426
+ }
427
+ return baseValues;
428
+ }
429
+ function createDagsterValuesMerge(baseValues, rawValues) {
430
+ if (!isKubernetesRef(rawValues) && !isCelExpression(rawValues) && !isValuesMergeExpression(rawValues)) {
431
+ throw new DagsterConfigurationValidationError('DAGSTER_INVALID_CONFIG', 'DagsterConfigurationError DAGSTER_INVALID_CONFIG: values', {
432
+ issues: [
433
+ {
434
+ code: 'DAGSTER_INVALID_CONFIG',
435
+ path: 'values',
436
+ message: 'Graph-aware raw values merge requires a KubernetesRef, CEL expression, or values merge expression.',
437
+ },
438
+ ],
439
+ });
440
+ }
441
+ return mergeValuesExpression(baseValues, rawValues);
442
+ }
443
+ function falseWhenValuePresent(value, schemaPath) {
444
+ if (value === undefined)
445
+ return undefined;
446
+ if (isGraphAwareValue(value) || isValuesMergeExpression(value)) {
447
+ return Cel.expr(`${hasSchemaPath(schemaPath)} ? false : omit()`);
448
+ }
449
+ return false;
450
+ }
451
+ function hasSchemaPath(path) {
452
+ const parts = path.split('.');
453
+ const guards = [];
454
+ for (let index = 2; index < parts.length; index++) {
455
+ guards.push(`has(${parts.slice(0, index + 1).join('.')})`);
456
+ }
457
+ return guards.join(' && ');
458
+ }
459
+ function isGraphAwareValue(value) {
460
+ return isKubernetesRef(value) || isCelExpression(value);
461
+ }
462
+ function isMergeObject(value) {
463
+ return (!!value &&
464
+ typeof value === 'object' &&
465
+ !Array.isArray(value) &&
466
+ !isKubernetesRef(value) &&
467
+ !isCelExpression(value) &&
468
+ !isValuesMergeExpression(value));
469
+ }
470
+ //# sourceMappingURL=helm-values-mapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helm-values-mapper.js","sourceRoot":"","sources":["../../../../src/factories/dagster/utils/helm-values-mapper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './helm-values-mapper.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/factories/dagster/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './helm-values-mapper.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/factories/dagster/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typekro",
3
- "version": "0.11.0",
3
+ "version": "0.12.0",
4
4
  "description": "A control plane aware framework for orchestrating kubernetes resources like a programmer.",
5
5
  "type": "module",
6
6
  "repository": {
@@ -62,6 +62,10 @@
62
62
  "import": "./dist/factories/inngest/index.js",
63
63
  "types": "./dist/factories/inngest/index.d.ts"
64
64
  },
65
+ "./dagster": {
66
+ "import": "./dist/factories/dagster/index.js",
67
+ "types": "./dist/factories/dagster/index.d.ts"
68
+ },
65
69
  "./pebble": {
66
70
  "import": "./dist/factories/pebble/index.js",
67
71
  "types": "./dist/factories/pebble/index.d.ts"
@@ -109,6 +113,7 @@
109
113
  "test:watch": "bun test --watch --timeout 10000 $(find test -name '*.test.ts' | grep -v integration)",
110
114
  "test:all": "bun run test && bun run test:integration:all",
111
115
  "test:integration": "./scripts/run-integration-tests.sh",
116
+ "test:integration:dagster": "bun test test/integration/dagster/bootstrap-composition.test.ts --timeout 900000",
112
117
  "test:integration:required": "REQUIRE_CLUSTER_TESTS=true ./scripts/run-integration-tests.sh",
113
118
  "test:integration:debug": "DEBUG_MODE=true ./scripts/run-integration-tests.sh",
114
119
  "typecheck": "bun run typecheck:lib && bun run typecheck:examples && bun run typecheck:tests",