zenml-nightly 0.73.0.dev20250204__py3-none-any.whl → 0.73.0.dev20250206__py3-none-any.whl

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 (46) hide show
  1. zenml/VERSION +1 -1
  2. zenml/cli/utils.py +42 -53
  3. zenml/client.py +6 -2
  4. zenml/constants.py +1 -0
  5. zenml/integrations/gcp/image_builders/gcp_image_builder.py +5 -8
  6. zenml/models/__init__.py +4 -2
  7. zenml/models/v2/base/filter.py +34 -11
  8. zenml/models/v2/base/scoped.py +4 -4
  9. zenml/models/v2/core/artifact.py +3 -3
  10. zenml/models/v2/core/artifact_version.py +22 -5
  11. zenml/models/v2/core/model.py +13 -3
  12. zenml/models/v2/core/model_version.py +13 -3
  13. zenml/models/v2/core/pipeline.py +11 -4
  14. zenml/models/v2/core/pipeline_run.py +20 -7
  15. zenml/models/v2/core/run_template.py +13 -3
  16. zenml/models/v2/core/step_run.py +9 -2
  17. zenml/pipelines/pipeline_definition.py +28 -12
  18. zenml/stack/stack.py +5 -0
  19. zenml/zen_stores/schemas/artifact_schemas.py +31 -4
  20. zenml/zen_stores/schemas/model_schemas.py +31 -6
  21. zenml/zen_stores/schemas/pipeline_run_schemas.py +1 -1
  22. zenml/zen_stores/schemas/pipeline_schemas.py +35 -8
  23. zenml/zen_stores/schemas/run_template_schemas.py +42 -14
  24. zenml/zen_stores/sql_zen_store.py +22 -56
  25. {zenml_nightly-0.73.0.dev20250204.dist-info → zenml_nightly-0.73.0.dev20250206.dist-info}/METADATA +1 -1
  26. {zenml_nightly-0.73.0.dev20250204.dist-info → zenml_nightly-0.73.0.dev20250206.dist-info}/RECORD +29 -46
  27. zenml/zen_server/deploy/helm/.helmignore +0 -23
  28. zenml/zen_server/deploy/helm/Chart.yaml +0 -12
  29. zenml/zen_server/deploy/helm/README.md +0 -50
  30. zenml/zen_server/deploy/helm/templates/NOTES.txt +0 -52
  31. zenml/zen_server/deploy/helm/templates/_environment.tpl +0 -511
  32. zenml/zen_server/deploy/helm/templates/_helpers.tpl +0 -70
  33. zenml/zen_server/deploy/helm/templates/cert-secret.yaml +0 -45
  34. zenml/zen_server/deploy/helm/templates/hpa.yaml +0 -32
  35. zenml/zen_server/deploy/helm/templates/server-db-job.yaml +0 -121
  36. zenml/zen_server/deploy/helm/templates/server-db-pvc.yaml +0 -25
  37. zenml/zen_server/deploy/helm/templates/server-deployment.yaml +0 -132
  38. zenml/zen_server/deploy/helm/templates/server-ingress.yaml +0 -59
  39. zenml/zen_server/deploy/helm/templates/server-secret.yaml +0 -60
  40. zenml/zen_server/deploy/helm/templates/server-service.yaml +0 -15
  41. zenml/zen_server/deploy/helm/templates/serviceaccount.yaml +0 -27
  42. zenml/zen_server/deploy/helm/templates/tests/test-connection.yaml +0 -15
  43. zenml/zen_server/deploy/helm/values.yaml +0 -1008
  44. {zenml_nightly-0.73.0.dev20250204.dist-info → zenml_nightly-0.73.0.dev20250206.dist-info}/LICENSE +0 -0
  45. {zenml_nightly-0.73.0.dev20250204.dist-info → zenml_nightly-0.73.0.dev20250206.dist-info}/WHEEL +0 -0
  46. {zenml_nightly-0.73.0.dev20250204.dist-info → zenml_nightly-0.73.0.dev20250206.dist-info}/entry_points.txt +0 -0
