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 @@
1
+ {"version":3,"file":"dagster-bootstrap.d.ts","sourceRoot":"","sources":["../../../../src/factories/dagster/compositions/dagster-bootstrap.ts"],"names":[],"mappings":"AAmBA;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyE5B,CAAC"}
@@ -0,0 +1,75 @@
1
+ import { kubernetesComposition } from '../../../core/composition/imperative.js';
2
+ import { DEFAULT_FLUX_NAMESPACE } from '../../../core/config/defaults.js';
3
+ import { Cel } from '../../../core/references/cel.js';
4
+ import { namespace } from '../../kubernetes/core/namespace.js';
5
+ import { DEFAULT_DAGSTER_REPO_NAME, DEFAULT_DAGSTER_VERSION, dagsterHelmRelease, dagsterHelmRepository, } from '../resources/helm.js';
6
+ import { DagsterBootstrapConfigSchema, DagsterBootstrapStatusSchema, } from '../types.js';
7
+ import { mapDagsterConfigToHelmValues } from '../utils/helm-values-mapper.js';
8
+ /**
9
+ * High-level Dagster bootstrap composition.
10
+ *
11
+ * Creates the target Namespace, official Dagster HelmRepository, and Dagster
12
+ * HelmRelease. Status is derived only from owned Flux Helm resources.
13
+ */
14
+ export const dagsterBootstrap = kubernetesComposition({
15
+ name: 'dagster-bootstrap',
16
+ kind: 'DagsterBootstrap',
17
+ spec: DagsterBootstrapConfigSchema,
18
+ status: DagsterBootstrapStatusSchema,
19
+ }, (spec) => {
20
+ const resolvedNamespace = spec.namespace || 'dagster';
21
+ const resolvedVersion = spec.version || DEFAULT_DAGSTER_VERSION;
22
+ const repositoryName = spec.repositoryName || DEFAULT_DAGSTER_REPO_NAME;
23
+ const repositoryNamespace = spec.repositoryNamespace || DEFAULT_FLUX_NAMESPACE;
24
+ const helmValues = buildHelmValues(spec);
25
+ const _dagsterNamespace = namespace({
26
+ metadata: {
27
+ name: resolvedNamespace,
28
+ labels: {
29
+ 'app.kubernetes.io/name': 'dagster',
30
+ 'app.kubernetes.io/instance': spec.name,
31
+ 'app.kubernetes.io/version': resolvedVersion,
32
+ 'app.kubernetes.io/managed-by': 'typekro',
33
+ },
34
+ },
35
+ id: 'dagsterNamespace',
36
+ });
37
+ const _dagsterHelmRepository = dagsterHelmRepository({
38
+ name: repositoryName,
39
+ namespace: repositoryNamespace,
40
+ id: 'dagsterHelmRepository',
41
+ });
42
+ const _dagsterHelmRelease = dagsterHelmRelease({
43
+ name: spec.name,
44
+ namespace: resolvedNamespace,
45
+ version: resolvedVersion,
46
+ repositoryName,
47
+ repositoryNamespace,
48
+ values: helmValues,
49
+ id: 'dagsterHelmRelease',
50
+ });
51
+ const helmRepositoryReady = Cel.expr(_dagsterHelmRepository.status.conditions, '.exists(c, c.type == "Ready" && c.status == "True")');
52
+ const helmReleaseReady = Cel.expr(_dagsterHelmRelease.status.conditions, '.exists(c, c.type == "Ready" && c.status == "True")');
53
+ return {
54
+ ready: helmReleaseReady,
55
+ phase: Cel.expr('dagsterHelmRelease.status.conditions.exists(c, c.type == "Ready" && c.status == "False") ' +
56
+ '? "Failed" : dagsterHelmRelease.status.conditions.exists(c, c.type == "Ready" && ' +
57
+ 'c.status == "True") ? "Ready" : "Installing"'),
58
+ failed: Cel.expr(_dagsterHelmRelease.status.conditions, '.exists(c, c.type == "Ready" && c.status == "False")'),
59
+ version: resolvedVersion,
60
+ components: {
61
+ helmRepository: helmRepositoryReady,
62
+ helmRelease: helmReleaseReady,
63
+ webserver: helmReleaseReady,
64
+ daemon: helmReleaseReady,
65
+ userDeployments: helmReleaseReady,
66
+ },
67
+ };
68
+ });
69
+ function buildHelmValues(spec) {
70
+ return mapDagsterConfigToHelmValues(buildMapperConfig(spec));
71
+ }
72
+ function buildMapperConfig(spec) {
73
+ return Object.assign({ name: spec.name }, spec.namespace !== undefined && { namespace: spec.namespace }, spec.version !== undefined && { version: spec.version }, spec.repositoryName !== undefined && { repositoryName: spec.repositoryName }, spec.repositoryNamespace !== undefined && { repositoryNamespace: spec.repositoryNamespace }, spec.serviceAccountName !== undefined && { serviceAccountName: spec.serviceAccountName }, spec.nameOverride !== undefined && { nameOverride: spec.nameOverride }, spec.fullnameOverride !== undefined && { fullnameOverride: spec.fullnameOverride }, spec.rbacEnabled !== undefined && { rbacEnabled: spec.rbacEnabled }, spec.imagePullSecrets !== undefined && { imagePullSecrets: spec.imagePullSecrets }, spec.webserver !== undefined && { webserver: spec.webserver }, spec.daemon !== undefined && { daemon: spec.daemon }, spec.userDeployments !== undefined && { userDeployments: spec.userDeployments }, spec.postgresql !== undefined && { postgresql: spec.postgresql }, spec.runLauncher !== undefined && { runLauncher: spec.runLauncher }, spec.scheduler !== undefined && { scheduler: spec.scheduler }, spec.computeLogManager !== undefined && { computeLogManager: spec.computeLogManager }, spec.ingress !== undefined && { ingress: spec.ingress }, spec.flower !== undefined && { flower: spec.flower }, spec.rabbitmq !== undefined && { rabbitmq: spec.rabbitmq }, spec.redis !== undefined && { redis: spec.redis }, spec.global !== undefined && { global: spec.global }, spec.values !== undefined && { values: spec.values });
74
+ }
75
+ //# sourceMappingURL=dagster-bootstrap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dagster-bootstrap.js","sourceRoot":"","sources":["../../../../src/factories/dagster/compositions/dagster-bootstrap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './dagster-bootstrap.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/factories/dagster/compositions/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './dagster-bootstrap.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/factories/dagster/compositions/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Dagster Integration for TypeKro.
3
+ *
4
+ * Provides type-safe deployment primitives for Dagster OSS on Kubernetes via
5
+ * the official Dagster Helm chart.
6
+ *
7
+ * ## Resources
8
+ * - `dagsterHelmRepository()` - official Dagster Helm chart repository
9
+ * - `dagsterHelmRelease()` - Dagster deployment via Flux HelmRelease
10
+ *
11
+ * ## Compositions
12
+ * - `dagsterBootstrap` - complete Dagster deployment using Namespace, HelmRepository, and HelmRelease
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * import { dagsterBootstrap } from 'typekro/dagster';
17
+ *
18
+ * const factory = dagsterBootstrap.factory('kro', {
19
+ * namespace: 'dagster',
20
+ * });
21
+ * ```
22
+ *
23
+ * @see https://dagster.io/
24
+ * @see https://github.com/dagster-io/dagster/tree/master/helm/dagster
25
+ * @module
26
+ */
27
+ export * from './compositions/index.js';
28
+ export * from './resources/index.js';
29
+ export * from './types.js';
30
+ export * from './utils/index.js';
31
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/factories/dagster/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Dagster Integration for TypeKro.
3
+ *
4
+ * Provides type-safe deployment primitives for Dagster OSS on Kubernetes via
5
+ * the official Dagster Helm chart.
6
+ *
7
+ * ## Resources
8
+ * - `dagsterHelmRepository()` - official Dagster Helm chart repository
9
+ * - `dagsterHelmRelease()` - Dagster deployment via Flux HelmRelease
10
+ *
11
+ * ## Compositions
12
+ * - `dagsterBootstrap` - complete Dagster deployment using Namespace, HelmRepository, and HelmRelease
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * import { dagsterBootstrap } from 'typekro/dagster';
17
+ *
18
+ * const factory = dagsterBootstrap.factory('kro', {
19
+ * namespace: 'dagster',
20
+ * });
21
+ * ```
22
+ *
23
+ * @see https://dagster.io/
24
+ * @see https://github.com/dagster-io/dagster/tree/master/helm/dagster
25
+ * @module
26
+ */
27
+ export * from './compositions/index.js';
28
+ export * from './resources/index.js';
29
+ export * from './types.js';
30
+ export * from './utils/index.js';
31
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/factories/dagster/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Dagster Helm resource factories.
3
+ *
4
+ * These wrappers apply official Dagster chart defaults while delegating resource
5
+ * construction and graph-aware Helm values serialization to TypeKro's generic
6
+ * Flux Helm factories.
7
+ */
8
+ import type { Composable, Enhanced } from '../../../core/types/index.js';
9
+ import { type HelmRepositorySpec, type HelmRepositoryStatus } from '../../helm/helm-repository.js';
10
+ import type { HelmReleaseSpec, HelmReleaseStatus } from '../../helm/types.js';
11
+ import type { DagsterHelmReleaseConfig, DagsterHelmRepositoryConfig, DagsterHelmValues } from '../types.js';
12
+ /** Default official Dagster Helm repository URL. */
13
+ export declare const DEFAULT_DAGSTER_REPO_URL = "https://dagster-io.github.io/helm";
14
+ /** Default Flux HelmRepository name for the official Dagster chart. */
15
+ export declare const DEFAULT_DAGSTER_REPO_NAME = "dagster";
16
+ /** Default official Dagster Helm chart version selected by the approved plan. */
17
+ export declare const DEFAULT_DAGSTER_VERSION = "1.13.8";
18
+ /**
19
+ * Create a Flux HelmRepository for the official Dagster Helm chart repository.
20
+ *
21
+ * @param config - Repository configuration with Dagster defaults
22
+ * @returns Enhanced HelmRepository resource
23
+ */
24
+ export declare function dagsterHelmRepository(config: Composable<DagsterHelmRepositoryConfig>): Enhanced<HelmRepositorySpec, HelmRepositoryStatus>;
25
+ /**
26
+ * Create a Flux HelmRelease for Dagster using the official chart defaults.
27
+ *
28
+ * @param config - Release configuration with Dagster defaults
29
+ * @returns Enhanced HelmRelease resource
30
+ */
31
+ export declare function dagsterHelmRelease(config: Composable<DagsterHelmReleaseConfig>): Enhanced<HelmReleaseSpec<DagsterHelmValues>, HelmReleaseStatus>;
32
+ //# sourceMappingURL=helm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helm.d.ts","sourceRoot":"","sources":["../../../../src/factories/dagster/resources/helm.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAGL,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EAC1B,MAAM,+BAA+B,CAAC;AAGvC,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,KAAK,EACV,wBAAwB,EACxB,2BAA2B,EAC3B,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAErB,oDAAoD;AACpD,eAAO,MAAM,wBAAwB,sCAAsC,CAAC;AAE5E,uEAAuE;AACvE,eAAO,MAAM,yBAAyB,YAAY,CAAC;AAEnD,iFAAiF;AACjF,eAAO,MAAM,uBAAuB,WAAW,CAAC;AAEhD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,UAAU,CAAC,2BAA2B,CAAC,GAC9C,QAAQ,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAcpD;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,UAAU,CAAC,wBAAwB,CAAC,GAC3C,QAAQ,CAAC,eAAe,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC,CAoBjE"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Dagster Helm resource factories.
3
+ *
4
+ * These wrappers apply official Dagster chart defaults while delegating resource
5
+ * construction and graph-aware Helm values serialization to TypeKro's generic
6
+ * Flux Helm factories.
7
+ */
8
+ import { DEFAULT_FLUX_NAMESPACE } from '../../../core/config/defaults.js';
9
+ import { setMetadataField } from '../../../core/metadata/resource-metadata.js';
10
+ import { createHelmRepositoryReadinessEvaluator, helmRepository, } from '../../helm/helm-repository.js';
11
+ import { helmRelease } from '../../helm/helm-release.js';
12
+ import { createLabeledHelmReleaseEvaluator } from '../../helm/readiness-evaluators.js';
13
+ /** Default official Dagster Helm repository URL. */
14
+ export const DEFAULT_DAGSTER_REPO_URL = 'https://dagster-io.github.io/helm';
15
+ /** Default Flux HelmRepository name for the official Dagster chart. */
16
+ export const DEFAULT_DAGSTER_REPO_NAME = 'dagster';
17
+ /** Default official Dagster Helm chart version selected by the approved plan. */
18
+ export const DEFAULT_DAGSTER_VERSION = '1.13.8';
19
+ /**
20
+ * Create a Flux HelmRepository for the official Dagster Helm chart repository.
21
+ *
22
+ * @param config - Repository configuration with Dagster defaults
23
+ * @returns Enhanced HelmRepository resource
24
+ */
25
+ export function dagsterHelmRepository(config) {
26
+ const repo = helmRepository({
27
+ name: config.name || DEFAULT_DAGSTER_REPO_NAME,
28
+ namespace: config.namespace || DEFAULT_FLUX_NAMESPACE,
29
+ url: config.url || DEFAULT_DAGSTER_REPO_URL,
30
+ interval: config.interval || '5m',
31
+ ...(config.id && { id: config.id }),
32
+ }).withReadinessEvaluator(createHelmRepositoryReadinessEvaluator('Dagster'));
33
+ setMetadataField(repo, 'scopes', ['cluster']);
34
+ return repo;
35
+ }
36
+ /**
37
+ * Create a Flux HelmRelease for Dagster using the official chart defaults.
38
+ *
39
+ * @param config - Release configuration with Dagster defaults
40
+ * @returns Enhanced HelmRelease resource
41
+ */
42
+ export function dagsterHelmRelease(config) {
43
+ return helmRelease({
44
+ name: config.name,
45
+ namespace: config.namespace || config.name,
46
+ chart: {
47
+ repository: DEFAULT_DAGSTER_REPO_URL,
48
+ name: 'dagster',
49
+ version: config.version || DEFAULT_DAGSTER_VERSION,
50
+ },
51
+ sourceRef: {
52
+ name: config.repositoryName || DEFAULT_DAGSTER_REPO_NAME,
53
+ namespace: config.repositoryNamespace || DEFAULT_FLUX_NAMESPACE,
54
+ kind: 'HelmRepository',
55
+ },
56
+ ...(config.values !== undefined && { values: config.values }),
57
+ ...(config.id && { id: config.id }),
58
+ }).withReadinessEvaluator(createLabeledHelmReleaseEvaluator('Dagster'));
59
+ }
60
+ //# sourceMappingURL=helm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helm.js","sourceRoot":"","sources":["../../../../src/factories/dagster/resources/helm.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAE/E,OAAO,EACL,sCAAsC,EACtC,cAAc,GAGf,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,iCAAiC,EAAE,MAAM,oCAAoC,CAAC;AAQvF,oDAAoD;AACpD,MAAM,CAAC,MAAM,wBAAwB,GAAG,mCAAmC,CAAC;AAE5E,uEAAuE;AACvE,MAAM,CAAC,MAAM,yBAAyB,GAAG,SAAS,CAAC;AAEnD,iFAAiF;AACjF,MAAM,CAAC,MAAM,uBAAuB,GAAG,QAAQ,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAA+C;IAE/C,MAAM,IAAI,GAAG,cAAc,CAAC;QAC1B,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,yBAAyB;QAC9C,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,sBAAsB;QACrD,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,wBAAwB;QAC3C,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,IAAI;QACjC,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;KACpC,CAAC,CAAC,sBAAsB,CACvB,sCAAsC,CAAC,SAAS,CAAC,CACI,CAAC;IAExD,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAE9C,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAA4C;IAE5C,OAAO,WAAW,CAAoB;QACpC,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI;QAC1C,KAAK,EAAE;YACL,UAAU,EAAE,wBAAwB;YACpC,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,uBAAuB;SACnD;QACD,SAAS,EAAE;YACT,IAAI,EAAE,MAAM,CAAC,cAAc,IAAI,yBAAyB;YACxD,SAAS,EAAE,MAAM,CAAC,mBAAmB,IAAI,sBAAsB;YAC/D,IAAI,EAAE,gBAAgB;SACvB;QACD,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;QAC7D,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;KACpC,CAAC,CAAC,sBAAsB,CAAC,iCAAiC,CAAC,SAAS,CAAC,CAGrE,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './helm.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/factories/dagster/resources/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './helm.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/factories/dagster/resources/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}