typekro 0.11.0 → 0.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.tsbuildinfo +1 -1
- package/dist/core/deployment/kro-factory.d.ts.map +1 -1
- package/dist/core/deployment/kro-factory.js +17 -2
- package/dist/core/deployment/kro-factory.js.map +1 -1
- package/dist/core/deployment/singleton-gitops.d.ts +10 -0
- package/dist/core/deployment/singleton-gitops.d.ts.map +1 -0
- package/dist/core/deployment/singleton-gitops.js +62 -0
- package/dist/core/deployment/singleton-gitops.js.map +1 -0
- package/dist/core/serialization/cel-references.d.ts.map +1 -1
- package/dist/core/serialization/cel-references.js +26 -0
- package/dist/core/serialization/cel-references.js.map +1 -1
- package/dist/core/serialization/core.d.ts.map +1 -1
- package/dist/core/serialization/core.js +12 -1
- package/dist/core/serialization/core.js.map +1 -1
- package/dist/core/serialization/schema.d.ts +2 -0
- package/dist/core/serialization/schema.d.ts.map +1 -1
- package/dist/core/serialization/schema.js +219 -9
- package/dist/core/serialization/schema.js.map +1 -1
- package/dist/core/singleton/singleton.d.ts +10 -0
- package/dist/core/singleton/singleton.d.ts.map +1 -1
- package/dist/core/singleton/singleton.js +13 -0
- package/dist/core/singleton/singleton.js.map +1 -1
- package/dist/factories/dagster/compositions/dagster-bootstrap.d.ts +892 -0
- package/dist/factories/dagster/compositions/dagster-bootstrap.d.ts.map +1 -0
- package/dist/factories/dagster/compositions/dagster-bootstrap.js +82 -0
- package/dist/factories/dagster/compositions/dagster-bootstrap.js.map +1 -0
- package/dist/factories/dagster/compositions/dagster-helm-repository.d.ts +21 -0
- package/dist/factories/dagster/compositions/dagster-helm-repository.d.ts.map +1 -0
- package/dist/factories/dagster/compositions/dagster-helm-repository.js +34 -0
- package/dist/factories/dagster/compositions/dagster-helm-repository.js.map +1 -0
- package/dist/factories/dagster/compositions/index.d.ts +3 -0
- package/dist/factories/dagster/compositions/index.d.ts.map +1 -0
- package/dist/factories/dagster/compositions/index.js +3 -0
- package/dist/factories/dagster/compositions/index.js.map +1 -0
- package/dist/factories/dagster/index.d.ts +31 -0
- package/dist/factories/dagster/index.d.ts.map +1 -0
- package/dist/factories/dagster/index.js +31 -0
- package/dist/factories/dagster/index.js.map +1 -0
- package/dist/factories/dagster/resources/helm.d.ts +32 -0
- package/dist/factories/dagster/resources/helm.d.ts.map +1 -0
- package/dist/factories/dagster/resources/helm.js +60 -0
- package/dist/factories/dagster/resources/helm.js.map +1 -0
- package/dist/factories/dagster/resources/index.d.ts +2 -0
- package/dist/factories/dagster/resources/index.d.ts.map +1 -0
- package/dist/factories/dagster/resources/index.js +2 -0
- package/dist/factories/dagster/resources/index.js.map +1 -0
- package/dist/factories/dagster/types.d.ts +2061 -0
- package/dist/factories/dagster/types.d.ts.map +1 -0
- package/dist/factories/dagster/types.js +367 -0
- package/dist/factories/dagster/types.js.map +1 -0
- package/dist/factories/dagster/utils/helm-values-mapper.d.ts +21 -0
- package/dist/factories/dagster/utils/helm-values-mapper.d.ts.map +1 -0
- package/dist/factories/dagster/utils/helm-values-mapper.js +470 -0
- package/dist/factories/dagster/utils/helm-values-mapper.js.map +1 -0
- package/dist/factories/dagster/utils/index.d.ts +2 -0
- package/dist/factories/dagster/utils/index.d.ts.map +1 -0
- package/dist/factories/dagster/utils/index.js +2 -0
- package/dist/factories/dagster/utils/index.js.map +1 -0
- package/package.json +6 -1
|
@@ -0,0 +1,2061 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public Dagster integration contracts.
|
|
3
|
+
*
|
|
4
|
+
* This module defines the TypeKro-facing configuration, status, error, chart value,
|
|
5
|
+
* and factory signatures for deploying Dagster OSS through the official Dagster Helm
|
|
6
|
+
* chart. Implementation files must conform to these contracts.
|
|
7
|
+
*
|
|
8
|
+
* Interface decision: expose typed convenience fields for common Dagster deployment
|
|
9
|
+
* configuration and use `values` as the single raw official chart passthrough surface.
|
|
10
|
+
* The rejected alternatives were a raw-values-only wrapper, which would not provide
|
|
11
|
+
* enough validation for common unsafe configurations, and an exhaustive chart model,
|
|
12
|
+
* which would be brittle as the upstream chart evolves.
|
|
13
|
+
*
|
|
14
|
+
* Scenario preserved from planning: a TypeKro user brings a Dagster project image,
|
|
15
|
+
* configures user-code server args, PostgreSQL, run launcher, ingress, and raw chart
|
|
16
|
+
* `values`, then deploys directly or generates KRO/YAML while status is derived from
|
|
17
|
+
* the owned HelmRelease. All captured planning requirements REQ-001 through REQ-014
|
|
18
|
+
* remain included in this contract; no interface requirement is intentionally deferred
|
|
19
|
+
* or weakened.
|
|
20
|
+
*
|
|
21
|
+
* Lifecycle/CRUD decision: this package does not introduce a separate persisted data
|
|
22
|
+
* entity or database table. Create/read/update/delete lifecycle is inherited from
|
|
23
|
+
* TypeKro resource factories: create/update through deploy/apply, read through status
|
|
24
|
+
* hydration, and delete through `deleteInstance` where supported by the selected mode.
|
|
25
|
+
*/
|
|
26
|
+
import type { ValuesMergeExpression } from '../../core/aspects/values-merge.js';
|
|
27
|
+
import type { TypeKroError } from '../../core/errors.js';
|
|
28
|
+
import type { Composable, DirectResourceFactory, Enhanced, KroResourceFactory, PublicFactoryOptions } from '../../core/types/index.js';
|
|
29
|
+
import type { TypeKroChartValue, TypeKroValueTree, TypeKroValueTreeObject } from '../../core/types/common.js';
|
|
30
|
+
import type { HelmRepositorySpec, HelmRepositoryStatus } from '../helm/helm-repository.js';
|
|
31
|
+
import type { HelmReleaseSpec, HelmReleaseStatus } from '../helm/types.js';
|
|
32
|
+
/** Default official Dagster Helm repository URL. */
|
|
33
|
+
export type DagsterDefaultHelmRepositoryUrl = 'https://dagster-io.github.io/helm';
|
|
34
|
+
/** Default official Dagster Helm chart name. */
|
|
35
|
+
export type DagsterDefaultChartName = 'dagster';
|
|
36
|
+
/** Default chart version selected by the approved plan. */
|
|
37
|
+
export type DagsterDefaultChartVersion = '1.13.8';
|
|
38
|
+
/** Supported Dagster bootstrap phases exposed through TypeKro status. */
|
|
39
|
+
export type DagsterBootstrapPhase = 'Ready' | 'Installing' | 'Failed';
|
|
40
|
+
/** Supported image pull policies used by Dagster chart image fields. */
|
|
41
|
+
export type DagsterImagePullPolicy = 'Always' | 'IfNotPresent' | 'Never';
|
|
42
|
+
/** Supported run launcher names in the Dagster Helm chart. */
|
|
43
|
+
export type DagsterRunLauncherType = 'K8sRunLauncher' | 'CeleryK8sRunLauncher' | 'CustomRunLauncher';
|
|
44
|
+
/** Supported scheduler names in the Dagster Helm chart. */
|
|
45
|
+
export type DagsterSchedulerType = 'DagsterDaemonScheduler' | 'CustomScheduler';
|
|
46
|
+
/** Supported compute log manager names documented by Dagster OSS. */
|
|
47
|
+
export type DagsterComputeLogManagerType = 'NoOpComputeLogManager' | 'AzureBlobComputeLogManager' | 'GCSComputeLogManager' | 'S3ComputeLogManager' | 'LocalComputeLogManager' | 'CustomComputeLogManager';
|
|
48
|
+
/** Supported workload identity auth providers in the Dagster chart PostgreSQL config. */
|
|
49
|
+
export type DagsterPostgresqlAuthProviderType = 'azure_wif' | 'gcp_wif' | 'aws_wif';
|
|
50
|
+
/** Error codes thrown by Dagster validation and values mapping. */
|
|
51
|
+
export type DagsterConfigurationErrorCode = 'DAGSTER_INVALID_CONFIG' | 'DAGSTER_REQUIRED_CONFIG_MISSING' | 'DAGSTER_UNSAFE_SECRET_CONFIG' | 'DAGSTER_UNSUPPORTED_KRO_CONFIG';
|
|
52
|
+
/** Error codes for Dagster resource factory and lifecycle operations. */
|
|
53
|
+
export type DagsterOperationErrorCode = DagsterConfigurationErrorCode | 'DAGSTER_RESOURCE_APPLY_FAILED' | 'DAGSTER_RESOURCE_DELETE_FAILED' | 'DAGSTER_RESOURCE_READ_FAILED' | 'DAGSTER_RESOURCE_RECONCILE_FAILED';
|
|
54
|
+
/** Dagster components referenced by validation, lifecycle, and operational contracts. */
|
|
55
|
+
export type DagsterComponentName = 'helmRepository' | 'helmRelease' | 'webserver' | 'daemon' | 'userDeployments' | 'postgresql' | 'runLauncher' | 'scheduler' | 'computeLogManager' | 'ingress' | 'flower' | 'rabbitmq' | 'redis';
|
|
56
|
+
/** Operational event categories emitted by Dagster diagnostics without secret values. */
|
|
57
|
+
export type DagsterOperationalEventType = 'helmRepositoryNotReady' | 'helmReleaseNotReady' | 'configurationValidationFailed' | 'databaseConfigurationInvalid' | 'brokerConfigurationInvalid' | 'userCodeDeploymentInvalid' | 'ingressConfigurationInvalid';
|
|
58
|
+
/** Health check names exposed by Dagster status and tests. */
|
|
59
|
+
export type DagsterHealthCheckName = 'helmRepositoryReady' | 'helmReleaseReady' | 'webserverReady' | 'daemonReady' | 'userDeploymentsReady';
|
|
60
|
+
/** Metrics signal names exposed by Dagster chart and convenience config. */
|
|
61
|
+
export type DagsterMetricSignalName = 'dagsterHelmReleaseReady' | 'dagsterWebserverReplicasConfigured' | 'dagsterDaemonEnabled' | 'dagsterUserDeploymentsConfigured' | 'dagsterCeleryWorkersConfigured' | 'dagsterFlowerEnabled';
|
|
62
|
+
/** Kubernetes Secret key reference used for Dagster sensitive chart values. */
|
|
63
|
+
export interface DagsterSecretKeyRef {
|
|
64
|
+
/** Name of an existing Kubernetes Secret in the Dagster deployment namespace. */
|
|
65
|
+
name: string;
|
|
66
|
+
/** Key inside the Kubernetes Secret. */
|
|
67
|
+
key: string;
|
|
68
|
+
}
|
|
69
|
+
/** Existing Secret reference source for sensitive values. */
|
|
70
|
+
export interface DagsterSecretKeyRefSource {
|
|
71
|
+
/** Existing Kubernetes Secret key reference. */
|
|
72
|
+
secretRef: DagsterSecretKeyRef;
|
|
73
|
+
}
|
|
74
|
+
/** Explicit literal source intentionally supplied by the caller. */
|
|
75
|
+
export interface DagsterLiteralValueSource {
|
|
76
|
+
/** Literal value. Treat as sensitive when used for credentials or tokens. */
|
|
77
|
+
value: string;
|
|
78
|
+
}
|
|
79
|
+
/** Explicit source for Dagster sensitive or configurable scalar values. */
|
|
80
|
+
export type DagsterValueSource = DagsterSecretKeyRefSource | DagsterLiteralValueSource;
|
|
81
|
+
/** Kubernetes resource requests and limits used by chart pod settings. */
|
|
82
|
+
export interface DagsterResourceRequirements {
|
|
83
|
+
/** Requested resources. */
|
|
84
|
+
requests?: {
|
|
85
|
+
/** CPU request such as `500m`. */
|
|
86
|
+
cpu?: string;
|
|
87
|
+
/** Memory request such as `1Gi`. */
|
|
88
|
+
memory?: string;
|
|
89
|
+
};
|
|
90
|
+
/** Resource limits. */
|
|
91
|
+
limits?: {
|
|
92
|
+
/** CPU limit such as `2`. */
|
|
93
|
+
cpu?: string;
|
|
94
|
+
/** Memory limit such as `4Gi`. */
|
|
95
|
+
memory?: string;
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
/** Kubernetes toleration shape accepted by Dagster chart pod settings. */
|
|
99
|
+
export interface DagsterToleration {
|
|
100
|
+
key?: string;
|
|
101
|
+
operator?: 'Exists' | 'Equal';
|
|
102
|
+
value?: string;
|
|
103
|
+
effect?: 'NoSchedule' | 'PreferNoSchedule' | 'NoExecute';
|
|
104
|
+
tolerationSeconds?: number;
|
|
105
|
+
}
|
|
106
|
+
/** Kubernetes-style environment variable entry used by Dagster chart settings. */
|
|
107
|
+
export interface DagsterEnvVar {
|
|
108
|
+
/** Environment variable name. */
|
|
109
|
+
name: string;
|
|
110
|
+
/** Literal value. */
|
|
111
|
+
value?: string;
|
|
112
|
+
/** Kubernetes valueFrom source. This remains free-form to match Kubernetes API shape. */
|
|
113
|
+
valueFrom?: TypeKroValueTreeObject;
|
|
114
|
+
}
|
|
115
|
+
/** Reference to an existing ConfigMap or Secret by name. */
|
|
116
|
+
export interface DagsterNamedRef extends TypeKroValueTreeObject {
|
|
117
|
+
name: string;
|
|
118
|
+
}
|
|
119
|
+
/** Container image settings used by Dagster system and user-code containers. */
|
|
120
|
+
export interface DagsterImageConfig {
|
|
121
|
+
/** Image repository, for example `docker.io/acme/my-dagster-project`. */
|
|
122
|
+
repository: string;
|
|
123
|
+
/** Image tag. If omitted in chart-managed images, the chart may default to chart version. */
|
|
124
|
+
tag?: string;
|
|
125
|
+
/** Kubernetes image pull policy. */
|
|
126
|
+
pullPolicy?: DagsterImagePullPolicy;
|
|
127
|
+
}
|
|
128
|
+
/** Shared pod customization subset used across Dagster chart components. */
|
|
129
|
+
export interface DagsterPodConfig {
|
|
130
|
+
/** Additional pod labels. */
|
|
131
|
+
labels?: Record<string, string>;
|
|
132
|
+
/** Node selector for pod scheduling. */
|
|
133
|
+
nodeSelector?: Record<string, string>;
|
|
134
|
+
/** Kubernetes affinity. Free-form because Kubernetes affinity is deeply structured. */
|
|
135
|
+
affinity?: TypeKroValueTreeObject;
|
|
136
|
+
/** Kubernetes tolerations. */
|
|
137
|
+
tolerations?: DagsterToleration[];
|
|
138
|
+
/** Pod resource requests and limits. */
|
|
139
|
+
resources?: DagsterResourceRequirements;
|
|
140
|
+
/** Kubernetes pod security context. */
|
|
141
|
+
podSecurityContext?: TypeKroValueTreeObject;
|
|
142
|
+
/** Kubernetes container security context. */
|
|
143
|
+
securityContext?: TypeKroValueTreeObject;
|
|
144
|
+
/** Additional volumes. Free-form to preserve upstream chart compatibility. */
|
|
145
|
+
volumes?: TypeKroValueTreeObject[];
|
|
146
|
+
/** Additional volume mounts. Free-form to preserve upstream chart compatibility. */
|
|
147
|
+
volumeMounts?: TypeKroValueTreeObject[];
|
|
148
|
+
/** Additional environment variables. */
|
|
149
|
+
env?: DagsterEnvVar[];
|
|
150
|
+
/** Existing ConfigMaps to expose as environment variables. */
|
|
151
|
+
envConfigMaps?: DagsterNamedRef[];
|
|
152
|
+
/** Existing Secrets to expose as environment variables. */
|
|
153
|
+
envSecrets?: DagsterNamedRef[];
|
|
154
|
+
}
|
|
155
|
+
/** Global chart convenience config mapped to `.Values.global` and related top-level fields. */
|
|
156
|
+
export interface DagsterGlobalConfig {
|
|
157
|
+
/** DAGSTER_HOME path used by chart-managed containers. */
|
|
158
|
+
dagsterHome?: string;
|
|
159
|
+
/** Shared service account for this chart and subcharts. */
|
|
160
|
+
serviceAccountName?: string;
|
|
161
|
+
/** Existing PostgreSQL password Secret name. */
|
|
162
|
+
postgresqlSecretName?: string;
|
|
163
|
+
/** Enables PostgreSQL workload identity federation instead of password Secret auth. */
|
|
164
|
+
postgresqlAuthWifEnabled?: boolean;
|
|
165
|
+
/** Existing Celery config Secret name for broker/backend URLs. */
|
|
166
|
+
celeryConfigSecretName?: string;
|
|
167
|
+
/** Existing ConfigMap containing Dagster instance configuration. */
|
|
168
|
+
dagsterInstanceConfigMap?: string;
|
|
169
|
+
}
|
|
170
|
+
/** Dagster webserver convenience config. */
|
|
171
|
+
export interface DagsterWebserverConfig extends DagsterPodConfig {
|
|
172
|
+
/** Number of webserver replicas. */
|
|
173
|
+
replicaCount?: number;
|
|
174
|
+
/** Webserver image override. */
|
|
175
|
+
image?: DagsterImageConfig;
|
|
176
|
+
/** Service settings for the webserver. */
|
|
177
|
+
service?: {
|
|
178
|
+
type?: string;
|
|
179
|
+
port?: number;
|
|
180
|
+
annotations?: Record<string, string>;
|
|
181
|
+
};
|
|
182
|
+
/** Optional URL path prefix, such as `/dagster`. */
|
|
183
|
+
pathPrefix?: string;
|
|
184
|
+
/** Deploy an additional read-only webserver. */
|
|
185
|
+
enableReadOnly?: boolean;
|
|
186
|
+
/** Webserver log format. */
|
|
187
|
+
logFormat?: 'colored' | 'json' | 'rich';
|
|
188
|
+
/** Uvicorn log level. */
|
|
189
|
+
logLevel?: string;
|
|
190
|
+
/** Workspace config for separately managed user-code deployments. */
|
|
191
|
+
workspace?: {
|
|
192
|
+
enabled?: boolean;
|
|
193
|
+
servers?: Array<{
|
|
194
|
+
host: string;
|
|
195
|
+
port: number;
|
|
196
|
+
name?: string;
|
|
197
|
+
}>;
|
|
198
|
+
externalConfigmap?: string;
|
|
199
|
+
};
|
|
200
|
+
/** Startup/readiness/liveness probe overrides. */
|
|
201
|
+
readinessProbe?: TypeKroValueTreeObject;
|
|
202
|
+
livenessProbe?: TypeKroValueTreeObject;
|
|
203
|
+
startupProbe?: TypeKroValueTreeObject;
|
|
204
|
+
}
|
|
205
|
+
/** Dagster daemon convenience config. */
|
|
206
|
+
export interface DagsterDaemonConfig extends DagsterPodConfig {
|
|
207
|
+
/** Whether the daemon should be included. */
|
|
208
|
+
enabled?: boolean;
|
|
209
|
+
/** Daemon image override. */
|
|
210
|
+
image?: DagsterImageConfig;
|
|
211
|
+
/** Maximum heartbeat tolerance in seconds. */
|
|
212
|
+
heartbeatTolerance?: number;
|
|
213
|
+
/** Daemon log format. */
|
|
214
|
+
logFormat?: 'colored' | 'json' | 'rich';
|
|
215
|
+
/** Run coordinator convenience config. */
|
|
216
|
+
runCoordinator?: {
|
|
217
|
+
enabled?: boolean;
|
|
218
|
+
type?: 'QueuedRunCoordinator' | 'CustomRunCoordinator';
|
|
219
|
+
config?: TypeKroValueTreeObject;
|
|
220
|
+
};
|
|
221
|
+
/** Run monitoring convenience config. */
|
|
222
|
+
runMonitoring?: TypeKroValueTreeObject;
|
|
223
|
+
/** Run retries convenience config. */
|
|
224
|
+
runRetries?: TypeKroValueTreeObject;
|
|
225
|
+
/** Sensor evaluation convenience config. */
|
|
226
|
+
sensors?: TypeKroValueTreeObject;
|
|
227
|
+
/** Schedule evaluation convenience config. */
|
|
228
|
+
schedules?: TypeKroValueTreeObject;
|
|
229
|
+
}
|
|
230
|
+
/** One Dagster user-code deployment served through gRPC or code-server. */
|
|
231
|
+
export interface DagsterUserDeployment {
|
|
232
|
+
/** Unique deployment name in the chart. */
|
|
233
|
+
name: string;
|
|
234
|
+
/** User-code image containing the Dagster project. */
|
|
235
|
+
image: DagsterImageConfig;
|
|
236
|
+
/** Arguments to `dagster api grpc`. Mutually exclusive with `codeServerArgs`. */
|
|
237
|
+
dagsterApiGrpcArgs?: string[];
|
|
238
|
+
/** Arguments to `dagster code-server start`. Mutually exclusive with `dagsterApiGrpcArgs`. */
|
|
239
|
+
codeServerArgs?: string[];
|
|
240
|
+
/** gRPC/code-server port. */
|
|
241
|
+
port?: number;
|
|
242
|
+
/** Number of user-code deployment replicas. */
|
|
243
|
+
replicaCount?: number;
|
|
244
|
+
/** Whether to include this deployment config in launched runs. */
|
|
245
|
+
includeConfigInLaunchedRuns?: {
|
|
246
|
+
enabled?: boolean;
|
|
247
|
+
};
|
|
248
|
+
/** Additional env vars, env source refs, pod settings, and resources. */
|
|
249
|
+
env?: DagsterEnvVar[];
|
|
250
|
+
envConfigMaps?: DagsterNamedRef[];
|
|
251
|
+
envSecrets?: DagsterNamedRef[];
|
|
252
|
+
labels?: Record<string, string>;
|
|
253
|
+
annotations?: Record<string, string>;
|
|
254
|
+
nodeSelector?: Record<string, string>;
|
|
255
|
+
affinity?: TypeKroValueTreeObject;
|
|
256
|
+
tolerations?: DagsterToleration[];
|
|
257
|
+
podSecurityContext?: TypeKroValueTreeObject;
|
|
258
|
+
securityContext?: TypeKroValueTreeObject;
|
|
259
|
+
resources?: DagsterResourceRequirements;
|
|
260
|
+
volumes?: TypeKroValueTreeObject[];
|
|
261
|
+
volumeMounts?: TypeKroValueTreeObject[];
|
|
262
|
+
initContainers?: TypeKroValueTreeObject[];
|
|
263
|
+
sidecarContainers?: TypeKroValueTreeObject[];
|
|
264
|
+
readinessProbe?: TypeKroValueTreeObject;
|
|
265
|
+
livenessProbe?: TypeKroValueTreeObject;
|
|
266
|
+
startupProbe?: TypeKroValueTreeObject;
|
|
267
|
+
deploymentStrategy?: TypeKroValueTreeObject;
|
|
268
|
+
service?: {
|
|
269
|
+
annotations?: Record<string, string>;
|
|
270
|
+
};
|
|
271
|
+
}
|
|
272
|
+
/** Dagster user-code deployment chart section. */
|
|
273
|
+
export interface DagsterUserDeploymentsConfig {
|
|
274
|
+
/** Creates workspace entries for user-code gRPC/code-server deployments. */
|
|
275
|
+
enabled?: boolean;
|
|
276
|
+
/** Controls whether the official subchart creates user-code resources. */
|
|
277
|
+
enableSubchart?: boolean;
|
|
278
|
+
/** Image pull Secrets for user-code containers. */
|
|
279
|
+
imagePullSecrets?: DagsterNamedRef[];
|
|
280
|
+
/** User-code deployments managed by the Dagster chart. */
|
|
281
|
+
deployments?: DagsterUserDeployment[];
|
|
282
|
+
}
|
|
283
|
+
/** PostgreSQL auth provider settings for workload identity federation. */
|
|
284
|
+
export interface DagsterPostgresqlAuthProviderConfig {
|
|
285
|
+
/** Provider type. */
|
|
286
|
+
type?: DagsterPostgresqlAuthProviderType;
|
|
287
|
+
/** Azure token scope override. */
|
|
288
|
+
azureScope?: string;
|
|
289
|
+
/** AWS RDS region. */
|
|
290
|
+
awsRegion?: string;
|
|
291
|
+
}
|
|
292
|
+
/** Bundled or external PostgreSQL chart config. */
|
|
293
|
+
export interface DagsterPostgresqlConfig {
|
|
294
|
+
/** Deploy bundled PostgreSQL or configure the chart for an external DB. */
|
|
295
|
+
enabled?: boolean;
|
|
296
|
+
/** External PostgreSQL host when bundled PostgreSQL is disabled. */
|
|
297
|
+
host?: string;
|
|
298
|
+
/** PostgreSQL username. */
|
|
299
|
+
username?: string;
|
|
300
|
+
/** PostgreSQL database name. */
|
|
301
|
+
database?: string;
|
|
302
|
+
/** Explicit local/dev password. Prefer `passwordSecretName` for production. */
|
|
303
|
+
password?: string;
|
|
304
|
+
/** Existing Secret name for the PostgreSQL password. */
|
|
305
|
+
passwordSecretName?: string;
|
|
306
|
+
/** PostgreSQL service port. */
|
|
307
|
+
servicePort?: number;
|
|
308
|
+
/** Additional PostgreSQL connection parameters. */
|
|
309
|
+
params?: Record<string, string>;
|
|
310
|
+
/** PostgreSQL URI scheme override. */
|
|
311
|
+
scheme?: string;
|
|
312
|
+
/** Workload identity auth provider settings. */
|
|
313
|
+
authProvider?: DagsterPostgresqlAuthProviderConfig;
|
|
314
|
+
/** Raw official postgresql subchart values merged before top-level `values`. */
|
|
315
|
+
values?: TypeKroChartValue<TypeKroValueTreeObject>;
|
|
316
|
+
}
|
|
317
|
+
/** K8sRunLauncher convenience config. */
|
|
318
|
+
export interface DagsterK8sRunLauncherConfig {
|
|
319
|
+
imagePullPolicy?: DagsterImagePullPolicy;
|
|
320
|
+
image?: DagsterImageConfig;
|
|
321
|
+
jobNamespace?: string;
|
|
322
|
+
loadInclusterConfig?: boolean;
|
|
323
|
+
kubeconfigFile?: string;
|
|
324
|
+
envConfigMaps?: DagsterNamedRef[];
|
|
325
|
+
envSecrets?: DagsterNamedRef[];
|
|
326
|
+
envVars?: string[];
|
|
327
|
+
volumes?: TypeKroValueTreeObject[];
|
|
328
|
+
volumeMounts?: TypeKroValueTreeObject[];
|
|
329
|
+
labels?: Record<string, string>;
|
|
330
|
+
resources?: DagsterResourceRequirements;
|
|
331
|
+
runK8sConfig?: TypeKroValueTreeObject;
|
|
332
|
+
failPodOnRunFailure?: boolean;
|
|
333
|
+
securityContext?: TypeKroValueTreeObject;
|
|
334
|
+
}
|
|
335
|
+
/** Celery worker queue config for CeleryK8sRunLauncher. */
|
|
336
|
+
export interface DagsterCeleryWorkerQueueConfig {
|
|
337
|
+
name: string;
|
|
338
|
+
replicaCount?: number;
|
|
339
|
+
labels?: Record<string, string>;
|
|
340
|
+
nodeSelector?: Record<string, string>;
|
|
341
|
+
configSource?: TypeKroValueTreeObject;
|
|
342
|
+
additionalCeleryArgs?: string[];
|
|
343
|
+
}
|
|
344
|
+
/** CeleryK8sRunLauncher convenience config. */
|
|
345
|
+
export interface DagsterCeleryK8sRunLauncherConfig extends Omit<DagsterPodConfig, 'env'> {
|
|
346
|
+
imagePullPolicy?: DagsterImagePullPolicy;
|
|
347
|
+
image?: DagsterImageConfig;
|
|
348
|
+
jobNamespace?: string;
|
|
349
|
+
workerQueues?: DagsterCeleryWorkerQueueConfig[];
|
|
350
|
+
configSource?: TypeKroValueTreeObject;
|
|
351
|
+
env?: Record<string, string>;
|
|
352
|
+
failPodOnRunFailure?: boolean;
|
|
353
|
+
}
|
|
354
|
+
/** Dagster run launcher chart config. */
|
|
355
|
+
export interface DagsterRunLauncherConfig {
|
|
356
|
+
type?: DagsterRunLauncherType;
|
|
357
|
+
k8sRunLauncher?: DagsterK8sRunLauncherConfig;
|
|
358
|
+
celeryK8sRunLauncher?: DagsterCeleryK8sRunLauncherConfig;
|
|
359
|
+
customRunLauncher?: TypeKroValueTreeObject;
|
|
360
|
+
}
|
|
361
|
+
/** Dagster scheduler chart config. */
|
|
362
|
+
export interface DagsterSchedulerConfig {
|
|
363
|
+
type?: DagsterSchedulerType;
|
|
364
|
+
config?: TypeKroValueTreeObject;
|
|
365
|
+
}
|
|
366
|
+
/** Dagster compute log manager chart config. */
|
|
367
|
+
export interface DagsterComputeLogManagerConfig {
|
|
368
|
+
type?: DagsterComputeLogManagerType;
|
|
369
|
+
config?: TypeKroValueTreeObject;
|
|
370
|
+
}
|
|
371
|
+
/** RabbitMQ chart config for Celery mode. */
|
|
372
|
+
export interface DagsterRabbitmqConfig {
|
|
373
|
+
enabled?: boolean;
|
|
374
|
+
image?: DagsterImageConfig;
|
|
375
|
+
username?: string;
|
|
376
|
+
password?: string;
|
|
377
|
+
servicePort?: number;
|
|
378
|
+
values?: TypeKroChartValue<TypeKroValueTreeObject>;
|
|
379
|
+
}
|
|
380
|
+
/** Redis chart or external Redis config for Celery mode. */
|
|
381
|
+
export interface DagsterRedisConfig {
|
|
382
|
+
enabled?: boolean;
|
|
383
|
+
internal?: boolean;
|
|
384
|
+
image?: DagsterImageConfig;
|
|
385
|
+
usePassword?: boolean;
|
|
386
|
+
password?: string;
|
|
387
|
+
host?: string;
|
|
388
|
+
port?: number;
|
|
389
|
+
brokerDbNumber?: number;
|
|
390
|
+
backendDbNumber?: number;
|
|
391
|
+
brokerUrl?: string;
|
|
392
|
+
backendUrl?: string;
|
|
393
|
+
values?: TypeKroChartValue<TypeKroValueTreeObject>;
|
|
394
|
+
}
|
|
395
|
+
/** Flower diagnostics UI config. */
|
|
396
|
+
export interface DagsterFlowerConfig extends DagsterPodConfig {
|
|
397
|
+
enabled?: boolean;
|
|
398
|
+
image?: DagsterImageConfig;
|
|
399
|
+
service?: {
|
|
400
|
+
type?: string;
|
|
401
|
+
annotations?: Record<string, string>;
|
|
402
|
+
port?: number;
|
|
403
|
+
};
|
|
404
|
+
livenessProbe?: TypeKroValueTreeObject;
|
|
405
|
+
startupProbe?: TypeKroValueTreeObject;
|
|
406
|
+
}
|
|
407
|
+
/** Ingress route config for a Dagster chart endpoint. */
|
|
408
|
+
export interface DagsterIngressEndpointConfig {
|
|
409
|
+
host?: string;
|
|
410
|
+
path?: string;
|
|
411
|
+
pathType?: string;
|
|
412
|
+
tls?: {
|
|
413
|
+
enabled?: boolean;
|
|
414
|
+
secretName?: string;
|
|
415
|
+
};
|
|
416
|
+
precedingPaths?: TypeKroValueTreeObject[];
|
|
417
|
+
succeedingPaths?: TypeKroValueTreeObject[];
|
|
418
|
+
}
|
|
419
|
+
/** Dagster chart ingress config. */
|
|
420
|
+
export interface DagsterIngressConfig {
|
|
421
|
+
enabled?: boolean;
|
|
422
|
+
annotations?: Record<string, string>;
|
|
423
|
+
labels?: Record<string, string>;
|
|
424
|
+
ingressClassName?: string;
|
|
425
|
+
dagsterWebserver?: DagsterIngressEndpointConfig;
|
|
426
|
+
readOnlyDagsterWebserver?: DagsterIngressEndpointConfig;
|
|
427
|
+
flower?: DagsterIngressEndpointConfig;
|
|
428
|
+
}
|
|
429
|
+
/** Official Dagster chart values modeled as typed common fields plus free-form compatibility. */
|
|
430
|
+
export interface DagsterHelmValues extends TypeKroValueTreeObject {
|
|
431
|
+
global?: TypeKroValueTreeObject;
|
|
432
|
+
nameOverride?: string;
|
|
433
|
+
fullnameOverride?: string;
|
|
434
|
+
rbacEnabled?: boolean;
|
|
435
|
+
imagePullSecrets?: DagsterNamedRef[];
|
|
436
|
+
dagsterWebserver?: TypeKroValueTreeObject;
|
|
437
|
+
dagsterDaemon?: TypeKroValueTreeObject;
|
|
438
|
+
'dagster-user-deployments'?: TypeKroValueTreeObject;
|
|
439
|
+
postgresql?: TypeKroValueTreeObject;
|
|
440
|
+
generatePostgresqlPasswordSecret?: boolean;
|
|
441
|
+
generateCeleryConfigSecret?: boolean;
|
|
442
|
+
rabbitmq?: TypeKroValueTreeObject;
|
|
443
|
+
redis?: TypeKroValueTreeObject;
|
|
444
|
+
runLauncher?: TypeKroValueTreeObject;
|
|
445
|
+
scheduler?: TypeKroValueTreeObject;
|
|
446
|
+
computeLogManager?: TypeKroValueTreeObject;
|
|
447
|
+
pythonLogs?: TypeKroValueTreeObject;
|
|
448
|
+
flower?: TypeKroValueTreeObject;
|
|
449
|
+
ingress?: TypeKroValueTreeObject;
|
|
450
|
+
busybox?: TypeKroValueTreeObject;
|
|
451
|
+
extraManifests?: TypeKroValueTree[];
|
|
452
|
+
}
|
|
453
|
+
/** Mapper output: concrete chart values or a graph-aware runtime values merge expression. */
|
|
454
|
+
export type DagsterMappedHelmValues = DagsterHelmValues | ValuesMergeExpression;
|
|
455
|
+
/** ArkType schema for Dagster bootstrap configuration. */
|
|
456
|
+
export declare const DagsterBootstrapConfigSchema: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
457
|
+
name: string;
|
|
458
|
+
namespace?: string;
|
|
459
|
+
version?: string;
|
|
460
|
+
serviceAccountName?: string;
|
|
461
|
+
nameOverride?: string;
|
|
462
|
+
fullnameOverride?: string;
|
|
463
|
+
rbacEnabled?: boolean;
|
|
464
|
+
imagePullSecrets?: {
|
|
465
|
+
name: string;
|
|
466
|
+
}[];
|
|
467
|
+
webserver?: {
|
|
468
|
+
replicaCount?: number;
|
|
469
|
+
image?: {
|
|
470
|
+
repository: string;
|
|
471
|
+
tag?: string;
|
|
472
|
+
pullPolicy?: "Always" | "IfNotPresent" | "Never";
|
|
473
|
+
};
|
|
474
|
+
service?: {
|
|
475
|
+
type?: string;
|
|
476
|
+
port?: number;
|
|
477
|
+
annotations?: Record<string, string>;
|
|
478
|
+
};
|
|
479
|
+
pathPrefix?: string;
|
|
480
|
+
enableReadOnly?: boolean;
|
|
481
|
+
logFormat?: "json" | "colored" | "rich";
|
|
482
|
+
logLevel?: string;
|
|
483
|
+
workspace?: {
|
|
484
|
+
enabled?: boolean;
|
|
485
|
+
servers?: {
|
|
486
|
+
host: string;
|
|
487
|
+
port: number;
|
|
488
|
+
name?: string;
|
|
489
|
+
}[];
|
|
490
|
+
externalConfigmap?: string;
|
|
491
|
+
};
|
|
492
|
+
readinessProbe?: object;
|
|
493
|
+
livenessProbe?: object;
|
|
494
|
+
startupProbe?: object;
|
|
495
|
+
labels?: Record<string, string>;
|
|
496
|
+
nodeSelector?: Record<string, string>;
|
|
497
|
+
affinity?: object;
|
|
498
|
+
tolerations?: {
|
|
499
|
+
key?: string;
|
|
500
|
+
operator?: "Exists" | "Equal";
|
|
501
|
+
value?: string;
|
|
502
|
+
effect?: "NoSchedule" | "PreferNoSchedule" | "NoExecute";
|
|
503
|
+
tolerationSeconds?: number;
|
|
504
|
+
}[];
|
|
505
|
+
resources?: {
|
|
506
|
+
requests?: {
|
|
507
|
+
cpu?: string;
|
|
508
|
+
memory?: string;
|
|
509
|
+
};
|
|
510
|
+
limits?: {
|
|
511
|
+
cpu?: string;
|
|
512
|
+
memory?: string;
|
|
513
|
+
};
|
|
514
|
+
};
|
|
515
|
+
podSecurityContext?: object;
|
|
516
|
+
securityContext?: object;
|
|
517
|
+
volumes?: object[];
|
|
518
|
+
volumeMounts?: object[];
|
|
519
|
+
env?: {
|
|
520
|
+
name: string;
|
|
521
|
+
value?: string;
|
|
522
|
+
valueFrom?: Record<string, unknown>;
|
|
523
|
+
}[];
|
|
524
|
+
envConfigMaps?: {
|
|
525
|
+
name: string;
|
|
526
|
+
}[];
|
|
527
|
+
envSecrets?: {
|
|
528
|
+
name: string;
|
|
529
|
+
}[];
|
|
530
|
+
};
|
|
531
|
+
daemon?: {
|
|
532
|
+
enabled?: boolean;
|
|
533
|
+
image?: {
|
|
534
|
+
repository: string;
|
|
535
|
+
tag?: string;
|
|
536
|
+
pullPolicy?: "Always" | "IfNotPresent" | "Never";
|
|
537
|
+
};
|
|
538
|
+
heartbeatTolerance?: number;
|
|
539
|
+
logFormat?: "json" | "colored" | "rich";
|
|
540
|
+
runCoordinator?: {
|
|
541
|
+
enabled?: boolean;
|
|
542
|
+
type?: "QueuedRunCoordinator" | "CustomRunCoordinator";
|
|
543
|
+
config?: object;
|
|
544
|
+
};
|
|
545
|
+
runMonitoring?: object;
|
|
546
|
+
runRetries?: object;
|
|
547
|
+
sensors?: object;
|
|
548
|
+
schedules?: object;
|
|
549
|
+
labels?: Record<string, string>;
|
|
550
|
+
nodeSelector?: Record<string, string>;
|
|
551
|
+
affinity?: object;
|
|
552
|
+
tolerations?: {
|
|
553
|
+
key?: string;
|
|
554
|
+
operator?: "Exists" | "Equal";
|
|
555
|
+
value?: string;
|
|
556
|
+
effect?: "NoSchedule" | "PreferNoSchedule" | "NoExecute";
|
|
557
|
+
tolerationSeconds?: number;
|
|
558
|
+
}[];
|
|
559
|
+
resources?: {
|
|
560
|
+
requests?: {
|
|
561
|
+
cpu?: string;
|
|
562
|
+
memory?: string;
|
|
563
|
+
};
|
|
564
|
+
limits?: {
|
|
565
|
+
cpu?: string;
|
|
566
|
+
memory?: string;
|
|
567
|
+
};
|
|
568
|
+
};
|
|
569
|
+
podSecurityContext?: object;
|
|
570
|
+
securityContext?: object;
|
|
571
|
+
volumes?: object[];
|
|
572
|
+
volumeMounts?: object[];
|
|
573
|
+
env?: {
|
|
574
|
+
name: string;
|
|
575
|
+
value?: string;
|
|
576
|
+
valueFrom?: Record<string, unknown>;
|
|
577
|
+
}[];
|
|
578
|
+
envConfigMaps?: {
|
|
579
|
+
name: string;
|
|
580
|
+
}[];
|
|
581
|
+
envSecrets?: {
|
|
582
|
+
name: string;
|
|
583
|
+
}[];
|
|
584
|
+
};
|
|
585
|
+
userDeployments?: {
|
|
586
|
+
enabled?: boolean;
|
|
587
|
+
enableSubchart?: boolean;
|
|
588
|
+
imagePullSecrets?: {
|
|
589
|
+
name: string;
|
|
590
|
+
}[];
|
|
591
|
+
deployments?: {
|
|
592
|
+
name: string;
|
|
593
|
+
image: {
|
|
594
|
+
repository: string;
|
|
595
|
+
tag?: string;
|
|
596
|
+
pullPolicy?: "Always" | "IfNotPresent" | "Never";
|
|
597
|
+
};
|
|
598
|
+
dagsterApiGrpcArgs?: string[];
|
|
599
|
+
codeServerArgs?: string[];
|
|
600
|
+
port?: number;
|
|
601
|
+
replicaCount?: number;
|
|
602
|
+
includeConfigInLaunchedRuns?: {
|
|
603
|
+
enabled?: boolean;
|
|
604
|
+
};
|
|
605
|
+
env?: {
|
|
606
|
+
name: string;
|
|
607
|
+
value?: string;
|
|
608
|
+
valueFrom?: Record<string, unknown>;
|
|
609
|
+
}[];
|
|
610
|
+
envConfigMaps?: {
|
|
611
|
+
name: string;
|
|
612
|
+
}[];
|
|
613
|
+
envSecrets?: {
|
|
614
|
+
name: string;
|
|
615
|
+
}[];
|
|
616
|
+
labels?: Record<string, string>;
|
|
617
|
+
annotations?: Record<string, string>;
|
|
618
|
+
nodeSelector?: Record<string, string>;
|
|
619
|
+
affinity?: object;
|
|
620
|
+
tolerations?: {
|
|
621
|
+
key?: string;
|
|
622
|
+
operator?: "Exists" | "Equal";
|
|
623
|
+
value?: string;
|
|
624
|
+
effect?: "NoSchedule" | "PreferNoSchedule" | "NoExecute";
|
|
625
|
+
tolerationSeconds?: number;
|
|
626
|
+
}[];
|
|
627
|
+
podSecurityContext?: object;
|
|
628
|
+
securityContext?: object;
|
|
629
|
+
resources?: {
|
|
630
|
+
requests?: {
|
|
631
|
+
cpu?: string;
|
|
632
|
+
memory?: string;
|
|
633
|
+
};
|
|
634
|
+
limits?: {
|
|
635
|
+
cpu?: string;
|
|
636
|
+
memory?: string;
|
|
637
|
+
};
|
|
638
|
+
};
|
|
639
|
+
volumes?: object[];
|
|
640
|
+
volumeMounts?: object[];
|
|
641
|
+
initContainers?: object[];
|
|
642
|
+
sidecarContainers?: object[];
|
|
643
|
+
readinessProbe?: object;
|
|
644
|
+
livenessProbe?: object;
|
|
645
|
+
startupProbe?: object;
|
|
646
|
+
deploymentStrategy?: object;
|
|
647
|
+
service?: {
|
|
648
|
+
annotations?: Record<string, string>;
|
|
649
|
+
};
|
|
650
|
+
}[];
|
|
651
|
+
};
|
|
652
|
+
postgresql?: {
|
|
653
|
+
enabled?: boolean;
|
|
654
|
+
host?: string;
|
|
655
|
+
username?: string;
|
|
656
|
+
database?: string;
|
|
657
|
+
password?: string;
|
|
658
|
+
passwordSecretName?: string;
|
|
659
|
+
servicePort?: number;
|
|
660
|
+
params?: Record<string, string>;
|
|
661
|
+
scheme?: string;
|
|
662
|
+
authProvider?: object;
|
|
663
|
+
values?: object;
|
|
664
|
+
};
|
|
665
|
+
runLauncher?: {
|
|
666
|
+
type?: "K8sRunLauncher" | "CeleryK8sRunLauncher" | "CustomRunLauncher";
|
|
667
|
+
k8sRunLauncher?: {
|
|
668
|
+
imagePullPolicy?: "Always" | "IfNotPresent" | "Never";
|
|
669
|
+
image?: {
|
|
670
|
+
repository: string;
|
|
671
|
+
tag?: string;
|
|
672
|
+
pullPolicy?: "Always" | "IfNotPresent" | "Never";
|
|
673
|
+
};
|
|
674
|
+
jobNamespace?: string;
|
|
675
|
+
loadInclusterConfig?: boolean;
|
|
676
|
+
kubeconfigFile?: string;
|
|
677
|
+
envConfigMaps?: {
|
|
678
|
+
name: string;
|
|
679
|
+
}[];
|
|
680
|
+
envSecrets?: {
|
|
681
|
+
name: string;
|
|
682
|
+
}[];
|
|
683
|
+
envVars?: string[];
|
|
684
|
+
volumes?: object[];
|
|
685
|
+
volumeMounts?: object[];
|
|
686
|
+
labels?: Record<string, string>;
|
|
687
|
+
resources?: {
|
|
688
|
+
requests?: {
|
|
689
|
+
cpu?: string;
|
|
690
|
+
memory?: string;
|
|
691
|
+
};
|
|
692
|
+
limits?: {
|
|
693
|
+
cpu?: string;
|
|
694
|
+
memory?: string;
|
|
695
|
+
};
|
|
696
|
+
};
|
|
697
|
+
runK8sConfig?: object;
|
|
698
|
+
failPodOnRunFailure?: boolean;
|
|
699
|
+
securityContext?: object;
|
|
700
|
+
};
|
|
701
|
+
celeryK8sRunLauncher?: {
|
|
702
|
+
imagePullPolicy?: "Always" | "IfNotPresent" | "Never";
|
|
703
|
+
image?: {
|
|
704
|
+
repository: string;
|
|
705
|
+
tag?: string;
|
|
706
|
+
pullPolicy?: "Always" | "IfNotPresent" | "Never";
|
|
707
|
+
};
|
|
708
|
+
jobNamespace?: string;
|
|
709
|
+
workerQueues?: {
|
|
710
|
+
name: string;
|
|
711
|
+
replicaCount?: number;
|
|
712
|
+
labels?: Record<string, string>;
|
|
713
|
+
nodeSelector?: Record<string, string>;
|
|
714
|
+
configSource?: object;
|
|
715
|
+
additionalCeleryArgs?: string[];
|
|
716
|
+
}[];
|
|
717
|
+
configSource?: object;
|
|
718
|
+
env?: Record<string, string>;
|
|
719
|
+
failPodOnRunFailure?: boolean;
|
|
720
|
+
labels?: Record<string, string>;
|
|
721
|
+
nodeSelector?: Record<string, string>;
|
|
722
|
+
affinity?: object;
|
|
723
|
+
tolerations?: {
|
|
724
|
+
key?: string;
|
|
725
|
+
operator?: "Exists" | "Equal";
|
|
726
|
+
value?: string;
|
|
727
|
+
effect?: "NoSchedule" | "PreferNoSchedule" | "NoExecute";
|
|
728
|
+
tolerationSeconds?: number;
|
|
729
|
+
}[];
|
|
730
|
+
resources?: {
|
|
731
|
+
requests?: {
|
|
732
|
+
cpu?: string;
|
|
733
|
+
memory?: string;
|
|
734
|
+
};
|
|
735
|
+
limits?: {
|
|
736
|
+
cpu?: string;
|
|
737
|
+
memory?: string;
|
|
738
|
+
};
|
|
739
|
+
};
|
|
740
|
+
podSecurityContext?: object;
|
|
741
|
+
securityContext?: object;
|
|
742
|
+
volumes?: object[];
|
|
743
|
+
volumeMounts?: object[];
|
|
744
|
+
envConfigMaps?: {
|
|
745
|
+
name: string;
|
|
746
|
+
}[];
|
|
747
|
+
envSecrets?: {
|
|
748
|
+
name: string;
|
|
749
|
+
}[];
|
|
750
|
+
};
|
|
751
|
+
customRunLauncher?: object;
|
|
752
|
+
};
|
|
753
|
+
scheduler?: {
|
|
754
|
+
type?: "DagsterDaemonScheduler" | "CustomScheduler";
|
|
755
|
+
config?: object;
|
|
756
|
+
};
|
|
757
|
+
computeLogManager?: {
|
|
758
|
+
type?: "NoOpComputeLogManager" | "AzureBlobComputeLogManager" | "GCSComputeLogManager" | "S3ComputeLogManager" | "LocalComputeLogManager" | "CustomComputeLogManager";
|
|
759
|
+
config?: object;
|
|
760
|
+
};
|
|
761
|
+
ingress?: {
|
|
762
|
+
enabled?: boolean;
|
|
763
|
+
annotations?: Record<string, string>;
|
|
764
|
+
labels?: Record<string, string>;
|
|
765
|
+
ingressClassName?: string;
|
|
766
|
+
dagsterWebserver?: {
|
|
767
|
+
host?: string;
|
|
768
|
+
path?: string;
|
|
769
|
+
pathType?: string;
|
|
770
|
+
tls?: {
|
|
771
|
+
enabled?: boolean;
|
|
772
|
+
secretName?: string;
|
|
773
|
+
};
|
|
774
|
+
precedingPaths?: object[];
|
|
775
|
+
succeedingPaths?: object[];
|
|
776
|
+
};
|
|
777
|
+
readOnlyDagsterWebserver?: {
|
|
778
|
+
host?: string;
|
|
779
|
+
path?: string;
|
|
780
|
+
pathType?: string;
|
|
781
|
+
tls?: {
|
|
782
|
+
enabled?: boolean;
|
|
783
|
+
secretName?: string;
|
|
784
|
+
};
|
|
785
|
+
precedingPaths?: object[];
|
|
786
|
+
succeedingPaths?: object[];
|
|
787
|
+
};
|
|
788
|
+
flower?: {
|
|
789
|
+
host?: string;
|
|
790
|
+
path?: string;
|
|
791
|
+
pathType?: string;
|
|
792
|
+
tls?: {
|
|
793
|
+
enabled?: boolean;
|
|
794
|
+
secretName?: string;
|
|
795
|
+
};
|
|
796
|
+
precedingPaths?: object[];
|
|
797
|
+
succeedingPaths?: object[];
|
|
798
|
+
};
|
|
799
|
+
};
|
|
800
|
+
flower?: {
|
|
801
|
+
enabled?: boolean;
|
|
802
|
+
image?: {
|
|
803
|
+
repository: string;
|
|
804
|
+
tag?: string;
|
|
805
|
+
pullPolicy?: "Always" | "IfNotPresent" | "Never";
|
|
806
|
+
};
|
|
807
|
+
service?: {
|
|
808
|
+
type?: string;
|
|
809
|
+
annotations?: Record<string, string>;
|
|
810
|
+
port?: number;
|
|
811
|
+
};
|
|
812
|
+
livenessProbe?: object;
|
|
813
|
+
startupProbe?: object;
|
|
814
|
+
labels?: Record<string, string>;
|
|
815
|
+
nodeSelector?: Record<string, string>;
|
|
816
|
+
affinity?: object;
|
|
817
|
+
tolerations?: {
|
|
818
|
+
key?: string;
|
|
819
|
+
operator?: "Exists" | "Equal";
|
|
820
|
+
value?: string;
|
|
821
|
+
effect?: "NoSchedule" | "PreferNoSchedule" | "NoExecute";
|
|
822
|
+
tolerationSeconds?: number;
|
|
823
|
+
}[];
|
|
824
|
+
resources?: {
|
|
825
|
+
requests?: {
|
|
826
|
+
cpu?: string;
|
|
827
|
+
memory?: string;
|
|
828
|
+
};
|
|
829
|
+
limits?: {
|
|
830
|
+
cpu?: string;
|
|
831
|
+
memory?: string;
|
|
832
|
+
};
|
|
833
|
+
};
|
|
834
|
+
podSecurityContext?: object;
|
|
835
|
+
securityContext?: object;
|
|
836
|
+
volumes?: object[];
|
|
837
|
+
volumeMounts?: object[];
|
|
838
|
+
env?: {
|
|
839
|
+
name: string;
|
|
840
|
+
value?: string;
|
|
841
|
+
valueFrom?: Record<string, unknown>;
|
|
842
|
+
}[];
|
|
843
|
+
envConfigMaps?: {
|
|
844
|
+
name: string;
|
|
845
|
+
}[];
|
|
846
|
+
envSecrets?: {
|
|
847
|
+
name: string;
|
|
848
|
+
}[];
|
|
849
|
+
};
|
|
850
|
+
rabbitmq?: {
|
|
851
|
+
enabled?: boolean;
|
|
852
|
+
image?: {
|
|
853
|
+
repository: string;
|
|
854
|
+
tag?: string;
|
|
855
|
+
pullPolicy?: "Always" | "IfNotPresent" | "Never";
|
|
856
|
+
};
|
|
857
|
+
username?: string;
|
|
858
|
+
password?: string;
|
|
859
|
+
servicePort?: number;
|
|
860
|
+
values?: object;
|
|
861
|
+
};
|
|
862
|
+
redis?: {
|
|
863
|
+
enabled?: boolean;
|
|
864
|
+
internal?: boolean;
|
|
865
|
+
image?: {
|
|
866
|
+
repository: string;
|
|
867
|
+
tag?: string;
|
|
868
|
+
pullPolicy?: "Always" | "IfNotPresent" | "Never";
|
|
869
|
+
};
|
|
870
|
+
usePassword?: boolean;
|
|
871
|
+
password?: string;
|
|
872
|
+
host?: string;
|
|
873
|
+
port?: number;
|
|
874
|
+
brokerDbNumber?: number;
|
|
875
|
+
backendDbNumber?: number;
|
|
876
|
+
brokerUrl?: string;
|
|
877
|
+
backendUrl?: string;
|
|
878
|
+
values?: object;
|
|
879
|
+
};
|
|
880
|
+
global?: {
|
|
881
|
+
dagsterHome?: string;
|
|
882
|
+
serviceAccountName?: string;
|
|
883
|
+
postgresqlSecretName?: string;
|
|
884
|
+
postgresqlAuthWifEnabled?: boolean;
|
|
885
|
+
celeryConfigSecretName?: string;
|
|
886
|
+
dagsterInstanceConfigMap?: string;
|
|
887
|
+
};
|
|
888
|
+
values?: {
|
|
889
|
+
global?: {
|
|
890
|
+
dagsterHome?: string;
|
|
891
|
+
serviceAccountName?: string;
|
|
892
|
+
postgresqlSecretName?: string;
|
|
893
|
+
postgresqlAuthWifEnabled?: boolean;
|
|
894
|
+
celeryConfigSecretName?: string;
|
|
895
|
+
dagsterInstanceConfigMap?: string;
|
|
896
|
+
};
|
|
897
|
+
nameOverride?: string;
|
|
898
|
+
fullnameOverride?: string;
|
|
899
|
+
rbacEnabled?: boolean;
|
|
900
|
+
imagePullSecrets?: {
|
|
901
|
+
name: string;
|
|
902
|
+
}[];
|
|
903
|
+
dagsterWebserver?: {
|
|
904
|
+
replicaCount?: number;
|
|
905
|
+
image?: {
|
|
906
|
+
repository: string;
|
|
907
|
+
tag?: string;
|
|
908
|
+
pullPolicy?: "Always" | "IfNotPresent" | "Never";
|
|
909
|
+
};
|
|
910
|
+
service?: {
|
|
911
|
+
type?: string;
|
|
912
|
+
port?: number;
|
|
913
|
+
annotations?: Record<string, string>;
|
|
914
|
+
};
|
|
915
|
+
pathPrefix?: string;
|
|
916
|
+
enableReadOnly?: boolean;
|
|
917
|
+
logFormat?: "json" | "colored" | "rich";
|
|
918
|
+
logLevel?: string;
|
|
919
|
+
workspace?: {
|
|
920
|
+
enabled?: boolean;
|
|
921
|
+
servers?: {
|
|
922
|
+
host: string;
|
|
923
|
+
port: number;
|
|
924
|
+
name?: string;
|
|
925
|
+
}[];
|
|
926
|
+
externalConfigmap?: string;
|
|
927
|
+
};
|
|
928
|
+
readinessProbe?: object;
|
|
929
|
+
livenessProbe?: object;
|
|
930
|
+
startupProbe?: object;
|
|
931
|
+
labels?: Record<string, string>;
|
|
932
|
+
nodeSelector?: Record<string, string>;
|
|
933
|
+
affinity?: object;
|
|
934
|
+
tolerations?: {
|
|
935
|
+
key?: string;
|
|
936
|
+
operator?: "Exists" | "Equal";
|
|
937
|
+
value?: string;
|
|
938
|
+
effect?: "NoSchedule" | "PreferNoSchedule" | "NoExecute";
|
|
939
|
+
tolerationSeconds?: number;
|
|
940
|
+
}[];
|
|
941
|
+
resources?: {
|
|
942
|
+
requests?: {
|
|
943
|
+
cpu?: string;
|
|
944
|
+
memory?: string;
|
|
945
|
+
};
|
|
946
|
+
limits?: {
|
|
947
|
+
cpu?: string;
|
|
948
|
+
memory?: string;
|
|
949
|
+
};
|
|
950
|
+
};
|
|
951
|
+
podSecurityContext?: object;
|
|
952
|
+
securityContext?: object;
|
|
953
|
+
volumes?: object[];
|
|
954
|
+
volumeMounts?: object[];
|
|
955
|
+
env?: {
|
|
956
|
+
name: string;
|
|
957
|
+
value?: string;
|
|
958
|
+
valueFrom?: Record<string, unknown>;
|
|
959
|
+
}[];
|
|
960
|
+
envConfigMaps?: {
|
|
961
|
+
name: string;
|
|
962
|
+
}[];
|
|
963
|
+
envSecrets?: {
|
|
964
|
+
name: string;
|
|
965
|
+
}[];
|
|
966
|
+
};
|
|
967
|
+
dagsterDaemon?: {
|
|
968
|
+
enabled?: boolean;
|
|
969
|
+
image?: {
|
|
970
|
+
repository: string;
|
|
971
|
+
tag?: string;
|
|
972
|
+
pullPolicy?: "Always" | "IfNotPresent" | "Never";
|
|
973
|
+
};
|
|
974
|
+
heartbeatTolerance?: number;
|
|
975
|
+
logFormat?: "json" | "colored" | "rich";
|
|
976
|
+
runCoordinator?: {
|
|
977
|
+
enabled?: boolean;
|
|
978
|
+
type?: "QueuedRunCoordinator" | "CustomRunCoordinator";
|
|
979
|
+
config?: object;
|
|
980
|
+
};
|
|
981
|
+
runMonitoring?: object;
|
|
982
|
+
runRetries?: object;
|
|
983
|
+
sensors?: object;
|
|
984
|
+
schedules?: object;
|
|
985
|
+
labels?: Record<string, string>;
|
|
986
|
+
nodeSelector?: Record<string, string>;
|
|
987
|
+
affinity?: object;
|
|
988
|
+
tolerations?: {
|
|
989
|
+
key?: string;
|
|
990
|
+
operator?: "Exists" | "Equal";
|
|
991
|
+
value?: string;
|
|
992
|
+
effect?: "NoSchedule" | "PreferNoSchedule" | "NoExecute";
|
|
993
|
+
tolerationSeconds?: number;
|
|
994
|
+
}[];
|
|
995
|
+
resources?: {
|
|
996
|
+
requests?: {
|
|
997
|
+
cpu?: string;
|
|
998
|
+
memory?: string;
|
|
999
|
+
};
|
|
1000
|
+
limits?: {
|
|
1001
|
+
cpu?: string;
|
|
1002
|
+
memory?: string;
|
|
1003
|
+
};
|
|
1004
|
+
};
|
|
1005
|
+
podSecurityContext?: object;
|
|
1006
|
+
securityContext?: object;
|
|
1007
|
+
volumes?: object[];
|
|
1008
|
+
volumeMounts?: object[];
|
|
1009
|
+
env?: {
|
|
1010
|
+
name: string;
|
|
1011
|
+
value?: string;
|
|
1012
|
+
valueFrom?: Record<string, unknown>;
|
|
1013
|
+
}[];
|
|
1014
|
+
envConfigMaps?: {
|
|
1015
|
+
name: string;
|
|
1016
|
+
}[];
|
|
1017
|
+
envSecrets?: {
|
|
1018
|
+
name: string;
|
|
1019
|
+
}[];
|
|
1020
|
+
};
|
|
1021
|
+
'dagster-user-deployments'?: {
|
|
1022
|
+
enabled?: boolean;
|
|
1023
|
+
enableSubchart?: boolean;
|
|
1024
|
+
imagePullSecrets?: {
|
|
1025
|
+
name: string;
|
|
1026
|
+
}[];
|
|
1027
|
+
deployments?: {
|
|
1028
|
+
name: string;
|
|
1029
|
+
image: {
|
|
1030
|
+
repository: string;
|
|
1031
|
+
tag?: string;
|
|
1032
|
+
pullPolicy?: "Always" | "IfNotPresent" | "Never";
|
|
1033
|
+
};
|
|
1034
|
+
dagsterApiGrpcArgs?: string[];
|
|
1035
|
+
codeServerArgs?: string[];
|
|
1036
|
+
port?: number;
|
|
1037
|
+
replicaCount?: number;
|
|
1038
|
+
includeConfigInLaunchedRuns?: {
|
|
1039
|
+
enabled?: boolean;
|
|
1040
|
+
};
|
|
1041
|
+
env?: {
|
|
1042
|
+
name: string;
|
|
1043
|
+
value?: string;
|
|
1044
|
+
valueFrom?: Record<string, unknown>;
|
|
1045
|
+
}[];
|
|
1046
|
+
envConfigMaps?: {
|
|
1047
|
+
name: string;
|
|
1048
|
+
}[];
|
|
1049
|
+
envSecrets?: {
|
|
1050
|
+
name: string;
|
|
1051
|
+
}[];
|
|
1052
|
+
labels?: Record<string, string>;
|
|
1053
|
+
annotations?: Record<string, string>;
|
|
1054
|
+
nodeSelector?: Record<string, string>;
|
|
1055
|
+
affinity?: object;
|
|
1056
|
+
tolerations?: {
|
|
1057
|
+
key?: string;
|
|
1058
|
+
operator?: "Exists" | "Equal";
|
|
1059
|
+
value?: string;
|
|
1060
|
+
effect?: "NoSchedule" | "PreferNoSchedule" | "NoExecute";
|
|
1061
|
+
tolerationSeconds?: number;
|
|
1062
|
+
}[];
|
|
1063
|
+
podSecurityContext?: object;
|
|
1064
|
+
securityContext?: object;
|
|
1065
|
+
resources?: {
|
|
1066
|
+
requests?: {
|
|
1067
|
+
cpu?: string;
|
|
1068
|
+
memory?: string;
|
|
1069
|
+
};
|
|
1070
|
+
limits?: {
|
|
1071
|
+
cpu?: string;
|
|
1072
|
+
memory?: string;
|
|
1073
|
+
};
|
|
1074
|
+
};
|
|
1075
|
+
volumes?: object[];
|
|
1076
|
+
volumeMounts?: object[];
|
|
1077
|
+
initContainers?: object[];
|
|
1078
|
+
sidecarContainers?: object[];
|
|
1079
|
+
readinessProbe?: object;
|
|
1080
|
+
livenessProbe?: object;
|
|
1081
|
+
startupProbe?: object;
|
|
1082
|
+
deploymentStrategy?: object;
|
|
1083
|
+
service?: {
|
|
1084
|
+
annotations?: Record<string, string>;
|
|
1085
|
+
};
|
|
1086
|
+
}[];
|
|
1087
|
+
};
|
|
1088
|
+
postgresql?: {
|
|
1089
|
+
enabled?: boolean;
|
|
1090
|
+
host?: string;
|
|
1091
|
+
username?: string;
|
|
1092
|
+
database?: string;
|
|
1093
|
+
password?: string;
|
|
1094
|
+
passwordSecretName?: string;
|
|
1095
|
+
servicePort?: number;
|
|
1096
|
+
params?: Record<string, string>;
|
|
1097
|
+
scheme?: string;
|
|
1098
|
+
authProvider?: object;
|
|
1099
|
+
values?: object;
|
|
1100
|
+
};
|
|
1101
|
+
generatePostgresqlPasswordSecret?: boolean;
|
|
1102
|
+
generateCeleryConfigSecret?: boolean;
|
|
1103
|
+
rabbitmq?: {
|
|
1104
|
+
enabled?: boolean;
|
|
1105
|
+
image?: {
|
|
1106
|
+
repository: string;
|
|
1107
|
+
tag?: string;
|
|
1108
|
+
pullPolicy?: "Always" | "IfNotPresent" | "Never";
|
|
1109
|
+
};
|
|
1110
|
+
username?: string;
|
|
1111
|
+
password?: string;
|
|
1112
|
+
servicePort?: number;
|
|
1113
|
+
values?: object;
|
|
1114
|
+
};
|
|
1115
|
+
redis?: {
|
|
1116
|
+
enabled?: boolean;
|
|
1117
|
+
internal?: boolean;
|
|
1118
|
+
image?: {
|
|
1119
|
+
repository: string;
|
|
1120
|
+
tag?: string;
|
|
1121
|
+
pullPolicy?: "Always" | "IfNotPresent" | "Never";
|
|
1122
|
+
};
|
|
1123
|
+
usePassword?: boolean;
|
|
1124
|
+
password?: string;
|
|
1125
|
+
host?: string;
|
|
1126
|
+
port?: number;
|
|
1127
|
+
brokerDbNumber?: number;
|
|
1128
|
+
backendDbNumber?: number;
|
|
1129
|
+
brokerUrl?: string;
|
|
1130
|
+
backendUrl?: string;
|
|
1131
|
+
values?: object;
|
|
1132
|
+
};
|
|
1133
|
+
runLauncher?: {
|
|
1134
|
+
type?: "K8sRunLauncher" | "CeleryK8sRunLauncher" | "CustomRunLauncher";
|
|
1135
|
+
k8sRunLauncher?: {
|
|
1136
|
+
imagePullPolicy?: "Always" | "IfNotPresent" | "Never";
|
|
1137
|
+
image?: {
|
|
1138
|
+
repository: string;
|
|
1139
|
+
tag?: string;
|
|
1140
|
+
pullPolicy?: "Always" | "IfNotPresent" | "Never";
|
|
1141
|
+
};
|
|
1142
|
+
jobNamespace?: string;
|
|
1143
|
+
loadInclusterConfig?: boolean;
|
|
1144
|
+
kubeconfigFile?: string;
|
|
1145
|
+
envConfigMaps?: {
|
|
1146
|
+
name: string;
|
|
1147
|
+
}[];
|
|
1148
|
+
envSecrets?: {
|
|
1149
|
+
name: string;
|
|
1150
|
+
}[];
|
|
1151
|
+
envVars?: string[];
|
|
1152
|
+
volumes?: object[];
|
|
1153
|
+
volumeMounts?: object[];
|
|
1154
|
+
labels?: Record<string, string>;
|
|
1155
|
+
resources?: {
|
|
1156
|
+
requests?: {
|
|
1157
|
+
cpu?: string;
|
|
1158
|
+
memory?: string;
|
|
1159
|
+
};
|
|
1160
|
+
limits?: {
|
|
1161
|
+
cpu?: string;
|
|
1162
|
+
memory?: string;
|
|
1163
|
+
};
|
|
1164
|
+
};
|
|
1165
|
+
runK8sConfig?: object;
|
|
1166
|
+
failPodOnRunFailure?: boolean;
|
|
1167
|
+
securityContext?: object;
|
|
1168
|
+
};
|
|
1169
|
+
celeryK8sRunLauncher?: {
|
|
1170
|
+
imagePullPolicy?: "Always" | "IfNotPresent" | "Never";
|
|
1171
|
+
image?: {
|
|
1172
|
+
repository: string;
|
|
1173
|
+
tag?: string;
|
|
1174
|
+
pullPolicy?: "Always" | "IfNotPresent" | "Never";
|
|
1175
|
+
};
|
|
1176
|
+
jobNamespace?: string;
|
|
1177
|
+
workerQueues?: {
|
|
1178
|
+
name: string;
|
|
1179
|
+
replicaCount?: number;
|
|
1180
|
+
labels?: Record<string, string>;
|
|
1181
|
+
nodeSelector?: Record<string, string>;
|
|
1182
|
+
configSource?: object;
|
|
1183
|
+
additionalCeleryArgs?: string[];
|
|
1184
|
+
}[];
|
|
1185
|
+
configSource?: object;
|
|
1186
|
+
env?: Record<string, string>;
|
|
1187
|
+
failPodOnRunFailure?: boolean;
|
|
1188
|
+
labels?: Record<string, string>;
|
|
1189
|
+
nodeSelector?: Record<string, string>;
|
|
1190
|
+
affinity?: object;
|
|
1191
|
+
tolerations?: {
|
|
1192
|
+
key?: string;
|
|
1193
|
+
operator?: "Exists" | "Equal";
|
|
1194
|
+
value?: string;
|
|
1195
|
+
effect?: "NoSchedule" | "PreferNoSchedule" | "NoExecute";
|
|
1196
|
+
tolerationSeconds?: number;
|
|
1197
|
+
}[];
|
|
1198
|
+
resources?: {
|
|
1199
|
+
requests?: {
|
|
1200
|
+
cpu?: string;
|
|
1201
|
+
memory?: string;
|
|
1202
|
+
};
|
|
1203
|
+
limits?: {
|
|
1204
|
+
cpu?: string;
|
|
1205
|
+
memory?: string;
|
|
1206
|
+
};
|
|
1207
|
+
};
|
|
1208
|
+
podSecurityContext?: object;
|
|
1209
|
+
securityContext?: object;
|
|
1210
|
+
volumes?: object[];
|
|
1211
|
+
volumeMounts?: object[];
|
|
1212
|
+
envConfigMaps?: {
|
|
1213
|
+
name: string;
|
|
1214
|
+
}[];
|
|
1215
|
+
envSecrets?: {
|
|
1216
|
+
name: string;
|
|
1217
|
+
}[];
|
|
1218
|
+
};
|
|
1219
|
+
customRunLauncher?: object;
|
|
1220
|
+
};
|
|
1221
|
+
scheduler?: {
|
|
1222
|
+
type?: "DagsterDaemonScheduler" | "CustomScheduler";
|
|
1223
|
+
config?: object;
|
|
1224
|
+
};
|
|
1225
|
+
computeLogManager?: {
|
|
1226
|
+
type?: "NoOpComputeLogManager" | "AzureBlobComputeLogManager" | "GCSComputeLogManager" | "S3ComputeLogManager" | "LocalComputeLogManager" | "CustomComputeLogManager";
|
|
1227
|
+
config?: object;
|
|
1228
|
+
};
|
|
1229
|
+
flower?: {
|
|
1230
|
+
enabled?: boolean;
|
|
1231
|
+
image?: {
|
|
1232
|
+
repository: string;
|
|
1233
|
+
tag?: string;
|
|
1234
|
+
pullPolicy?: "Always" | "IfNotPresent" | "Never";
|
|
1235
|
+
};
|
|
1236
|
+
service?: {
|
|
1237
|
+
type?: string;
|
|
1238
|
+
annotations?: Record<string, string>;
|
|
1239
|
+
port?: number;
|
|
1240
|
+
};
|
|
1241
|
+
livenessProbe?: object;
|
|
1242
|
+
startupProbe?: object;
|
|
1243
|
+
labels?: Record<string, string>;
|
|
1244
|
+
nodeSelector?: Record<string, string>;
|
|
1245
|
+
affinity?: object;
|
|
1246
|
+
tolerations?: {
|
|
1247
|
+
key?: string;
|
|
1248
|
+
operator?: "Exists" | "Equal";
|
|
1249
|
+
value?: string;
|
|
1250
|
+
effect?: "NoSchedule" | "PreferNoSchedule" | "NoExecute";
|
|
1251
|
+
tolerationSeconds?: number;
|
|
1252
|
+
}[];
|
|
1253
|
+
resources?: {
|
|
1254
|
+
requests?: {
|
|
1255
|
+
cpu?: string;
|
|
1256
|
+
memory?: string;
|
|
1257
|
+
};
|
|
1258
|
+
limits?: {
|
|
1259
|
+
cpu?: string;
|
|
1260
|
+
memory?: string;
|
|
1261
|
+
};
|
|
1262
|
+
};
|
|
1263
|
+
podSecurityContext?: object;
|
|
1264
|
+
securityContext?: object;
|
|
1265
|
+
volumes?: object[];
|
|
1266
|
+
volumeMounts?: object[];
|
|
1267
|
+
env?: {
|
|
1268
|
+
name: string;
|
|
1269
|
+
value?: string;
|
|
1270
|
+
valueFrom?: Record<string, unknown>;
|
|
1271
|
+
}[];
|
|
1272
|
+
envConfigMaps?: {
|
|
1273
|
+
name: string;
|
|
1274
|
+
}[];
|
|
1275
|
+
envSecrets?: {
|
|
1276
|
+
name: string;
|
|
1277
|
+
}[];
|
|
1278
|
+
};
|
|
1279
|
+
ingress?: {
|
|
1280
|
+
enabled?: boolean;
|
|
1281
|
+
annotations?: Record<string, string>;
|
|
1282
|
+
labels?: Record<string, string>;
|
|
1283
|
+
ingressClassName?: string;
|
|
1284
|
+
dagsterWebserver?: {
|
|
1285
|
+
host?: string;
|
|
1286
|
+
path?: string;
|
|
1287
|
+
pathType?: string;
|
|
1288
|
+
tls?: {
|
|
1289
|
+
enabled?: boolean;
|
|
1290
|
+
secretName?: string;
|
|
1291
|
+
};
|
|
1292
|
+
precedingPaths?: object[];
|
|
1293
|
+
succeedingPaths?: object[];
|
|
1294
|
+
};
|
|
1295
|
+
readOnlyDagsterWebserver?: {
|
|
1296
|
+
host?: string;
|
|
1297
|
+
path?: string;
|
|
1298
|
+
pathType?: string;
|
|
1299
|
+
tls?: {
|
|
1300
|
+
enabled?: boolean;
|
|
1301
|
+
secretName?: string;
|
|
1302
|
+
};
|
|
1303
|
+
precedingPaths?: object[];
|
|
1304
|
+
succeedingPaths?: object[];
|
|
1305
|
+
};
|
|
1306
|
+
flower?: {
|
|
1307
|
+
host?: string;
|
|
1308
|
+
path?: string;
|
|
1309
|
+
pathType?: string;
|
|
1310
|
+
tls?: {
|
|
1311
|
+
enabled?: boolean;
|
|
1312
|
+
secretName?: string;
|
|
1313
|
+
};
|
|
1314
|
+
precedingPaths?: object[];
|
|
1315
|
+
succeedingPaths?: object[];
|
|
1316
|
+
};
|
|
1317
|
+
};
|
|
1318
|
+
pythonLogs?: object;
|
|
1319
|
+
busybox?: object;
|
|
1320
|
+
extraManifests?: unknown[];
|
|
1321
|
+
dagsterHome?: string;
|
|
1322
|
+
serviceAccountName?: string;
|
|
1323
|
+
postgresqlSecretName?: string;
|
|
1324
|
+
postgresqlAuthWifEnabled?: boolean;
|
|
1325
|
+
celeryConfigSecretName?: string;
|
|
1326
|
+
dagsterInstanceConfigMap?: string;
|
|
1327
|
+
};
|
|
1328
|
+
}, {}>;
|
|
1329
|
+
/** Configuration for deploying Dagster through the bootstrap composition. */
|
|
1330
|
+
export type DagsterBootstrapConfig = Omit<typeof DagsterBootstrapConfigSchema.infer, 'webserver' | 'daemon' | 'userDeployments' | 'postgresql' | 'runLauncher' | 'scheduler' | 'computeLogManager' | 'ingress' | 'flower' | 'rabbitmq' | 'redis' | 'global' | 'values'> & {
|
|
1331
|
+
nameOverride?: string;
|
|
1332
|
+
fullnameOverride?: string;
|
|
1333
|
+
rbacEnabled?: boolean;
|
|
1334
|
+
imagePullSecrets?: DagsterNamedRef[];
|
|
1335
|
+
webserver?: DagsterWebserverConfig;
|
|
1336
|
+
daemon?: DagsterDaemonConfig;
|
|
1337
|
+
userDeployments?: DagsterUserDeploymentsConfig;
|
|
1338
|
+
postgresql?: DagsterPostgresqlConfig;
|
|
1339
|
+
runLauncher?: DagsterRunLauncherConfig;
|
|
1340
|
+
scheduler?: DagsterSchedulerConfig;
|
|
1341
|
+
computeLogManager?: DagsterComputeLogManagerConfig;
|
|
1342
|
+
ingress?: DagsterIngressConfig;
|
|
1343
|
+
flower?: DagsterFlowerConfig;
|
|
1344
|
+
rabbitmq?: DagsterRabbitmqConfig;
|
|
1345
|
+
redis?: DagsterRedisConfig;
|
|
1346
|
+
global?: DagsterGlobalConfig;
|
|
1347
|
+
values?: TypeKroChartValue<DagsterHelmValues>;
|
|
1348
|
+
};
|
|
1349
|
+
/** Component readiness exposed by `DagsterBootstrapStatus`. */
|
|
1350
|
+
export interface DagsterBootstrapComponentStatus {
|
|
1351
|
+
/** Whether the Flux HelmRepository is ready. */
|
|
1352
|
+
helmRepository: boolean;
|
|
1353
|
+
/** Whether the Flux HelmRelease is ready. */
|
|
1354
|
+
helmRelease: boolean;
|
|
1355
|
+
/** Whether the HelmRelease that owns webserver resources is ready. */
|
|
1356
|
+
webserver: boolean;
|
|
1357
|
+
/** Whether the HelmRelease that owns daemon resources is ready. */
|
|
1358
|
+
daemon: boolean;
|
|
1359
|
+
/** Whether the HelmRelease that owns user-code resources is ready. */
|
|
1360
|
+
userDeployments: boolean;
|
|
1361
|
+
}
|
|
1362
|
+
/** Observed Dagster bootstrap status derived from owned Helm resources. */
|
|
1363
|
+
export interface DagsterBootstrapStatus {
|
|
1364
|
+
/** Overall readiness from the owned HelmRelease Ready condition. */
|
|
1365
|
+
ready: boolean;
|
|
1366
|
+
/** Coarse deployment phase from the owned HelmRelease Ready condition. */
|
|
1367
|
+
phase: DagsterBootstrapPhase;
|
|
1368
|
+
/** Whether the owned HelmRelease Ready condition is explicitly False. */
|
|
1369
|
+
failed: boolean;
|
|
1370
|
+
/** Configured chart version. */
|
|
1371
|
+
version?: string;
|
|
1372
|
+
/** Component booleans derived from HelmRepository/HelmRelease readiness and config inclusion. */
|
|
1373
|
+
components: DagsterBootstrapComponentStatus;
|
|
1374
|
+
}
|
|
1375
|
+
/** ArkType schema for Dagster bootstrap status. */
|
|
1376
|
+
export declare const DagsterBootstrapStatusSchema: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
1377
|
+
ready: boolean;
|
|
1378
|
+
phase: "Ready" | "Failed" | "Installing";
|
|
1379
|
+
failed: boolean;
|
|
1380
|
+
components: {
|
|
1381
|
+
helmRepository: boolean;
|
|
1382
|
+
helmRelease: boolean;
|
|
1383
|
+
webserver: boolean;
|
|
1384
|
+
daemon: boolean;
|
|
1385
|
+
userDeployments: boolean;
|
|
1386
|
+
};
|
|
1387
|
+
version?: string;
|
|
1388
|
+
}, {}>;
|
|
1389
|
+
/** ArkType schema for the Dagster Helm chart repository wrapper. */
|
|
1390
|
+
export declare const DagsterHelmRepositoryConfigSchema: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
1391
|
+
name?: string;
|
|
1392
|
+
namespace?: string;
|
|
1393
|
+
url?: string;
|
|
1394
|
+
interval?: string;
|
|
1395
|
+
id?: string;
|
|
1396
|
+
}, {}>;
|
|
1397
|
+
/** Configuration for the Dagster HelmRepository wrapper. */
|
|
1398
|
+
export type DagsterHelmRepositoryConfig = typeof DagsterHelmRepositoryConfigSchema.infer;
|
|
1399
|
+
/**
|
|
1400
|
+
* Spec for the shared Dagster HelmRepository singleton composition. The official
|
|
1401
|
+
* Dagster chart repository is one cluster-level Flux source shared by every
|
|
1402
|
+
* Dagster instance, so it is deployed once via `singleton(...)`. These three
|
|
1403
|
+
* fields form the singleton's identity — all consumers must agree on them.
|
|
1404
|
+
*/
|
|
1405
|
+
export declare const DagsterHelmRepositorySingletonSpecSchema: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
1406
|
+
name: string;
|
|
1407
|
+
namespace: string;
|
|
1408
|
+
url: string;
|
|
1409
|
+
}, {}>;
|
|
1410
|
+
/** Status surfaced by the shared Dagster HelmRepository singleton. */
|
|
1411
|
+
export declare const DagsterHelmRepositorySingletonStatusSchema: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
1412
|
+
ready: boolean;
|
|
1413
|
+
}, {}>;
|
|
1414
|
+
/** ArkType schema for the Dagster Helm chart release wrapper. */
|
|
1415
|
+
export declare const DagsterHelmReleaseConfigSchema: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
1416
|
+
name: string;
|
|
1417
|
+
namespace?: string;
|
|
1418
|
+
version?: string;
|
|
1419
|
+
repositoryName?: string;
|
|
1420
|
+
repositoryNamespace?: string;
|
|
1421
|
+
values?: {
|
|
1422
|
+
global?: {
|
|
1423
|
+
dagsterHome?: string;
|
|
1424
|
+
serviceAccountName?: string;
|
|
1425
|
+
postgresqlSecretName?: string;
|
|
1426
|
+
postgresqlAuthWifEnabled?: boolean;
|
|
1427
|
+
celeryConfigSecretName?: string;
|
|
1428
|
+
dagsterInstanceConfigMap?: string;
|
|
1429
|
+
};
|
|
1430
|
+
nameOverride?: string;
|
|
1431
|
+
fullnameOverride?: string;
|
|
1432
|
+
rbacEnabled?: boolean;
|
|
1433
|
+
imagePullSecrets?: {
|
|
1434
|
+
name: string;
|
|
1435
|
+
}[];
|
|
1436
|
+
dagsterWebserver?: {
|
|
1437
|
+
replicaCount?: number;
|
|
1438
|
+
image?: {
|
|
1439
|
+
repository: string;
|
|
1440
|
+
tag?: string;
|
|
1441
|
+
pullPolicy?: "Always" | "IfNotPresent" | "Never";
|
|
1442
|
+
};
|
|
1443
|
+
service?: {
|
|
1444
|
+
type?: string;
|
|
1445
|
+
port?: number;
|
|
1446
|
+
annotations?: Record<string, string>;
|
|
1447
|
+
};
|
|
1448
|
+
pathPrefix?: string;
|
|
1449
|
+
enableReadOnly?: boolean;
|
|
1450
|
+
logFormat?: "json" | "colored" | "rich";
|
|
1451
|
+
logLevel?: string;
|
|
1452
|
+
workspace?: {
|
|
1453
|
+
enabled?: boolean;
|
|
1454
|
+
servers?: {
|
|
1455
|
+
host: string;
|
|
1456
|
+
port: number;
|
|
1457
|
+
name?: string;
|
|
1458
|
+
}[];
|
|
1459
|
+
externalConfigmap?: string;
|
|
1460
|
+
};
|
|
1461
|
+
readinessProbe?: object;
|
|
1462
|
+
livenessProbe?: object;
|
|
1463
|
+
startupProbe?: object;
|
|
1464
|
+
labels?: Record<string, string>;
|
|
1465
|
+
nodeSelector?: Record<string, string>;
|
|
1466
|
+
affinity?: object;
|
|
1467
|
+
tolerations?: {
|
|
1468
|
+
key?: string;
|
|
1469
|
+
operator?: "Exists" | "Equal";
|
|
1470
|
+
value?: string;
|
|
1471
|
+
effect?: "NoSchedule" | "PreferNoSchedule" | "NoExecute";
|
|
1472
|
+
tolerationSeconds?: number;
|
|
1473
|
+
}[];
|
|
1474
|
+
resources?: {
|
|
1475
|
+
requests?: {
|
|
1476
|
+
cpu?: string;
|
|
1477
|
+
memory?: string;
|
|
1478
|
+
};
|
|
1479
|
+
limits?: {
|
|
1480
|
+
cpu?: string;
|
|
1481
|
+
memory?: string;
|
|
1482
|
+
};
|
|
1483
|
+
};
|
|
1484
|
+
podSecurityContext?: object;
|
|
1485
|
+
securityContext?: object;
|
|
1486
|
+
volumes?: object[];
|
|
1487
|
+
volumeMounts?: object[];
|
|
1488
|
+
env?: {
|
|
1489
|
+
name: string;
|
|
1490
|
+
value?: string;
|
|
1491
|
+
valueFrom?: Record<string, unknown>;
|
|
1492
|
+
}[];
|
|
1493
|
+
envConfigMaps?: {
|
|
1494
|
+
name: string;
|
|
1495
|
+
}[];
|
|
1496
|
+
envSecrets?: {
|
|
1497
|
+
name: string;
|
|
1498
|
+
}[];
|
|
1499
|
+
};
|
|
1500
|
+
dagsterDaemon?: {
|
|
1501
|
+
enabled?: boolean;
|
|
1502
|
+
image?: {
|
|
1503
|
+
repository: string;
|
|
1504
|
+
tag?: string;
|
|
1505
|
+
pullPolicy?: "Always" | "IfNotPresent" | "Never";
|
|
1506
|
+
};
|
|
1507
|
+
heartbeatTolerance?: number;
|
|
1508
|
+
logFormat?: "json" | "colored" | "rich";
|
|
1509
|
+
runCoordinator?: {
|
|
1510
|
+
enabled?: boolean;
|
|
1511
|
+
type?: "QueuedRunCoordinator" | "CustomRunCoordinator";
|
|
1512
|
+
config?: object;
|
|
1513
|
+
};
|
|
1514
|
+
runMonitoring?: object;
|
|
1515
|
+
runRetries?: object;
|
|
1516
|
+
sensors?: object;
|
|
1517
|
+
schedules?: object;
|
|
1518
|
+
labels?: Record<string, string>;
|
|
1519
|
+
nodeSelector?: Record<string, string>;
|
|
1520
|
+
affinity?: object;
|
|
1521
|
+
tolerations?: {
|
|
1522
|
+
key?: string;
|
|
1523
|
+
operator?: "Exists" | "Equal";
|
|
1524
|
+
value?: string;
|
|
1525
|
+
effect?: "NoSchedule" | "PreferNoSchedule" | "NoExecute";
|
|
1526
|
+
tolerationSeconds?: number;
|
|
1527
|
+
}[];
|
|
1528
|
+
resources?: {
|
|
1529
|
+
requests?: {
|
|
1530
|
+
cpu?: string;
|
|
1531
|
+
memory?: string;
|
|
1532
|
+
};
|
|
1533
|
+
limits?: {
|
|
1534
|
+
cpu?: string;
|
|
1535
|
+
memory?: string;
|
|
1536
|
+
};
|
|
1537
|
+
};
|
|
1538
|
+
podSecurityContext?: object;
|
|
1539
|
+
securityContext?: object;
|
|
1540
|
+
volumes?: object[];
|
|
1541
|
+
volumeMounts?: object[];
|
|
1542
|
+
env?: {
|
|
1543
|
+
name: string;
|
|
1544
|
+
value?: string;
|
|
1545
|
+
valueFrom?: Record<string, unknown>;
|
|
1546
|
+
}[];
|
|
1547
|
+
envConfigMaps?: {
|
|
1548
|
+
name: string;
|
|
1549
|
+
}[];
|
|
1550
|
+
envSecrets?: {
|
|
1551
|
+
name: string;
|
|
1552
|
+
}[];
|
|
1553
|
+
};
|
|
1554
|
+
'dagster-user-deployments'?: {
|
|
1555
|
+
enabled?: boolean;
|
|
1556
|
+
enableSubchart?: boolean;
|
|
1557
|
+
imagePullSecrets?: {
|
|
1558
|
+
name: string;
|
|
1559
|
+
}[];
|
|
1560
|
+
deployments?: {
|
|
1561
|
+
name: string;
|
|
1562
|
+
image: {
|
|
1563
|
+
repository: string;
|
|
1564
|
+
tag?: string;
|
|
1565
|
+
pullPolicy?: "Always" | "IfNotPresent" | "Never";
|
|
1566
|
+
};
|
|
1567
|
+
dagsterApiGrpcArgs?: string[];
|
|
1568
|
+
codeServerArgs?: string[];
|
|
1569
|
+
port?: number;
|
|
1570
|
+
replicaCount?: number;
|
|
1571
|
+
includeConfigInLaunchedRuns?: {
|
|
1572
|
+
enabled?: boolean;
|
|
1573
|
+
};
|
|
1574
|
+
env?: {
|
|
1575
|
+
name: string;
|
|
1576
|
+
value?: string;
|
|
1577
|
+
valueFrom?: Record<string, unknown>;
|
|
1578
|
+
}[];
|
|
1579
|
+
envConfigMaps?: {
|
|
1580
|
+
name: string;
|
|
1581
|
+
}[];
|
|
1582
|
+
envSecrets?: {
|
|
1583
|
+
name: string;
|
|
1584
|
+
}[];
|
|
1585
|
+
labels?: Record<string, string>;
|
|
1586
|
+
annotations?: Record<string, string>;
|
|
1587
|
+
nodeSelector?: Record<string, string>;
|
|
1588
|
+
affinity?: object;
|
|
1589
|
+
tolerations?: {
|
|
1590
|
+
key?: string;
|
|
1591
|
+
operator?: "Exists" | "Equal";
|
|
1592
|
+
value?: string;
|
|
1593
|
+
effect?: "NoSchedule" | "PreferNoSchedule" | "NoExecute";
|
|
1594
|
+
tolerationSeconds?: number;
|
|
1595
|
+
}[];
|
|
1596
|
+
podSecurityContext?: object;
|
|
1597
|
+
securityContext?: object;
|
|
1598
|
+
resources?: {
|
|
1599
|
+
requests?: {
|
|
1600
|
+
cpu?: string;
|
|
1601
|
+
memory?: string;
|
|
1602
|
+
};
|
|
1603
|
+
limits?: {
|
|
1604
|
+
cpu?: string;
|
|
1605
|
+
memory?: string;
|
|
1606
|
+
};
|
|
1607
|
+
};
|
|
1608
|
+
volumes?: object[];
|
|
1609
|
+
volumeMounts?: object[];
|
|
1610
|
+
initContainers?: object[];
|
|
1611
|
+
sidecarContainers?: object[];
|
|
1612
|
+
readinessProbe?: object;
|
|
1613
|
+
livenessProbe?: object;
|
|
1614
|
+
startupProbe?: object;
|
|
1615
|
+
deploymentStrategy?: object;
|
|
1616
|
+
service?: {
|
|
1617
|
+
annotations?: Record<string, string>;
|
|
1618
|
+
};
|
|
1619
|
+
}[];
|
|
1620
|
+
};
|
|
1621
|
+
postgresql?: {
|
|
1622
|
+
enabled?: boolean;
|
|
1623
|
+
host?: string;
|
|
1624
|
+
username?: string;
|
|
1625
|
+
database?: string;
|
|
1626
|
+
password?: string;
|
|
1627
|
+
passwordSecretName?: string;
|
|
1628
|
+
servicePort?: number;
|
|
1629
|
+
params?: Record<string, string>;
|
|
1630
|
+
scheme?: string;
|
|
1631
|
+
authProvider?: object;
|
|
1632
|
+
values?: object;
|
|
1633
|
+
};
|
|
1634
|
+
generatePostgresqlPasswordSecret?: boolean;
|
|
1635
|
+
generateCeleryConfigSecret?: boolean;
|
|
1636
|
+
rabbitmq?: {
|
|
1637
|
+
enabled?: boolean;
|
|
1638
|
+
image?: {
|
|
1639
|
+
repository: string;
|
|
1640
|
+
tag?: string;
|
|
1641
|
+
pullPolicy?: "Always" | "IfNotPresent" | "Never";
|
|
1642
|
+
};
|
|
1643
|
+
username?: string;
|
|
1644
|
+
password?: string;
|
|
1645
|
+
servicePort?: number;
|
|
1646
|
+
values?: object;
|
|
1647
|
+
};
|
|
1648
|
+
redis?: {
|
|
1649
|
+
enabled?: boolean;
|
|
1650
|
+
internal?: boolean;
|
|
1651
|
+
image?: {
|
|
1652
|
+
repository: string;
|
|
1653
|
+
tag?: string;
|
|
1654
|
+
pullPolicy?: "Always" | "IfNotPresent" | "Never";
|
|
1655
|
+
};
|
|
1656
|
+
usePassword?: boolean;
|
|
1657
|
+
password?: string;
|
|
1658
|
+
host?: string;
|
|
1659
|
+
port?: number;
|
|
1660
|
+
brokerDbNumber?: number;
|
|
1661
|
+
backendDbNumber?: number;
|
|
1662
|
+
brokerUrl?: string;
|
|
1663
|
+
backendUrl?: string;
|
|
1664
|
+
values?: object;
|
|
1665
|
+
};
|
|
1666
|
+
runLauncher?: {
|
|
1667
|
+
type?: "K8sRunLauncher" | "CeleryK8sRunLauncher" | "CustomRunLauncher";
|
|
1668
|
+
k8sRunLauncher?: {
|
|
1669
|
+
imagePullPolicy?: "Always" | "IfNotPresent" | "Never";
|
|
1670
|
+
image?: {
|
|
1671
|
+
repository: string;
|
|
1672
|
+
tag?: string;
|
|
1673
|
+
pullPolicy?: "Always" | "IfNotPresent" | "Never";
|
|
1674
|
+
};
|
|
1675
|
+
jobNamespace?: string;
|
|
1676
|
+
loadInclusterConfig?: boolean;
|
|
1677
|
+
kubeconfigFile?: string;
|
|
1678
|
+
envConfigMaps?: {
|
|
1679
|
+
name: string;
|
|
1680
|
+
}[];
|
|
1681
|
+
envSecrets?: {
|
|
1682
|
+
name: string;
|
|
1683
|
+
}[];
|
|
1684
|
+
envVars?: string[];
|
|
1685
|
+
volumes?: object[];
|
|
1686
|
+
volumeMounts?: object[];
|
|
1687
|
+
labels?: Record<string, string>;
|
|
1688
|
+
resources?: {
|
|
1689
|
+
requests?: {
|
|
1690
|
+
cpu?: string;
|
|
1691
|
+
memory?: string;
|
|
1692
|
+
};
|
|
1693
|
+
limits?: {
|
|
1694
|
+
cpu?: string;
|
|
1695
|
+
memory?: string;
|
|
1696
|
+
};
|
|
1697
|
+
};
|
|
1698
|
+
runK8sConfig?: object;
|
|
1699
|
+
failPodOnRunFailure?: boolean;
|
|
1700
|
+
securityContext?: object;
|
|
1701
|
+
};
|
|
1702
|
+
celeryK8sRunLauncher?: {
|
|
1703
|
+
imagePullPolicy?: "Always" | "IfNotPresent" | "Never";
|
|
1704
|
+
image?: {
|
|
1705
|
+
repository: string;
|
|
1706
|
+
tag?: string;
|
|
1707
|
+
pullPolicy?: "Always" | "IfNotPresent" | "Never";
|
|
1708
|
+
};
|
|
1709
|
+
jobNamespace?: string;
|
|
1710
|
+
workerQueues?: {
|
|
1711
|
+
name: string;
|
|
1712
|
+
replicaCount?: number;
|
|
1713
|
+
labels?: Record<string, string>;
|
|
1714
|
+
nodeSelector?: Record<string, string>;
|
|
1715
|
+
configSource?: object;
|
|
1716
|
+
additionalCeleryArgs?: string[];
|
|
1717
|
+
}[];
|
|
1718
|
+
configSource?: object;
|
|
1719
|
+
env?: Record<string, string>;
|
|
1720
|
+
failPodOnRunFailure?: boolean;
|
|
1721
|
+
labels?: Record<string, string>;
|
|
1722
|
+
nodeSelector?: Record<string, string>;
|
|
1723
|
+
affinity?: object;
|
|
1724
|
+
tolerations?: {
|
|
1725
|
+
key?: string;
|
|
1726
|
+
operator?: "Exists" | "Equal";
|
|
1727
|
+
value?: string;
|
|
1728
|
+
effect?: "NoSchedule" | "PreferNoSchedule" | "NoExecute";
|
|
1729
|
+
tolerationSeconds?: number;
|
|
1730
|
+
}[];
|
|
1731
|
+
resources?: {
|
|
1732
|
+
requests?: {
|
|
1733
|
+
cpu?: string;
|
|
1734
|
+
memory?: string;
|
|
1735
|
+
};
|
|
1736
|
+
limits?: {
|
|
1737
|
+
cpu?: string;
|
|
1738
|
+
memory?: string;
|
|
1739
|
+
};
|
|
1740
|
+
};
|
|
1741
|
+
podSecurityContext?: object;
|
|
1742
|
+
securityContext?: object;
|
|
1743
|
+
volumes?: object[];
|
|
1744
|
+
volumeMounts?: object[];
|
|
1745
|
+
envConfigMaps?: {
|
|
1746
|
+
name: string;
|
|
1747
|
+
}[];
|
|
1748
|
+
envSecrets?: {
|
|
1749
|
+
name: string;
|
|
1750
|
+
}[];
|
|
1751
|
+
};
|
|
1752
|
+
customRunLauncher?: object;
|
|
1753
|
+
};
|
|
1754
|
+
scheduler?: {
|
|
1755
|
+
type?: "DagsterDaemonScheduler" | "CustomScheduler";
|
|
1756
|
+
config?: object;
|
|
1757
|
+
};
|
|
1758
|
+
computeLogManager?: {
|
|
1759
|
+
type?: "NoOpComputeLogManager" | "AzureBlobComputeLogManager" | "GCSComputeLogManager" | "S3ComputeLogManager" | "LocalComputeLogManager" | "CustomComputeLogManager";
|
|
1760
|
+
config?: object;
|
|
1761
|
+
};
|
|
1762
|
+
flower?: {
|
|
1763
|
+
enabled?: boolean;
|
|
1764
|
+
image?: {
|
|
1765
|
+
repository: string;
|
|
1766
|
+
tag?: string;
|
|
1767
|
+
pullPolicy?: "Always" | "IfNotPresent" | "Never";
|
|
1768
|
+
};
|
|
1769
|
+
service?: {
|
|
1770
|
+
type?: string;
|
|
1771
|
+
annotations?: Record<string, string>;
|
|
1772
|
+
port?: number;
|
|
1773
|
+
};
|
|
1774
|
+
livenessProbe?: object;
|
|
1775
|
+
startupProbe?: object;
|
|
1776
|
+
labels?: Record<string, string>;
|
|
1777
|
+
nodeSelector?: Record<string, string>;
|
|
1778
|
+
affinity?: object;
|
|
1779
|
+
tolerations?: {
|
|
1780
|
+
key?: string;
|
|
1781
|
+
operator?: "Exists" | "Equal";
|
|
1782
|
+
value?: string;
|
|
1783
|
+
effect?: "NoSchedule" | "PreferNoSchedule" | "NoExecute";
|
|
1784
|
+
tolerationSeconds?: number;
|
|
1785
|
+
}[];
|
|
1786
|
+
resources?: {
|
|
1787
|
+
requests?: {
|
|
1788
|
+
cpu?: string;
|
|
1789
|
+
memory?: string;
|
|
1790
|
+
};
|
|
1791
|
+
limits?: {
|
|
1792
|
+
cpu?: string;
|
|
1793
|
+
memory?: string;
|
|
1794
|
+
};
|
|
1795
|
+
};
|
|
1796
|
+
podSecurityContext?: object;
|
|
1797
|
+
securityContext?: object;
|
|
1798
|
+
volumes?: object[];
|
|
1799
|
+
volumeMounts?: object[];
|
|
1800
|
+
env?: {
|
|
1801
|
+
name: string;
|
|
1802
|
+
value?: string;
|
|
1803
|
+
valueFrom?: Record<string, unknown>;
|
|
1804
|
+
}[];
|
|
1805
|
+
envConfigMaps?: {
|
|
1806
|
+
name: string;
|
|
1807
|
+
}[];
|
|
1808
|
+
envSecrets?: {
|
|
1809
|
+
name: string;
|
|
1810
|
+
}[];
|
|
1811
|
+
};
|
|
1812
|
+
ingress?: {
|
|
1813
|
+
enabled?: boolean;
|
|
1814
|
+
annotations?: Record<string, string>;
|
|
1815
|
+
labels?: Record<string, string>;
|
|
1816
|
+
ingressClassName?: string;
|
|
1817
|
+
dagsterWebserver?: {
|
|
1818
|
+
host?: string;
|
|
1819
|
+
path?: string;
|
|
1820
|
+
pathType?: string;
|
|
1821
|
+
tls?: {
|
|
1822
|
+
enabled?: boolean;
|
|
1823
|
+
secretName?: string;
|
|
1824
|
+
};
|
|
1825
|
+
precedingPaths?: object[];
|
|
1826
|
+
succeedingPaths?: object[];
|
|
1827
|
+
};
|
|
1828
|
+
readOnlyDagsterWebserver?: {
|
|
1829
|
+
host?: string;
|
|
1830
|
+
path?: string;
|
|
1831
|
+
pathType?: string;
|
|
1832
|
+
tls?: {
|
|
1833
|
+
enabled?: boolean;
|
|
1834
|
+
secretName?: string;
|
|
1835
|
+
};
|
|
1836
|
+
precedingPaths?: object[];
|
|
1837
|
+
succeedingPaths?: object[];
|
|
1838
|
+
};
|
|
1839
|
+
flower?: {
|
|
1840
|
+
host?: string;
|
|
1841
|
+
path?: string;
|
|
1842
|
+
pathType?: string;
|
|
1843
|
+
tls?: {
|
|
1844
|
+
enabled?: boolean;
|
|
1845
|
+
secretName?: string;
|
|
1846
|
+
};
|
|
1847
|
+
precedingPaths?: object[];
|
|
1848
|
+
succeedingPaths?: object[];
|
|
1849
|
+
};
|
|
1850
|
+
};
|
|
1851
|
+
pythonLogs?: object;
|
|
1852
|
+
busybox?: object;
|
|
1853
|
+
extraManifests?: unknown[];
|
|
1854
|
+
dagsterHome?: string;
|
|
1855
|
+
serviceAccountName?: string;
|
|
1856
|
+
postgresqlSecretName?: string;
|
|
1857
|
+
postgresqlAuthWifEnabled?: boolean;
|
|
1858
|
+
celeryConfigSecretName?: string;
|
|
1859
|
+
dagsterInstanceConfigMap?: string;
|
|
1860
|
+
};
|
|
1861
|
+
id?: string;
|
|
1862
|
+
}, {}>;
|
|
1863
|
+
/** Configuration for the Dagster HelmRelease wrapper. */
|
|
1864
|
+
export type DagsterHelmReleaseConfig = Omit<typeof DagsterHelmReleaseConfigSchema.infer, 'values'> & {
|
|
1865
|
+
/** Graph-aware official Dagster chart values serialized recursively by TypeKro. */
|
|
1866
|
+
values?: TypeKroChartValue<DagsterHelmValues>;
|
|
1867
|
+
};
|
|
1868
|
+
/** One structured configuration issue produced by Dagster validation. */
|
|
1869
|
+
export interface DagsterConfigurationIssue {
|
|
1870
|
+
/** Stable machine-readable error code. */
|
|
1871
|
+
code: DagsterConfigurationErrorCode;
|
|
1872
|
+
/** Dot path to the invalid config field. */
|
|
1873
|
+
path: string;
|
|
1874
|
+
/** Human-readable message that does not include secret values. */
|
|
1875
|
+
message: string;
|
|
1876
|
+
/** Optional high-level component associated with the issue. */
|
|
1877
|
+
component?: DagsterComponentName;
|
|
1878
|
+
}
|
|
1879
|
+
/** Validation result for Dagster typed config. */
|
|
1880
|
+
export interface DagsterConfigValidationResult {
|
|
1881
|
+
/** True when no blocking validation issues were found. */
|
|
1882
|
+
valid: boolean;
|
|
1883
|
+
/** Structured issues; messages must not include secret values. */
|
|
1884
|
+
issues: DagsterConfigurationIssue[];
|
|
1885
|
+
}
|
|
1886
|
+
/** Structured context carried by Dagster TypeKro configuration errors. */
|
|
1887
|
+
export interface DagsterConfigurationErrorContext extends Record<string, unknown> {
|
|
1888
|
+
/** Optional instance/config name associated with validation. */
|
|
1889
|
+
name?: string;
|
|
1890
|
+
/** All validation issues that caused the failure. */
|
|
1891
|
+
issues: DagsterConfigurationIssue[];
|
|
1892
|
+
}
|
|
1893
|
+
/** Structured configuration error thrown by Dagster mapper/factory validation. */
|
|
1894
|
+
export interface DagsterConfigurationError extends TypeKroError {
|
|
1895
|
+
readonly name: 'DagsterConfigurationError';
|
|
1896
|
+
readonly code: DagsterConfigurationErrorCode;
|
|
1897
|
+
readonly context: DagsterConfigurationErrorContext;
|
|
1898
|
+
}
|
|
1899
|
+
/** Structured safe error returned by explicit Dagster lifecycle operation contracts. */
|
|
1900
|
+
export interface DagsterOperationError {
|
|
1901
|
+
/** Stable machine-readable operation error code. */
|
|
1902
|
+
code: DagsterOperationErrorCode;
|
|
1903
|
+
/** Safe diagnostic message that excludes passwords, tokens, URLs with credentials, and DSNs. */
|
|
1904
|
+
message: string;
|
|
1905
|
+
/** Affected Dagster component, when applicable. */
|
|
1906
|
+
component?: DagsterComponentName;
|
|
1907
|
+
/** Kubernetes resource name, when applicable. */
|
|
1908
|
+
resourceName?: string;
|
|
1909
|
+
/** Kubernetes namespace, when applicable. */
|
|
1910
|
+
namespace?: string;
|
|
1911
|
+
/** Config or status path that produced the error, when known. */
|
|
1912
|
+
path?: string;
|
|
1913
|
+
}
|
|
1914
|
+
/** Successful explicit Dagster operation result. */
|
|
1915
|
+
export interface DagsterOperationSuccess<T> {
|
|
1916
|
+
ok: true;
|
|
1917
|
+
value: T;
|
|
1918
|
+
}
|
|
1919
|
+
/** Failed explicit Dagster operation result with structured safe error details. */
|
|
1920
|
+
export interface DagsterOperationFailure {
|
|
1921
|
+
ok: false;
|
|
1922
|
+
error: DagsterOperationError;
|
|
1923
|
+
}
|
|
1924
|
+
/** Result type used by explicit Dagster lifecycle operation contracts. */
|
|
1925
|
+
export type DagsterOperationResult<T> = DagsterOperationSuccess<T> | DagsterOperationFailure;
|
|
1926
|
+
/** Public resource factory signature with an explicit typed error boundary. */
|
|
1927
|
+
export type DagsterResourceFactorySignature<TConfig, TSpec, TStatus> = {
|
|
1928
|
+
(config: Composable<TConfig>): Enhanced<TSpec, TStatus>;
|
|
1929
|
+
/** Structured errors thrown or surfaced by this factory use this shape. */
|
|
1930
|
+
readonly errorType?: DagsterOperationError;
|
|
1931
|
+
};
|
|
1932
|
+
/** Public utility signature with an explicit typed error boundary. */
|
|
1933
|
+
export type DagsterUtilitySignature<TInput, TOutput, TError extends TypeKroError | DagsterOperationError> = {
|
|
1934
|
+
(input: TInput): TOutput;
|
|
1935
|
+
/** Structured errors thrown or surfaced by this utility use this shape. */
|
|
1936
|
+
readonly errorType?: TError;
|
|
1937
|
+
};
|
|
1938
|
+
/** Direct resource factory with explicit Dagster operation error shape. */
|
|
1939
|
+
export type DagsterDirectFactoryWithErrors<TSpec extends object, TStatus extends object> = DirectResourceFactory<TSpec, TStatus> & {
|
|
1940
|
+
readonly errorType?: DagsterOperationError;
|
|
1941
|
+
};
|
|
1942
|
+
/** KRO resource factory with explicit Dagster operation error shape. */
|
|
1943
|
+
export type DagsterKroFactoryWithErrors<TSpec extends object, TStatus extends object> = KroResourceFactory<TSpec, TStatus> & {
|
|
1944
|
+
readonly errorType?: DagsterOperationError;
|
|
1945
|
+
};
|
|
1946
|
+
/** Public Dagster factory and composition error boundary map. */
|
|
1947
|
+
export interface DagsterFactoryErrorBoundary {
|
|
1948
|
+
dagsterHelmRepository: DagsterOperationError;
|
|
1949
|
+
dagsterHelmRelease: DagsterOperationError;
|
|
1950
|
+
dagsterBootstrap: DagsterOperationError;
|
|
1951
|
+
helmValuesMapper: DagsterOperationError;
|
|
1952
|
+
configValidator: DagsterOperationError;
|
|
1953
|
+
}
|
|
1954
|
+
/** Public values mapper contract. */
|
|
1955
|
+
export type DagsterHelmValuesMapper = DagsterUtilitySignature<DagsterBootstrapConfig, DagsterMappedHelmValues, DagsterConfigurationError>;
|
|
1956
|
+
/** Public validation contract for typed Dagster config. */
|
|
1957
|
+
export type DagsterConfigValidator = DagsterUtilitySignature<DagsterBootstrapConfig, DagsterConfigValidationResult, DagsterConfigurationError>;
|
|
1958
|
+
/** Dagster HelmRepository factory signature. */
|
|
1959
|
+
export type DagsterHelmRepositoryFactory = DagsterResourceFactorySignature<DagsterHelmRepositoryConfig, HelmRepositorySpec, HelmRepositoryStatus>;
|
|
1960
|
+
/** Dagster HelmRelease factory signature. */
|
|
1961
|
+
export type DagsterHelmReleaseFactory = DagsterResourceFactorySignature<DagsterHelmReleaseConfig, HelmReleaseSpec<DagsterHelmValues>, HelmReleaseStatus>;
|
|
1962
|
+
/** Direct-mode Dagster bootstrap factory inherited from TypeKro compositions. */
|
|
1963
|
+
export type DagsterBootstrapDirectFactory = DagsterDirectFactoryWithErrors<DagsterBootstrapConfig, DagsterBootstrapStatus>;
|
|
1964
|
+
/** KRO-mode Dagster bootstrap factory inherited from TypeKro compositions. */
|
|
1965
|
+
export type DagsterBootstrapKroFactory = DagsterKroFactoryWithErrors<DagsterBootstrapConfig, DagsterBootstrapStatus>;
|
|
1966
|
+
/** Public selector for creating Dagster direct or KRO factories. */
|
|
1967
|
+
export type DagsterBootstrapFactorySelector = {
|
|
1968
|
+
/** Create a direct-mode factory for deploy/apply/read/delete lifecycle operations. */
|
|
1969
|
+
(mode: 'direct', options?: PublicFactoryOptions): DagsterBootstrapDirectFactory;
|
|
1970
|
+
/** Create a KRO-mode factory for ResourceGraphDefinition-backed lifecycle operations. */
|
|
1971
|
+
(mode: 'kro', options?: PublicFactoryOptions): DagsterBootstrapKroFactory;
|
|
1972
|
+
/** Structured errors thrown or surfaced by factory creation use this shape. */
|
|
1973
|
+
readonly errorType?: DagsterOperationError;
|
|
1974
|
+
};
|
|
1975
|
+
/** Public YAML generation operation for the Dagster bootstrap composition. */
|
|
1976
|
+
export type DagsterBootstrapYamlOperation = {
|
|
1977
|
+
/** Generate ResourceGraphDefinition YAML or direct manifest YAML for the supplied spec. */
|
|
1978
|
+
(spec?: DagsterBootstrapConfig): string;
|
|
1979
|
+
/** Structured errors thrown or surfaced by YAML generation use this shape. */
|
|
1980
|
+
readonly errorType?: DagsterOperationError;
|
|
1981
|
+
};
|
|
1982
|
+
/** Public `dagsterBootstrap` composition contract. */
|
|
1983
|
+
export interface DagsterBootstrapComposition {
|
|
1984
|
+
/** Create a direct-mode or KRO-mode factory. */
|
|
1985
|
+
factory: DagsterBootstrapFactorySelector;
|
|
1986
|
+
/** Generate ResourceGraphDefinition YAML or direct manifest YAML for the supplied spec. */
|
|
1987
|
+
toYaml: DagsterBootstrapYamlOperation;
|
|
1988
|
+
/** Structured errors thrown or surfaced by the composition use this shape. */
|
|
1989
|
+
readonly errorType?: DagsterOperationError;
|
|
1990
|
+
}
|
|
1991
|
+
/** Create/update operation for Dagster bootstrap instances, inherited from TypeKro. */
|
|
1992
|
+
export type DagsterBootstrapCreateOrUpdateOperation = DagsterBootstrapDirectFactory['deploy'];
|
|
1993
|
+
/** Read/list operation for Dagster bootstrap instances, inherited from TypeKro. */
|
|
1994
|
+
export type DagsterBootstrapReadOperation = DagsterBootstrapDirectFactory['getInstances'];
|
|
1995
|
+
/** Delete operation for Dagster bootstrap instances, inherited from TypeKro. */
|
|
1996
|
+
export type DagsterBootstrapDeleteOperation = DagsterBootstrapDirectFactory['deleteInstance'];
|
|
1997
|
+
/** Declarative create/update operation for the Dagster HelmRepository wrapper. */
|
|
1998
|
+
export type DagsterHelmRepositoryCreateOrUpdateOperation = DagsterHelmRepositoryFactory;
|
|
1999
|
+
/** Declarative create/update operation for the Dagster HelmRelease wrapper. */
|
|
2000
|
+
export type DagsterHelmReleaseCreateOrUpdateOperation = DagsterHelmReleaseFactory;
|
|
2001
|
+
/** Read operation contract for the Dagster HelmRelease status shape. */
|
|
2002
|
+
export type DagsterHelmReleaseReadOperation = (name: string, namespace?: string) => DagsterOperationResult<HelmReleaseStatus>;
|
|
2003
|
+
/** Delete operation contract for the Dagster HelmRelease resource. */
|
|
2004
|
+
export type DagsterHelmReleaseDeleteOperation = (name: string, namespace?: string) => DagsterOperationResult<void>;
|
|
2005
|
+
/** Health check contract used by tests and operational diagnostics. */
|
|
2006
|
+
export interface DagsterHealthCheckStatus {
|
|
2007
|
+
/** Machine-readable health check name. */
|
|
2008
|
+
name: DagsterHealthCheckName;
|
|
2009
|
+
/** Affected Dagster component. */
|
|
2010
|
+
component: DagsterComponentName;
|
|
2011
|
+
/** Whether this check is healthy. */
|
|
2012
|
+
healthy: boolean;
|
|
2013
|
+
/** Safe diagnostic message that excludes secret values. */
|
|
2014
|
+
message?: string;
|
|
2015
|
+
/** Kubernetes resource name, when applicable. */
|
|
2016
|
+
resourceName?: string;
|
|
2017
|
+
/** Kubernetes namespace, when applicable. */
|
|
2018
|
+
namespace?: string;
|
|
2019
|
+
}
|
|
2020
|
+
/** Metrics configuration signal emitted by values mapping and operational diagnostics. */
|
|
2021
|
+
export interface DagsterMetricSignal {
|
|
2022
|
+
/** Machine-readable metric/configuration signal name. */
|
|
2023
|
+
name: DagsterMetricSignalName;
|
|
2024
|
+
/** Affected Dagster component. */
|
|
2025
|
+
component: DagsterComponentName;
|
|
2026
|
+
/** Whether the metric-producing feature is enabled or configured. */
|
|
2027
|
+
enabled: boolean;
|
|
2028
|
+
/** Optional safe metric endpoint or signal target. */
|
|
2029
|
+
endpoint?: string;
|
|
2030
|
+
/** Optional non-sensitive labels associated with this signal. */
|
|
2031
|
+
labels?: Record<string, string>;
|
|
2032
|
+
}
|
|
2033
|
+
/** Safe structured log event contract; secrets, DSNs, and credential URLs are excluded. */
|
|
2034
|
+
export interface DagsterOperationalLogEvent {
|
|
2035
|
+
/** Machine-readable operational event type. */
|
|
2036
|
+
type: DagsterOperationalEventType;
|
|
2037
|
+
/** Affected Dagster component. */
|
|
2038
|
+
component: DagsterComponentName;
|
|
2039
|
+
/** Kubernetes resource name, when applicable. */
|
|
2040
|
+
resourceName?: string;
|
|
2041
|
+
/** Kubernetes namespace, when applicable. */
|
|
2042
|
+
namespace?: string;
|
|
2043
|
+
/** Safe diagnostic message that excludes passwords, tokens, URLs with credentials, and DSNs. */
|
|
2044
|
+
message: string;
|
|
2045
|
+
}
|
|
2046
|
+
/** Contract for graph-aware values merge behavior used by `mapDagsterConfigToHelmValues`. */
|
|
2047
|
+
export interface DagsterValuesMergeContract {
|
|
2048
|
+
/** Typed convenience values are generated first. */
|
|
2049
|
+
typedValuesFirst: true;
|
|
2050
|
+
/** User-supplied raw official chart values merge last and win conflicts. */
|
|
2051
|
+
rawValuesMergeLast: true;
|
|
2052
|
+
/** Plain objects merge recursively. */
|
|
2053
|
+
deepMergeObjects: true;
|
|
2054
|
+
/** Arrays replace earlier arrays rather than concatenate. */
|
|
2055
|
+
arraysReplace: true;
|
|
2056
|
+
/** Primitive raw values override typed values. */
|
|
2057
|
+
primitivesOverride: true;
|
|
2058
|
+
/** Kubernetes refs, CEL expressions, and values-merge expressions are preserved. */
|
|
2059
|
+
graphAwareValuesPreserved: true;
|
|
2060
|
+
}
|
|
2061
|
+
//# sourceMappingURL=types.d.ts.map
|