@@ -1,1008 +0,0 @@
1
- # Default values for zenml.
2
-
3
- imagePullSecrets: []
4
- nameOverride: ""
5
- fullnameOverride: ""
6
-
7
-
8
- # ZenML server related options.
9
- zenml:
10
-
11
- replicaCount: 1
12
-
13
- # The number of ZenML server worker threads to use. This controls the number
14
- # of concurrent requests that each ZenML server pod/replica can handle at a
15
- # time. If not specified, the default value is 40.
16
- #
17
- # NOTE: this value should be coordinated with the `zenml.database.poolSize`
18
- # and `zenml.database.maxOverflow` values to ensure that the ZenML server
19
- # workers do not block on database connections (i.e. the sum of the pool size
20
- # and max overflow should be greater than or equal to the thread pool size).
21
- #
22
- # threadPoolSize: 40
23
-
24
- image:
25
- repository: zenmldocker/zenml-server
26
- pullPolicy: Always
27
- # Overrides the image tag whose default is the chart appVersion.
28
- tag:
29
-
30
- # ZenML Pro related options.
31
- pro:
32
- # Set `enabled` to true to enable ZenML Pro servers. If set, some of the
33
- # configuration options in the `zenml` section will be overridden with
34
- # values specific to ZenML Pro servers computed from the values set in the
35
- # `pro` section.
36
- enabled: false
37
-
38
- # The URL where the ZenML Pro server API is reachable
39
- apiURL: https://cloudapi.zenml.io
40
-
41
- # The URL where the ZenML Pro dashboard is reachable.
42
- dashboardURL: https://cloud.zenml.io
43
-
44
- # Additional origins to allow in the CORS policy.
45
- extraCorsOrigins:
46
-
47
- # The ID of the ZenML Pro tenant to use.
48
- tenantID:
49
-
50
- # The name of the ZenML Pro tenant to use.
51
- tenantName:
52
-
53
- # The ID of the ZenML Pro organization to use.
54
- organizationID:
55
-
56
- # The name of the ZenML Pro organization to use.
57
- organizationName:
58
-
59
- # The enrollment key to use for the ZenML Pro tenant. If not specified,
60
- # an enrollment key will be auto-generated.
61
- enrollmentKey:
62
-
63
- # The URL where the ZenML server API is reachable. If not specified, the
64
- # clients will use the same URL used to connect them to the ZenML server.
65
- #
66
- # IMPORTANT: this value must be set for ZenML Pro servers.
67
- serverURL:
68
-
69
- # The URL where the ZenML dashboard is reachable.
70
- # If not specified, the `serverURL` value is used. This should be
71
- # configured if the dashboard is served from a different URL than the
72
- # ZenML server.
73
- #
74
- # This is value is used to compute the dashboard URLs during the web login
75
- # authentication workflow, to print dashboard URLs in log messages when
76
- # running a pipeline and for other similar tasks.
77
- #
78
- # This value is overridden if the `zenml.pro.enabled` value is set.
79
- dashboardURL:
80
-
81
- debug: true
82
-
83
- # Flag to enable/disable the tracking process of the analytics
84
- analyticsOptIn: true
85
-
86
- # ZenML server deployment type. This field is used for telemetry purposes.
87
- # Example values are "local", "kubernetes", "aws", "gcp", "azure".
88
- #
89
- # This value is overridden if the `zenml.pro.enabled` value is set.
90
- deploymentType:
91
-
92
- # Authentication settings that control how the ZenML server authenticates
93
- # its users.
94
- auth:
95
-
96
- # The ZenML authentication scheme. Use one of:
97
- #
98
- # NO_AUTH - No authentication
99
- # HTTP_BASIC - HTTP Basic authentication
100
- # OAUTH2_PASSWORD_BEARER - OAuth2 password bearer
101
- # EXTERNAL - External authentication (e.g. via a remote authenticator)
102
- #
103
- # This value is overridden if the `zenml.pro.enabled` value is set.
104
- authType: OAUTH2_PASSWORD_BEARER
105
-
106
- # The secret key used to sign JWT tokens. This should be set to
107
- # a random string with a recommended length of at least 32 characters, e.g.:
108
- #
109
- # ```python
110
- # from secrets import token_hex
111
- # token_hex(32)
112
- # ```
113
- #
114
- # or:
115
- #
116
- # ```shell
117
- # openssl rand -hex 32
118
- # ```
119
- #
120
- # If not explicitly set, a random key will be generated when the helm
121
- # chart is installed and reused for all subsequent upgrades.
122
- jwtSecretKey:
123
-
124
- # The JWT token algorithm to use. Use one of:
125
- #
126
- # HS256 - HMAC using SHA-256 hash algorithm
127
- # HS384 - HMAC using SHA-384 hash algorithm
128
- # HS512 - HMAC using SHA-512 hash algorithm
129
- jwtTokenAlgorithm: HS256
130
-
131
- # The issuer of the JWT tokens. If not specified, the issuer is set to the
132
- # ZenML Server ID.
133
- jwtTokenIssuer:
134
-
135
- # The audience of the JWT tokens. If not specified, the audience is set to
136
- # the ZenML Server ID.
137
- jwtTokenAudience:
138
-
139
- # The leeway in seconds allowed when verifying the expiration time of JWT
140
- # tokens.
141
- jwtTokenLeewaySeconds: 10
142
-
143
- # The expiration time of JWT tokens in minutes. If not specified, generated
144
- # JWT tokens will not be set to expire.
145
- #
146
- # This value is automatically set if the `zenml.pro.enabled` value is set.
147
- jwtTokenExpireMinutes:
148
-
149
- # The name of the http-only cookie used to store the JWT tokens used to
150
- # authenticate web clients. If not specified, the cookie name is set to a
151
- # value computed from the ZenML server ID.
152
- authCookieName:
153
-
154
- # The domain of the http-only cookie used to store the JWT tokens used to
155
- # authenticate web clients. If not specified, the cookie domain is set to
156
- # the domain of the ZenML server.
157
- authCookieDomain:
158
-
159
- # The origins allowed to make cross-origin requests to the ZenML server. If
160
- # not specified, all origins are allowed. Set this when the ZenML dashboard
161
- # is hosted on a different domain than the ZenML server.
162
- #
163
- # This value is overridden if the `zenml.pro.enabled` value is set.
164
- corsAllowOrigins:
165
- - "*"
166
-
167
- # The maximum number of failed authentication attempts allowed for an OAuth
168
- # 2.0 device before the device is locked.
169
- #
170
- # This value is ignored if the `zenml.auth.authType` is set to `EXTERNAL` or
171
- # `NO_AUTH`.
172
- maxFailedDeviceAuthAttempts: 3
173
-
174
- # The timeout in seconds after which a pending OAuth 2.0 device
175
- # authorization request expires.
176
- #
177
- # This value is ignored if the `zenml.auth.authType` is set to `EXTERNAL` or
178
- # `NO_AUTH`.
179
- deviceAuthTimeout: 300
180
-
181
- # The polling interval in seconds used by clients to poll the OAuth 2.0
182
- # device authorization endpoint for the status of a pending device
183
- # authorization request.
184
- #
185
- # This value is ignored if the `zenml.auth.authType` is set to `EXTERNAL` or
186
- # `NO_AUTH`.
187
- deviceAuthPollingInterval: 5
188
-
189
- # The time in minutes that an OAuth 2.0 device is allowed to be used to
190
- # authenticate with the ZenML server. If not set or if
191
- # `zenml.auth.jwtTokenExpireMinutes` is not set, the devices are allowed to
192
- # be used indefinitely. This controls the expiration time of the JWT tokens
193
- # issued to clients after they have authenticated with the ZenML server
194
- # using an OAuth 2.0 device.
195
- #
196
- # This value is ignored if the `zenml.auth.authType` is set to `EXTERNAL` or
197
- # `NO_AUTH`.
198
- deviceExpirationMinutes:
199
-
200
- # The time in minutes that a trusted OAuth 2.0 device is allowed to be used
201
- # to authenticate with the ZenML server. If not set or if
202
- # `zenml.auth.jwtTokenExpireMinutes` is not set, the devices are allowed to
203
- # be used indefinitely. This controls the expiration time of the JWT tokens
204
- # issued to clients after they have authenticated with the ZenML server
205
- # using an OAuth 2.0 device that was previously trusted by the user.
206
- #
207
- # This value is ignored if the `zenml.auth.authType` is set to `EXTERNAL` or
208
- # `NO_AUTH`.
209
- trustedDeviceExpirationMinutes:
210
-
211
- # The login URL of an external authenticator service to use with the
212
- # `EXTERNAL` authentication scheme. Only relevant if `zenml.auth.authType`
213
- # is set to `EXTERNAL`.
214
- #
215
- # This value is overridden if the `zenml.pro.enabled` value is set.
216
- externalLoginURL:
217
-
218
- # The user info URL of an external authenticator service to use with the
219
- # `EXTERNAL` authentication scheme. Only relevant if `zenml.auth.authType`
220
- # is set to `EXTERNAL`.
221
- #
222
- # This value is overridden if the `zenml.pro.enabled` value is set.
223
- externalUserInfoURL:
224
-
225
- # The UUID of the ZenML server to use with the `EXTERNAL` authentication
226
- # scheme. If not specified, the regular ZenML server ID (deployment ID) is
227
- # used.
228
- #
229
- # This value is overridden if the `zenml.pro.enabled` value is set.
230
- externalServerID:
231
-
232
- # Source pointing to a class implementing the RBAC interface defined by
233
- # `zenml.zen_server.rbac.rbac_interface.RBACInterface`. If not specified,
234
- # RBAC will not be enabled for this server.
235
- #
236
- # This value is overridden if the `zenml.pro.enabled` value is set.
237
- rbacImplementationSource:
238
-
239
- # Source pointing to a class implementing the feature gate interface defined
240
- # by `zenml.zen_server.feature_gate.feature_gate_interface.FeatureGateInterface`.
241
- # If not specified, feature gating will not be enabled for this server.
242
- #
243
- # This value is overridden if the `zenml.pro.enabled` value is set.
244
- featureGateImplementationSource:
245
-
246
- # The root URL path to use when behind a proxy. This is useful when the
247
- # `rewrite-target` annotation is used in the ingress controller, e.g.:
248
- #
249
- # ```yaml
250
- # rootUrlPath: /zenml
251
- #
252
- # ingress:
253
- # enabled: true
254
- # className: "nginx"
255
- # annotations:
256
- # nginx.ingress.kubernetes.io/rewrite-target: /$1
257
- # host:
258
- # path: /zenml/?(.*)
259
- # ```
260
- rootUrlPath:
261
-
262
- defaultProject: default
263
-
264
- # Implicit authentication methods featured by service connectors that support
265
- # them are disabled by default, for security reasons. This is because they
266
- # allow users to authenticate to the cloud provider where ZenML is running
267
- # without having to provide any credentials.
268
- enableImplicitAuthMethods: false
269
-
270
- # MySQL database configuration. If not set, a local sqlite database will be
271
- # used, which will not be persisted across pod restarts.
272
- # NOTE: the certificate files need to be copied in the helm chart folder and
273
- # the paths configured here need to be relative to the root of the helm chart.
274
- database:
275
- # url: "mysql://admin:password@zenml-mysql:3306/database"
276
- # sslCa: /path/to/ca.pem
277
- # sslCert: /path/to/client-cert.pem
278
- # sslKey: /path/to/client-key.pem
279
- # sslVerifyServerCert: True
280
-
281
- # Connection pool settings (only relevant for MySQL databases).
282
- #
283
- # NOTE: these values should be coordinated with the `zenml.threadPoolSize`
284
- # to ensure that the ZenML server workers do not block on database
285
- # connections (i.e. the sum of the pool size and max overflow should be
286
- # greater than or equal to the thread pool size).
287
- #
288
- # poolSize: 20
289
- # maxOverflow: 20
290
-
291
- # ZenML supports backing up the database before DB migrations are performed
292
- # and restoring it in case of a DB migration failure. For more information,
293
- # see the following documentation:
294
- # https://docs.zenml.io/getting-started/deploying-zenml/deploy-with-helm#database-backup-and-recovery
295
- #
296
- # Several backup strategies are supported:
297
- #
298
- # disabled - no backup is performed
299
- # in-memory - the database schema and data are stored in memory. This is
300
- # the fastest backup strategy, but the backup is not persisted
301
- # across pod restarts, so no manual intervention is possible
302
- # in case the automatic DB recovery fails after a failed DB
303
- # migration. Adequate memory resources should be allocated to
304
- # the ZenML server pod when using this backup strategy with
305
- # large databases.
306
- # This is the default backup strategy.
307
- # dump-file - the database schema and data are dumped to a local file.
308
- # Users may optionally configure a persistent volume where
309
- # the dump file will be stored by setting the
310
- # `backupPVStorageSize` and optionally the
311
- # `backupPVStorageClass` options. If a
312
- # persistent volume is not configured, the dump file will be
313
- # stored in an emptyDir volume, which is not persisted.
314
- # NOTE: you should set the podSecurityContext.fsGroup option
315
- # if you are using a persistent volume to store the dump file.
316
- # database - the database is copied to a backup database in the same
317
- # database server. This requires the `backupDatabase`
318
- # option to be set to the name of the backup database.
319
- # This backup strategy is only supported for MySQL
320
- # compatible databases and the user specified in the
321
- # database URL must have permissions to manage (create, drop, and
322
- # modify) the backup database in addition to the main
323
- # database.
324
- backupStrategy: in-memory
325
- # backupPVStorageClass: standard
326
- # backupPVStorageSize: 1Gi
327
- # backupDatabase: "zenml_backup"
328
-
329
-
330
- # Secrets store settings. This is used to store centralized secrets.
331
- secretsStore:
332
-
333
- # Set to false to disable the secrets store.
334
- enabled: true
335
-
336
- # The type of secrets store to use. Use one of:
337
- #
338
- # sql - Use the same SQL database as the ZenML server
339
- # aws - Use the AWS Secrets Manager as a secrets store
340
- # gcp - Use the GCP Secrets Manager as a secrets store
341
- # azure - Use the Azure Key Vault as a secrets store
342
- # hashicorp - Use the HashiCorp Vault as a secrets store
343
- # custom - Use a custom secrets store implementation (needs a custom
344
- # ZenML server image with the custom secrets store implementation
345
- # installed)
346
- #
347
- # Depending on the type, additional configuration options may be required
348
- # under the respective sections.
349
- #
350
- type: sql
351
-
352
- # SQL secrets store configuration. Only relevant if the `sql` secrets store
353
- # type is configured.
354
- sql:
355
-
356
- # The secret key used to encrypt secrets in the SQL database. Only relevant
357
- # if the SQL secrets store type is used. This should be set to a random
358
- # string with a recommended length of at least 32 characters, e.g.:
359
- #
360
- # ```python
361
- # from secrets import token_hex
362
- # token_hex(32)
363
- # ```
364
- #
365
- # or:
366
- #
367
- # ```shell
368
- # openssl rand -hex 32
369
- # ```
370
- #
371
- # If not set, database secret encryption will be disabled.
372
- #
373
- # IMPORTANT: If you configure encryption for your SQL database secrets
374
- # store, you should keep this value somewhere safe and secure, as it will be
375
- # required to decrypt the secrets in the database. If you lose the
376
- # encryption key, you will not be able to decrypt the secrets in the
377
- # database and will have to reset them. You should not change this value
378
- # after you have already configured encryption for your SQL database
379
- # secrets store.
380
- encryptionKey:
381
-
382
- # AWS secrets store configuration. Only relevant if the `aws` secrets store
383
- # type is configured.
384
- #
385
- # The AWS secrets store uses the AWS Service Connector under the hood to
386
- # authenticate with the AWS Secrets Manager API. This means that you can
387
- # use the same authentication methods and configuration as you would use for
388
- # the AWS Service Connector. Just set the `authMethod` field to the
389
- # authentication method that you want to use and set the required
390
- # configuration attributes under the `authConfig` field.
391
- #
392
- # For a list of supported authentication methods and their configuration
393
- # options, see the following documentation:
394
- # https://docs.zenml.io/how-to/auth-management/aws-service-connector#authentication-methods
395
- #
396
- # You can also use the ZenML CLI to get the list of supported authentication
397
- # methods and their configuration options, e.g.:
398
- #
399
- # ```shell
400
- # zenml service-connector describe-type aws
401
- # zenml service-connector describe-type aws --auth-method secret-key
402
- # ```
403
- aws:
404
-
405
- # The AWS Service Connector authentication method to use. The currently
406
- # supported authentication methods are:
407
- #
408
- # - implicit - Use the IAM role attached to the ZenML server pod or
409
- # environment variables to authenticate with the AWS Secrets
410
- # Manager API
411
- # - secret-key - Use an AWS secret key
412
- # - iam-role - Use an IAM role
413
- # - session-token - Use an AWS session token derived from an AWS secret
414
- # key
415
- # - federation-token - Use an AWS federation token derived from an AWS
416
- # secret key
417
- authMethod: secret-key
418
-
419
- # The AWS Service Connector authentication configuration. This should
420
- # include the corresponding authentication configuration attributes for
421
- # the `authMethod` that you have chosen above.
422
- authConfig:
423
- # The AWS region to use. This must be set to the region where the AWS
424
- # Secrets Manager service that you want to use is located. Mandatory
425
- # for all authentication methods.
426
- region:
427
- # The AWS access key and secret key to use to authenticate with the AWS
428
- # Secrets Manager instance. Both are required if the `authMethod` is set
429
- # to `secret-key`, `sts-token`, `iam-role`, or `federation-token`.
430
- aws_access_key_id:
431
- aws_secret_access_key:
432
- # The AWS role ARN to use to authenticate with the AWS Secrets Manager
433
- # instance. Required if the `authMethod` is set to `iam-role`. Optional
434
- # if the `authMethod` is set to `implicit`.
435
- role_arn:
436
-
437
- # The AWS region to use. This must be set to the region where the AWS
438
- # Secrets Manager service that you want to use is located.
439
- #
440
- # NOTE: deprecated; use `authConfig.region` instead.
441
- region_name:
442
-
443
- # The AWS credentials to use to authenticate with the AWS Secrets
444
- # Manager instance. You can omit these if you are running the ZenML server
445
- # in an AWS EKS cluster that has an IAM role attached to it that has
446
- # permissions to access the AWS Secrets Manager instance.
447
- #
448
- # NOTE: deprecated; use `authConfig.aws_access_key_id`,
449
- # and `authConfig.aws_secret_access_key` instead.
450
- aws_access_key_id:
451
- aws_secret_access_key:
452
- aws_session_token:
453
-
454
-
455
- # GCP secrets store configuration. Only relevant if the `gcp` secrets store
456
- # type is configured.
457
- #
458
- # The GCP secrets store uses the GCP Service Connector under the hood to
459
- # authenticate with the GCP Secrets Manager API. This means that you can
460
- # use the same authentication methods and configuration as you would use for
461
- # the GCP Service Connector. Just set the `authMethod` field to the
462
- # authentication method that you want to use and set the required
463
- # configuration attributes under the `authConfig` field.
464
- #
465
- # For a list of supported authentication methods and their configuration
466
- # options, see the following documentation:
467
- # https://docs.zenml.io/how-to/auth-management/gcp-service-connector#authentication-methods
468
- #
469
- # You can also use the ZenML CLI to get the list of supported authentication
470
- # methods and their configuration options, e.g.:
471
- #
472
- # ```shell
473
- # zenml service-connector describe-type gcp
474
- # zenml service-connector describe-type gcp --auth-method service-account
475
- # ```
476
- gcp:
477
-
478
- # The GCP Service Connector authentication method to use. The currently
479
- # supported authentication methods are:
480
- #
481
- # - implicit - Use the GCP service account attached to the ZenML server
482
- # pod or environment variables to authenticate with the GCP
483
- # Secrets Manager API
484
- # - user-account - Use a GCP user account
485
- # - service-account - Use a GCP service account
486
- # - impersonation - Use the GCP service account impersonation feature
487
- authMethod: service-account
488
-
489
- # The GCP Service Connector authentication configuration. This should
490
- # include the corresponding authentication configuration attributes for
491
- # the `authMethod` that you have chosen above.
492
- authConfig:
493
- # The GCP project ID to use. This must be set to the project ID where
494
- # the GCP Secrets Manager service that you want to use is located.
495
- # Mandatory for all authentication methods.
496
- project_id:
497
-
498
- # The GCP user account credentials to use to authenticate with the GCP
499
- # Secrets Manager instance. Required if the `authMethod` is set to
500
- # `user-account`.
501
- user_account_json:
502
-
503
- # The GCP service account credentials to use to authenticate with the
504
- # GCP Secrets Manager instance. Required if the `authMethod` is set to
505
- # `service-account` or `impersonation`.
506
- service_account_json:
507
-
508
- # The GCP service account to impersonate when authenticating with the
509
- # GCP Secrets Manager instance. Required if the `authMethod` is set to
510
- # `impersonation`.
511
- target_principal:
512
-
513
- # The GCP project ID to use. This must be set to the project ID where the
514
- # GCP Secrets Manager service that you want to use is located.
515
- #
516
- # NOTE: deprecated; use `authConfig.project_id` instead.
517
- project_id:
518
-
519
- # The JSON content of the GCP credentials file to use to authenticate with
520
- # the GCP Secrets Manager instance. You can omit this if you are running
521
- # the ZenML server in a GCP GKE cluster that uses workload identity to
522
- # authenticate with GCP services without the need for credentials.
523
- #
524
- # NOTE: deprecated; use `authConfig.service_account_json` instead.
525
- google_application_credentials:
526
-
527
- # Azure Key Vault secrets store configuration. Only relevant if the `azure`
528
- # secrets store type is configured.
529
- #
530
- # The Azure secrets store uses the Azure Service Connector under the hood to
531
- # authenticate with the Azure Key Vault API. This means that you can
532
- # use the same authentication methods and configuration as you would use for
533
- # the Azure Service Connector. Just set the `authMethod` field to the
534
- # authentication method that you want to use and set the required
535
- # configuration attributes under the `authConfig` field.
536
- #
537
- # For a list of supported authentication methods and their configuration
538
- # options, see the following documentation:
539
- # https://docs.zenml.io/how-to/auth-management/azure-service-connector#authentication-methods
540
- #
541
- # You can also use the ZenML CLI to get the list of supported authentication
542
- # methods and their configuration options, e.g.:
543
- #
544
- # ```shell
545
- # zenml service-connector describe-type azure
546
- # zenml service-connector describe-type azure --auth-method service-principal
547
- # ```
548
- azure:
549
-
550
- # The Azure Service Connector authentication method to use. The currently
551
- # supported authentication methods are:
552
- #
553
- # - implicit - Use the Azure managed identity attached to the ZenML server
554
- # pod or environment variables to authenticate with the Azure
555
- # Key Vault API
556
- # - service-principal - Use an Azure service principal
557
- authMethod: service-principal
558
-
559
- # The Azure Service Connector authentication configuration. This should
560
- # include the corresponding authentication configuration attributes for
561
- # the `authMethod` that you have chosen above.
562
- authConfig:
563
-
564
- # The Azure service principal credentials to use to authenticate with
565
- # the Azure Key Vault API. All three are Required if the `authMethod` is
566
- # set to `service-principal`.
567
- client_id:
568
- client_secret:
569
- tenant_id:
570
-
571
- # The name of the Azure Key Vault. This must be set to point to the Azure
572
- # Key Vault instance that you want to use.
573
- key_vault_name:
574
-
575
- # The Azure application service principal credentials to use to
576
- # authenticate with the Azure Key Vault API. You can omit these if you are
577
- # running the ZenML server hosted in Azure and are using a managed
578
- # identity to access the Azure Key Vault service.
579
- #
580
- # NOTE: deprecated; use `authConfig.client_id`, `authConfig.client_secret`,
581
- # and `authConfig.tenant_id` instead.
582
- azure_client_id:
583
- azure_client_secret:
584
- azure_tenant_id:
585
-
586
- # HashiCorp Vault secrets store configuration. Only relevant if the `hashicorp`
587
- # secrets store type is configured
588
- hashicorp:
589
-
590
- # The url of the HashiCorp Vault server
591
- vault_addr: https://vault.example.com
592
- # The token used to authenticate with the Vault server
593
- vault_token:
594
- # The Vault Enterprise namespace. Not required for Vault OSS.
595
- vault_namespace:
596
- # The maximum number of secret versions to keep. If not set, the default
597
- # value of 1 will be used (only the latest version will be kept).
598
- max_versions:
599
-
600
- # Custom secrets store configuration. Only relevant if the `custom` secrets
601
- # store type is configured.
602
- custom:
603
-
604
- # The class path of the custom secrets store implementation. This should
605
- # point to a full Python class that extends the
606
- # `zenml.zen_stores.secrets_stores.base_secrets_store.BaseSecretsStore`
607
- # base class. The class should be importable from the container image
608
- # that you are using for the ZenML server.
609
- #
610
- # Any additional configuration options for the custom secrets store
611
- # implementation should be passed through the `environment` and the
612
- # `secretEnvironment` variables and using the `ZENML_SECRETS_STORE_<OPTION_NAME>`
613
- # environment variable naming convention. For example, if the custom
614
- # secrets store implementation expects an `aws_access_key_id` option, you
615
- # should set the `ZENML_SECRETS_STORE_AWS_ACCESS_KEY_ID` environment
616
- # variable in the `zenml.secretEnvironment` variable.
617
- class_path: my.custom.secrets.store.MyCustomSecretsStore
618
-
619
- # Backup secrets store settings. This is used as a backup to the primary
620
- # secrets store. Secret values for newly created and updated secrets are also
621
- # saved in the secondary secrets store and there are management commands to
622
- # migrate secret values individually or in bulk from the primary to the
623
- # secondary secrets store and vice versa.
624
- # A backup secrets store is is useful for high availability and disaster
625
- # recovery scenarios where the primary secrets store is unavailable. It is
626
- # also useful as a temporary setup for migrating secrets from one secrets
627
- # store to another.
628
- backupSecretsStore:
629
-
630
- # Set to true to enable a backup secrets store.
631
- enabled: false
632
-
633
- # The type of secrets store to use. Use one of:
634
- #
635
- # sql - Use the same SQL database as the ZenML server
636
- # aws - Use the AWS Secrets Manager as a secrets store
637
- # gcp - Use the GCP Secrets Manager as a secrets store
638
- # azure - Use the Azure Key Vault as a secrets store
639
- # hashicorp - Use the HashiCorp Vault as a secrets store
640
- # custom - Use a custom secrets store implementation (needs a custom
641
- # ZenML server image with the custom secrets store implementation
642
- # installed)
643
- #
644
- # Depending on the type, additional configuration options may be required
645
- # under the respective sections.
646
- #
647
- type: sql
648
-
649
- # SQL backup secrets store configuration. Only relevant if the `sql` backup
650
- # secrets store type is configured.
651
- sql:
652
-
653
- # The secret key used to encrypt secrets in the SQL database. Only relevant
654
- # if the SQL secrets store type is used. This should be set to a random
655
- # string with a recommended length of at least 32 characters, e.g.:
656
- #
657
- # ```python
658
- # from secrets import token_hex
659
- # token_hex(32)
660
- # ```
661
- #
662
- # or:
663
- #
664
- # ```shell
665
- # openssl rand -hex 32
666
- # ```
667
- #
668
- # If not set, database secret encryption will be disabled.
669
- #
670
- # IMPORTANT: If you configure encryption for your SQL database secrets
671
- # store, you should keep this value somewhere safe and secure, as it will be
672
- # required to decrypt the secrets in the database. If you lose the
673
- # encryption key, you will not be able to decrypt the secrets in the
674
- # database and will have to reset them. You should not change this value
675
- # after you have already configured encryption for your SQL database
676
- # secrets store.
677
- encryptionKey:
678
-
679
- # AWS backup secrets store configuration. Only relevant if the `aws` backup
680
- # secrets store type is configured.
681
- #
682
- # The AWS secrets store uses the AWS Service Connector under the hood to
683
- # authenticate with the AWS Secrets Manager API. This means that you can
684
- # use the same authentication methods and configuration as you would use for
685
- # the AWS Service Connector. Just set the `authMethod` field to the
686
- # authentication method that you want to use and set the required
687
- # configuration attributes under the `authConfig` field.
688
- #
689
- # For a list of supported authentication methods and their configuration
690
- # options, see the following documentation:
691
- # https://docs.zenml.io/how-to/auth-management/aws-service-connector#authentication-methods
692
- #
693
- # You can also use the ZenML CLI to get the list of supported authentication
694
- # methods and their configuration options, e.g.:
695
- #
696
- # ```shell
697
- # zenml service-connector describe-type aws
698
- # zenml service-connector describe-type aws --auth-method secret-key
699
- # ```
700
- aws:
701
-
702
- # The AWS Service Connector authentication method to use. The currently
703
- # supported authentication methods are:
704
- #
705
- # - implicit - Use the IAM role attached to the ZenML server pod or
706
- # environment variables to authenticate with the AWS Secrets
707
- # Manager API
708
- # - secret-key - Use an AWS secret key
709
- # - iam-role - Use an IAM role
710
- # - session-token - Use an AWS session token derived from an AWS secret
711
- # key
712
- # - federation-token - Use an AWS federation token derived from an AWS
713
- # secret key
714
- authMethod: secret-key
715
-
716
- # The AWS Service Connector authentication configuration. This should
717
- # include the corresponding authentication configuration attributes for
718
- # the `authMethod` that you have chosen above.
719
- authConfig:
720
- # The AWS region to use. This must be set to the region where the AWS
721
- # Secrets Manager service that you want to use is located. Mandatory
722
- # for all authentication methods.
723
- region:
724
- # The AWS access key and secret key to use to authenticate with the AWS
725
- # Secrets Manager instance. Both are required if the `authMethod` is set
726
- # to `secret-key`, `sts-token`, `iam-role`, or `federation-token`.
727
- aws_access_key_id:
728
- aws_secret_access_key:
729
- # The AWS role ARN to use to authenticate with the AWS Secrets Manager
730
- # instance. Required if the `authMethod` is set to `iam-role`.
731
- role_arn:
732
-
733
- # GCP backup secrets store configuration. Only relevant if the `gcp` backup
734
- # secrets store type is configured.
735
- #
736
- # The GCP secrets store uses the GCP Service Connector under the hood to
737
- # authenticate with the GCP Secrets Manager API. This means that you can
738
- # use the same authentication methods and configuration as you would use for
739
- # the GCP Service Connector. Just set the `authMethod` field to the
740
- # authentication method that you want to use and set the required
741
- # configuration attributes under the `authConfig` field.
742
- #
743
- # For a list of supported authentication methods and their configuration
744
- # options, see the following documentation:
745
- # https://docs.zenml.io/how-to/auth-management/gcp-service-connector#authentication-methods
746
- #
747
- # You can also use the ZenML CLI to get the list of supported authentication
748
- # methods and their configuration options, e.g.:
749
- #
750
- # ```shell
751
- # zenml service-connector describe-type gcp
752
- # zenml service-connector describe-type gcp --auth-method service-account
753
- # ```
754
- gcp:
755
-
756
- # The GCP Service Connector authentication method to use. The currently
757
- # supported authentication methods are:
758
- #
759
- # - implicit - Use the GCP service account attached to the ZenML server
760
- # pod or environment variables to authenticate with the GCP
761
- # Secrets Manager API
762
- # - user-account - Use a GCP user account
763
- # - service-account - Use a GCP service account
764
- # - impersonation - Use the GCP service account impersonation feature
765
- # - external-account - Use workload identity federation to authenticate
766
- # with the GCP Secrets Manager API
767
- authMethod: service-account
768
-
769
- # The GCP Service Connector authentication configuration. This should
770
- # include the corresponding authentication configuration attributes for
771
- # the `authMethod` that you have chosen above.
772
- authConfig:
773
- # The GCP project ID to use. This must be set to the project ID where
774
- # the GCP Secrets Manager service that you want to use is located.
775
- # Mandatory for all authentication methods.
776
- project_id:
777
-
778
- # The GCP user account credentials to use to authenticate with the GCP
779
- # Secrets Manager instance. Required if the `authMethod` is set to
780
- # `user-account`.
781
- user_account_json:
782
-
783
- # The GCP service account credentials to use to authenticate with the
784
- # GCP Secrets Manager instance. Required if the `authMethod` is set to
785
- # `service-account` or `impersonation`.
786
- service_account_json:
787
-
788
- # The GCP service account to impersonate when authenticating with the
789
- # GCP Secrets Manager instance. Required if the `authMethod` is set to
790
- # `impersonation`.
791
- target_principal:
792
-
793
- # The GCP workload identity credentials to use to authenticate with the
794
- # GCP Secrets Manager instance. Required if the `authMethod` is set to
795
- # `external-account`.
796
- external_account_json:
797
-
798
- # Azure backup Key Vault secrets store configuration. Only relevant if the
799
- # `azure` backup secrets store type is configured.
800
- #
801
- # The Azure secrets store uses the Azure Service Connector under the hood to
802
- # authenticate with the Azure Key Vault API. This means that you can
803
- # use the same authentication methods and configuration as you would use for
804
- # the Azure Service Connector. Just set the `authMethod` field to the
805
- # authentication method that you want to use and set the required
806
- # configuration attributes under the `authConfig` field.
807
- #
808
- # For a list of supported authentication methods and their configuration
809
- # options, see the following documentation:
810
- # https://docs.zenml.io/how-to/auth-management/azure-service-connector#authentication-methods
811
- #
812
- # You can also use the ZenML CLI to get the list of supported authentication
813
- # methods and their configuration options, e.g.:
814
- #
815
- # ```shell
816
- # zenml service-connector describe-type azure
817
- # zenml service-connector describe-type azure --auth-method service-principal
818
- # ```
819
- azure:
820
-
821
- # The Azure Service Connector authentication method to use. The currently
822
- # supported authentication methods are:
823
- #
824
- # - implicit - Use the Azure managed identity attached to the ZenML server
825
- # pod or environment variables to authenticate with the Azure
826
- # Key Vault API
827
- # - service-principal - Use an Azure service principal
828
- authMethod: service-principal
829
-
830
- # The Azure Service Connector authentication configuration. This should
831
- # include the corresponding authentication configuration attributes for
832
- # the `authMethod` that you have chosen above.
833
- authConfig:
834
-
835
- # The Azure service principal credentials to use to authenticate with
836
- # the Azure Key Vault API. All three are Required if the `authMethod` is
837
- # set to `service-principal`.
838
- client_id:
839
- client_secret:
840
- tenant_id:
841
-
842
- # The name of the Azure Key Vault. This must be set to point to the Azure
843
- # Key Vault instance that you want to use.
844
- key_vault_name:
845
-
846
- # HashiCorp Vault backup secrets store configuration. Only relevant if the
847
- # `hashicorp` backup secrets store type is configured
848
- hashicorp:
849
-
850
- # The url of the HashiCorp Vault server
851
- vault_addr: https://vault.example.com
852
- # The token used to authenticate with the Vault server
853
- vault_token:
854
- # The Vault Enterprise namespace. Not required for Vault OSS.
855
- vault_namespace:
856
- # The maximum number of secret versions to keep. If not set, the default
857
- # value of 1 will be used (only the latest version will be kept).
858
- max_versions:
859
-
860
- # Custom backup secrets store configuration. Only relevant if the `custom`
861
- # backup secrets store type is configured.
862
- custom:
863
-
864
- # The class path of the custom secrets store implementation. This should
865
- # point to a full Python class that extends the
866
- # `zenml.zen_stores.secrets_stores.base_secrets_store.BaseSecretsStore`
867
- # base class. The class should be importable from the container image
868
- # that you are using for the ZenML server.
869
- #
870
- # Any additional configuration options for the custom secrets store
871
- # implementation should be passed through the `environment` and the
872
- # `secretEnvironment` variables and using the `ZENML_SECRETS_STORE_<OPTION_NAME>`
873
- # environment variable naming convention. For example, if the custom
874
- # secrets store implementation expects an `aws_access_key_id` option, you
875
- # should set the `ZENML_SECRETS_STORE_AWS_ACCESS_KEY_ID` environment
876
- # variable in the `zenml.secretEnvironment` variable.
877
- class_path: my.custom.secrets.store.MyCustomSecretsStore
878
-
879
- # The ZenML server's secure headers configuration. This can be used to
880
- # enable, disable or set custom values for security headers in the ZenML
881
- # server's HTTP responses. The following values can be set for any of the
882
- # supported secure headers configuration options:
883
- #
884
- # - `enabled`, `on`, `true` or `yes` - enables the secure header with the
885
- # default value.
886
- # - `disabled`, `off`, `false`, `none` or `no` - disables the secure header
887
- # entirely, so that it is not set in the ZenML server's HTTP responses.
888
- # - any other value - sets the secure header to the specified value.
889
- secure_headers:
890
- # The `Server` HTTP header value used to identify the server. The default
891
- # value is the ZenML server ID.
892
- server: enabled
893
- # The `Strict-Transport-Security` HTTP header value. The default value is
894
- # `max-age=63072000; includeSubDomains`.
895
- hsts: enabled
896
- # The `X-Frame-Options` HTTP header value. The default value is `SAMEORIGIN`.
897
- xfo: enabled
898
- # The `X-XSS-Protection` HTTP header value. The default value is `0`.
899
- # NOTE: this header is deprecated and should not be customized anymore. The
900
- # `Content-Security-Policy` header should be used instead.
901
- xxp: enabled
902
- # The `X-Content-Type-Options` HTTP header value. The default value is
903
- # `nosniff`.
904
- content: enabled
905
- # The `Content-Security-Policy` HTTP header value. This is by default set
906
- # to a strict CSP policy that only allows content from the origins required
907
- # by the ZenML dashboard.
908
- # NOTE: customizing this header is discouraged, as it may cause the ZenML
909
- # dashboard to malfunction.
910
- csp: enabled
911
- # The `Referrer-Policy` HTTP header value. The default value is
912
- # `no-referrer-when-downgrade`.
913
- referrer: enabled
914
- # The `Cache-Control` HTTP header value. The default value is
915
- # `no-store, no-cache, must-revalidate`.
916
- cache: enabled
917
- # The `Permissions-Policy` HTTP header value. The default value is
918
- # `accelerometer=(), camera=(), geolocation=(), gyroscope=(), magnetometer=(), microphone=(), payment=(), usb=()`.
919
- permissions: enabled
920
-
921
-
922
- # Extra environment variables to set in the ZenML server container.
923
- environment: {}
924
-
925
- # Extra environment variables to set in the ZenML server container that
926
- # should be kept secret. These will be set as Kubernetes secrets and
927
- # mounted as environment variables in the ZenML server container.
928
- secretEnvironment: {}
929
-
930
- service:
931
- type: ClusterIP
932
- port: 80
933
-
934
- ingress:
935
- enabled: true
936
- className: "nginx"
937
- annotations:
938
- # nginx.ingress.kubernetes.io/ssl-redirect: "true"
939
- # nginx.ingress.kubernetes.io/rewrite-target: /$1
940
- # kubernetes.io/ingress.class: nginx
941
- # kubernetes.io/tls-acme: "true"
942
- # cert-manager.io/cluster-issuer: "letsencrypt"
943
-
944
- # hint: you can use a service like nip.io to get a wildcard DNS for your
945
- # ingress IP address. For example, if your ingress IP is 192.168.0.1, you
946
- # can use a host name like zenml.192.168.0.1.nip.io. This allows you to
947
- # reuse the same ingress for multiple deployments and/or services.
948
- host:
949
- path: /
950
- tls:
951
- enabled: false
952
- # NOTE: if enabled, this will generate self-signed certificates during
953
- # installation. This also requires that the ingress host be set to the
954
- # domain name or IP address used to access the ZenML server from outside
955
- # the cluster.
956
- generateCerts: false
957
- secretName: zenml-tls-certs
958
-
959
-
960
- serviceAccount:
961
- # Specifies whether a service account should be created
962
- create: true
963
- # Annotations to add to the service account
964
- annotations: {}
965
- # The name of the service account to use.
966
- # If not set and create is true, a name is generated using the fullname template
967
- name: "zenml"
968
-
969
- podAnnotations: {}
970
-
971
- podSecurityContext: {}
972
- # fsGroup: 1000 # if you're using a PVC for backup, this should necessarily be set.
973
-
974
- securityContext:
975
- runAsNonRoot: true
976
- runAsUser: 1000
977
- # capabilities:
978
- # drop:
979
- # - ALL
980
-
981
- resources: {}
982
- # We usually recommend not to specify default resources and to leave this as a conscious
983
- # choice for the user. This also increases chances charts run on environments with little
984
- # resources, such as Minikube. If you do want to specify resources, uncomment the following
985
- # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
986
- # limits:
987
- # cpu: 100m
988
- # memory: 128Mi
989
- # requests:
990
- # cpu: 100m
991
- # memory: 128Mi
992
-
993
- resourcesMigrationPod: {}
994
- # Resource requests and limits for the database migration pod.
995
- # If not set, falls back to the global resources configuration defined in .Values.resources
996
-
997
- autoscaling:
998
- enabled: false
999
- minReplicas: 1
1000
- maxReplicas: 100
1001
- targetCPUUtilizationPercentage: 80
1002
- # targetMemoryUtilizationPercentage: 80
1003
-
1004
- nodeSelector: {}
1005
-
1006
- tolerations: []
1007
-
1008
- affinity: {}