Prefect server application bundle
Homepage: https://github.com/PrefectHQ
To install the chart with the release name prefect-server:
helm repo add prefect https://prefecthq.github.io/prefect-helm
helm install prefect-server prefect/prefect-serverWithout making any modifications to the values.yaml file, you can access the Prefect UI by port forwarding either the Server pod or service with the following command and visiting http:localhost:4200:
kubectl port-forward svc/prefect-server 4200:4200Note: If you choose to make modifications to either the server.prefectApiUrl or service.port, make sure to update the other value with the updated port!
Prefect documentation on basic auth
Self-hosted Prefect servers can be equipped with a Basic Authentication string for an administrator/password combination.
The format of the auth string is admin:<my-password> (no brackets).
server:
basicAuth:
enabled: true
authString: "admin:pass"Alternatively, you can provide an existing Kubernetes Secret containing the auth string credentials. The secret must contain a key auth-string with the value of the auth string.
kubectl create secret generic prefect-basic-auth --from-literal=auth-string='admin:my-password'server:
basicAuth:
enabled: true
existingSecret: prefect-basic-authThe Prefect server includes background services related to scheduling and cleanup. By default, these run in the same deployment as the web server, but they can be separated for better resource management and scalability.
Support for this separation was added to provide a path to scaling your deployment as your usage grows. If you are orchestrating a lot of work, you may need more web services to handle requests than background services to field the increased API requests.
By default, the web services and background services share a connection pool to the database, but their connection needs are very different and even antagonistic with each other at times. Splitting the background services out also allows you to tune the database connections for each deployment (pool size, timeout, etc.), which can help with the database load.
The separate deployment for background services is currently limited to one replica because it has not been optimized for running multiple copies. Additionally, many background services run on a loop between 5 and 60 seconds, so if they go down, Kubernetes should bring them back up after a health check without much disruption.
Splitting the background services is optional, and is likely not necessary if you are not having any issues with your setup.
To run background services in a separate deployment:
Warning
Version Requirement: When using backgroundServices.runAsSeparateDeployment: true, you must use Prefect 3.4.16 or later. Earlier versions have a bug where the --no-services flag doesn't fully disable background services, causing Redis connection errors in the server pod.
backgroundServices:
runAsSeparateDeployment: true
# Use the bundled Redis chart
# See the next section for more details on other deployment options
redis:
enabled: trueThis configuration is recommended when:
- You're experiencing database connection pool contention
- You need different scaling policies for the web server and background services
- You want to monitor and manage resource usage separately
You can read more about this architecture in the How to scale self-hosted Prefect guide.
This section applies when enabling the use of Background Services.
For a simple deployment, you can use the bundled Redis chart by setting the following:
redis:
enabled: trueThis will automatically configure the Prefect server and background services to use the bundled Redis instance with the correct connection string information.
If you want to use the bundled Redis chart but need to customize the configuration, you can do so by providing additional values under the redis section. For example:
redis:
enabled: true
auth:
# set a custom password for the Redis instance
password: "dontpanic!"You can find additional configuration values in the Bitnami Redis chart values.yaml file.
NOTE Using the embedded Bitnami Redis chart his is not intended for production use, and is only included to provide a functional proof of concept installation.
If you want to use an existing or external Redis instance, do not set redis.enabled. Provide the connection details in the backgroundServices.messaging.redis section:
backgroundServices:
runAsSeparateDeployment: true
messaging:
redis:
host: external.redis.host.example.com
username: marvin
password: paranoid!By default, Bitnami's PostgreSQL Helm Chart will be deployed. This is not intended for production use, and is only included to provide a functional proof of concept installation.
In this scenario, you'll need to provide either one of the following fields:
-
postgresql.auth.password: a password you want to set for the prefect user (default:prefect-rocks) -
postgresql.auth.existingSecret: name of an existing secret in your cluster with the following field:connection-string: fully-quallified connection string in the format ofpostgresql+asyncpg://{username}:{password}@{hostname}/{database}- username =
postgresql.auth.username - hostname =
<release-name>-postgresql.<release-namespace>:<postgresql.containerPorts.postgresql> - database =
postgresql.auth.database
- username =
Two secrets are created when not providing an existing secret name:
-
prefect-server-postgresql-connection: used by the prefect-server deployment to connect to the postgresql database. -
<release-name>-postgresql-0: defines thepostgresql.auth.username's password on the postgresql server to allow successful authentication from the prefect server.
If you want to disable the bundled PostgreSQL chart and use an external instance, provide the following configuration:
postgresql:
enabled: false
secret:
# Option 1: provide the name of an existing secret following the instructions above.
create: false
name: <existing secret name>
# Option 2: provide the connection string details directly
create: true
username: myuser
password: mypass
host: myhost.com
port: 1234
database: mydb-
Mount the relevant certificate to
/home/prefect/.postgresqlso that it can be found byasyncpg. This is the default location postgresql expects per their documentation.server: extraVolumes: - name: db-ssl-secret secret: secretName: db-ssl-secret defaultMode: 384 extraVolumeMounts: - name: db-ssl-secret mountPath: "/home/prefect/.postgresql" readOnly: true postgresql: enabled: false auth: existingSecret: external-db-connection-string
-
Create a secret to hold the ca certificate for the database with the key
root.crtapiVersion: v1 kind: Secret metadata: name: db-ssl-secret data: root.crt: BASE64ENCODECERTIFICATE= type: Opaque
-
Set the connection string in the existing secret following this format -
?ssl=verify-cais crucial:postgresql+asyncpg://{username}:{password}@{hostname}/{database}?ssl=verify-ca
The chart automatically handles database migrations during upgrades using a pre-upgrade hook. When you upgrade the chart, it will:
- Run
prefect server database upgrade -ybefore updating the main deployment - Ensure your database schema is compatible with the new Prefect version
- Block the upgrade if migrations fail
Important Notes:
- Migrations only run for PostgreSQL deployments (not SQLite)
- The migration job uses the same database credentials as your main deployment
- Downgrades require manual intervention - if you need to rollback, you may need to manually run database downgrade commands
- For more details, see Prefect's database migration documentation
The migration behavior can be customized through the migrations section in your values.
For example, to disable automatic migrations (not recommended):
migrations:
# Enable/disable automatic migrations (default: true)
enabled: falseConsult the values.yaml file for additional configuration options such as resource requests/limits, backoff limits, and timeouts.
SQLite can be used as an alternative to PostgreSQL. As mentioned in the documentation on hosting Prefect, SQLite is only recommended for lightweight, single-server deployments.
To use SQLite for the database, provide the following configuration values:
postgresql:
enabled: false
sqlite:
enabled: trueMore configuration options are available in values.yaml.
By default, a PersistentVolumeClaim persists the SQLite database file between Pod restarts.
Note that enabling SQLite enforces 1 replica in the Deployment, and disables the HorizontalPodAutoscaler.
| Name | Url | |
|---|---|---|
| jamiezieziula | jamie@prefect.io | |
| jimid27 | jimi@prefect.io | |
| parkedwards | edward@prefect.io | |
| mitchnielsen | mitchell@prefect.io |
| Repository | Name | Version |
|---|---|---|
| https://charts.bitnami.com/bitnami | common | 2.34.0 |
| https://charts.bitnami.com/bitnami | postgresql | 12.12.10 |
| https://charts.bitnami.com/bitnami | redis | 22.0.4 |
| Key | Type | Default | Description |
|---|---|---|---|
| backgroundServices.affinity | object | {} |
affinity for background-services pod assignment |
| backgroundServices.args | list | [] |
Custom container command arguments |
| backgroundServices.command | list | [] |
Custom container entrypoint |
| backgroundServices.containerSecurityContext.allowPrivilegeEscalation | bool | false |
set background-services containers' security context allowPrivilegeEscalation |
| backgroundServices.containerSecurityContext.capabilities | object | {} |
set background-services container's security context capabilities |
| backgroundServices.containerSecurityContext.readOnlyRootFilesystem | bool | true |
set background-services containers' security context readOnlyRootFilesystem |
| backgroundServices.containerSecurityContext.runAsNonRoot | bool | true |
set background-services containers' security context runAsNonRoot |
| backgroundServices.containerSecurityContext.runAsUser | int | 1001 |
set background-services containers' security context runAsUser |
| backgroundServices.debug | bool | false |
sets PREFECT_DEBUG_MODE |
| backgroundServices.env | list | [] |
array with environment variables to add to background-services container |
| backgroundServices.extraContainers | list | [] |
additional sidecar containers |
| backgroundServices.extraEnvVarsCM | string | "" |
name of existing ConfigMap containing extra env vars to add to background-services pod |
| backgroundServices.extraEnvVarsSecret | string | "" |
name of existing Secret containing extra env vars to add to background-services pod |
| backgroundServices.extraVolumeMounts | list | [] |
array with extra volumeMounts for the background-services pod |
| backgroundServices.extraVolumes | list | [] |
array with extra volumes for the background-services pod |
| backgroundServices.loggingLevel | string | "WARNING" |
sets PREFECT_LOGGING_SERVER_LEVEL |
| backgroundServices.messaging.broker | string | "prefect_redis.messaging" |
messaging broker class to use for background services |
| backgroundServices.messaging.cache | string | "prefect_redis.messaging" |
messaging cache class to use for background services |
| backgroundServices.messaging.redis | object | {"db":0,"host":"","password":"","port":6379,"ssl":false,"username":""} |
settings for redis broker/cache change these if not using the built-in redis subchart |
| backgroundServices.messaging.redis.db | int | 0 |
redis database number |
| backgroundServices.messaging.redis.host | string | "" |
redis hostname if using the built-in redis subchart, this will be automatically set to the redis subchart's service name |
| backgroundServices.messaging.redis.password | string | "" |
redis password, leave empty to use default if using the built-in redis subchart, this will be automatically set to the redis subchart's password value |
| backgroundServices.messaging.redis.port | int | 6379 |
redis port |
| backgroundServices.messaging.redis.ssl | bool | false |
use TLS for redis connection |
| backgroundServices.messaging.redis.username | string | "" |
redis username, leave empty to use no authentication if using the built-in redis subchart, this will be automatically set to the redis subchart's username value |
| backgroundServices.nodeSelector | object | {} |
node labels for background-services pod assignment |
| backgroundServices.podAnnotations | object | {} |
extra annotations for background-services pod |
| backgroundServices.podLabels | object | {} |
extra labels for background-services pod |
| backgroundServices.podSecurityContext.fsGroup | int | 1001 |
set background-services pod's security context fsGroup |
| backgroundServices.podSecurityContext.runAsNonRoot | bool | true |
set background-services pod's security context runAsNonRoot |
| backgroundServices.podSecurityContext.runAsUser | int | 1001 |
set background-services pod's security context runAsUser |
| backgroundServices.priorityClassName | string | "" |
priority class name to use for the background-services pods; if the priority class is empty or doesn't exist, the background-services pods are scheduled without a priority class |
| backgroundServices.replicaCount | int | 1 |
number of background-services replicas to deploy |
| backgroundServices.resources.limits | object | {"cpu":"1","memory":"1Gi"} |
the requested limits for the background-services container |
| backgroundServices.resources.requests | object | {"cpu":"500m","memory":"512Mi"} |
the requested resources for the background-services container |
| backgroundServices.revisionHistoryLimit | int | 10 |
the number of old ReplicaSets to retain to allow rollback |
| backgroundServices.runAsSeparateDeployment | bool | false |
|
| backgroundServices.serviceAccount.annotations | object | {} |
additional service account annotations (evaluated as a template) |
| backgroundServices.serviceAccount.create | bool | true |
specifies whether a service account should be created |
| backgroundServices.serviceAccount.name | string | "" |
the name of the service account to use. if not set and create is true, a name is generated using the common.names.fullname template with "-background-services" appended |
| backgroundServices.tolerations | list | [] |
tolerations for background-services pod assignment |
| commonAnnotations | object | {} |
annotations to add to all deployed objects |
| commonLabels | object | {} |
labels to add to all deployed objects |
| fullnameOverride | string | "prefect-server" |
fully override common.names.fullname |
| gateway.annotations | object | {} |
additional annotations for the Gateway resource |
| gateway.className | string | "" |
GatewayClass that will be used to implement the Gateway This must match an existing GatewayClass in your cluster |
| gateway.enabled | bool | false |
enable Gateway API resources (mutually exclusive with ingress) |
| gateway.infrastructure | object | {} |
infrastructure configuration for Gateway ref: https://gateway-api.sigs.k8s.io/guides/infrastructure/ |
| gateway.labels | object | {} |
additional labels for the Gateway resource |
| gateway.listeners | list | [{"hostname":"","name":"http","port":80,"protocol":"HTTP"},{"hostname":"","name":"https","port":443,"protocol":"HTTPS","tls":{"certificateRefs":[{"kind":"Secret","name":"","namespace":""}],"mode":"Terminate"}}] |
Gateway listeners configuration |
| gateway.listeners[0] | object | {"hostname":"","name":"http","port":80,"protocol":"HTTP"} |
listener name |
| gateway.listeners[0].hostname | string | "" |
hostname pattern for this listener (e.g., "*.example.com") |
| gateway.listeners[0].port | int | 80 |
listener port |
| gateway.listeners[0].protocol | string | "HTTP" |
listener protocol (HTTP, HTTPS, TCP, TLS) |
| gateway.listeners[1].hostname | string | "" |
hostname pattern for this listener |
| gateway.listeners[1].port | int | 443 |
listener port |
| gateway.listeners[1].protocol | string | "HTTPS" |
listener protocol |
| gateway.listeners[1].tls | object | {"certificateRefs":[{"kind":"Secret","name":"","namespace":""}],"mode":"Terminate"} |
TLS configuration for HTTPS listener |
| gateway.listeners[1].tls.certificateRefs | list | [{"kind":"Secret","name":"","namespace":""}] |
certificate references (Secrets containing TLS cert/key) |
| gateway.listeners[1].tls.certificateRefs[0] | object | {"kind":"Secret","name":"","namespace":""} |
kind of resource (usually Secret) |
| gateway.listeners[1].tls.certificateRefs[0].name | string | "" |
name of the Secret (defaults to ingress pattern if not set) |
| gateway.listeners[1].tls.certificateRefs[0].namespace | string | "" |
namespace of the Secret (optional, defaults to same namespace) |
| gateway.listeners[1].tls.mode | string | "Terminate" |
TLS mode (Terminate or Passthrough) |
| gateway.name | string | "" |
Gateway resource name (defaults to chart fullname if not set) |
| global.prefect.env | list | [] |
array with environment variables to add to all deployments |
| global.prefect.image.prefectTag | string | "3-latest" |
prefect image tag (immutable tags are recommended) |
| global.prefect.image.pullPolicy | string | "IfNotPresent" |
prefect image pull policy |
| global.prefect.image.pullSecrets | list | [] |
prefect image pull secrets |
| global.prefect.image.repository | string | "prefecthq/prefect" |
prefect image repository |
| httproute.annotations | object | {} |
additional annotations for the HTTPRoute resource |
| httproute.enabled | bool | true |
enable HTTPRoute resource (auto-enabled when gateway.enabled=true) Can be disabled if you want to create HTTPRoutes manually |
| httproute.extraRules | list | [] |
additional HTTPRoute rules (advanced usage) Will be merged with auto-generated rules |
| httproute.hostnames | list | [] |
hostnames that this HTTPRoute should match |
| httproute.labels | object | {} |
additional labels for the HTTPRoute resource |
| httproute.name | string | "" |
HTTPRoute resource name (defaults to chart fullname if not set) |
| httproute.parentRefs | list | [{"name":"","namespace":"","port":null,"sectionName":"https"}] |
parent Gateway references |
| httproute.parentRefs[0] | object | {"name":"","namespace":"","port":null,"sectionName":"https"} |
name of the Gateway to attach to (defaults to gateway.name) |
| httproute.parentRefs[0].namespace | string | "" |
namespace of the Gateway (optional) |
| httproute.parentRefs[0].port | string | nil |
port number (optional) |
| httproute.parentRefs[0].sectionName | string | "https" |
specific listener name to attach to (optional, defaults to "https") |
| httproute.path | string | "/" |
path prefix for HTTPRoute matching |
| httproute.tls | object | {"redirect":false,"redirectPort":443} |
TLS redirect configuration |
| httproute.tls.redirect | bool | false |
enable automatic HTTP to HTTPS redirect |
| httproute.tls.redirectPort | int | 443 |
HTTPS port for redirect (defaults to 443) |
| ingress.annotations | object | {} |
additional annotations for the Ingress resource. To enable certificate autogeneration, place here your cert-manager annotations. |
| ingress.className | string | "" |
IngressClass that will be used to implement the Ingress (Kubernetes 1.18+) |
| ingress.enabled | bool | false |
enable ingress record generation for server |
| ingress.extraHosts | list | [] |
an array with additional hostname(s) to be covered with the ingress record |
| ingress.extraPaths | list | [] |
an array with additional arbitrary paths that may need to be added to the ingress under the main host |
| ingress.extraRules | list | [] |
additional rules to be covered with this ingress record |
| ingress.extraTls | list | [] |
an array with additional tls configuration to be added to the ingress record |
| ingress.host.hostname | string | "prefect.local" |
default host for the ingress record |
| ingress.host.path | string | "/" |
default path for the ingress record |
| ingress.host.pathType | string | "ImplementationSpecific" |
ingress path type |
| ingress.selfSigned | bool | false |
create a TLS secret for this ingress record using self-signed certificates generated by Helm |
| ingress.servicePort | string | "server-svc-port" |
port for the ingress' main path |
| ingress.tls | bool | false |
enable TLS configuration for the host defined at ingress.host.hostname parameter |
| migrations.affinity | object | {} |
affinity for migration job pods assignment |
| migrations.backoffLimit | int | 5 |
job backoff limit (number of retries) |
| migrations.command | string | "prefect server database upgrade -y\n" |
commands to run for database migrations (default: prefect server database upgrade -y) |
| migrations.enabled | bool | true |
enable automatic database migrations during chart upgrades |
| migrations.entrypoint | list | ["/bin/sh","-c"] |
custom container entrypoint for the migration job |
| migrations.env | list | [] |
additional environment variables for the migration job |
| migrations.extraVolumeMounts | list | [] |
additional volume mounts for the migration job |
| migrations.extraVolumes | list | [] |
additional volumes for the migration job |
| migrations.nodeSelector | object | {} |
node labels for migration job pods assignment |
| migrations.resources | object | {"limits":{"cpu":"500m","memory":"256Mi"},"requests":{"cpu":"100m","memory":"128Mi"}} |
job resources configuration |
| migrations.restartPolicy | string | "Never" |
job restart policy |
| migrations.securityContext | object | {"allowPrivilegeEscalation":false,"capabilities":{},"readOnlyRootFilesystem":true,"runAsNonRoot":true,"runAsUser":1001} |
job security context configuration |
| migrations.timeoutSeconds | int | 300 |
job timeout in seconds (default: 300 seconds / 5 minutes) |
| migrations.tolerations | list | [] |
tolerations for migration job pods assignment |
| nameOverride | string | "" |
partially overrides common.names.name |
| namespaceOverride | string | "" |
fully override common.names.namespace |
| postgresql.auth.database | string | "server" |
name for a custom database |
| postgresql.auth.enablePostgresUser | bool | false |
determines whether an admin user is created within postgres |
| postgresql.auth.password | string | "prefect-rocks" |
password for the custom user. Ignored if auth.existingSecret with key password is provided |
| postgresql.auth.username | string | "prefect" |
name for a custom user |
| postgresql.enabled | bool | true |
enable use of bitnami/postgresql subchart |
| postgresql.image.repository | string | "bitnamilegacy/postgresql" |
Image repository. Defaults to legacy bitnami repository for postgres 14.13.0 availability. |
| postgresql.image.tag | string | "14.13.0" |
Version tag, corresponds to tags at https://hub.docker.com/layers/bitnamilegacy/postgresql/ |
| postgresql.primary.initdb.user | string | "postgres" |
specify the PostgreSQL username to execute the initdb scripts |
| postgresql.primary.persistence.enabled | bool | false |
enable PostgreSQL Primary data persistence using PVC |
| redis.architecture | string | "standalone" |
Redis architecture Note: Prefect currently only supports standalone Redis deployments. |
| redis.enabled | bool | false |
enable use of bitnami/redis subchart if backgroundServices.runAsSeparateDeployment=true, you must set this to true or provide your own redis instance |
| redis.image.repository | string | "bitnamilegacy/redis" |
Image repository. Defaults to legacy bitnami repository for redis 8.2.1 availability. |
| redis.image.tag | string | "8.2.1" |
Version tag, corresponds to tags at https://hub.docker.com/r/bitnami/redis/ |
| secret.create | bool | true |
whether to create a Secret containing the PostgreSQL connection string |
| secret.database | string | "" |
database for the PostgreSQL connection string |
| secret.host | string | "" |
host for the PostgreSQL connection string |
| secret.name | string | "" |
name for the Secret containing the PostgreSQL connection string To provide an existing Secret, provide a name and set create=false |
| secret.password | string | "" |
password for the PostgreSQL connection string |
| secret.port | string | "" |
port for the PostgreSQL connection string |
| secret.username | string | "" |
username for the PostgreSQL connection string |
| server.affinity | object | {} |
affinity for server pods assignment |
| server.apiBasePath | string | "/api" |
sets PREFECT_SERVER_API_BASE_PATH |
| server.args | list | [] |
Custom container command arguments |
| server.autoscaling.enabled | bool | false |
enable autoscaling for server |
| server.autoscaling.maxReplicas | int | 100 |
maximum number of server replicas |
| server.autoscaling.minReplicas | int | 1 |
minimum number of server replicas |
| server.autoscaling.targetCPU | int | 80 |
target CPU utilization percentage |
| server.autoscaling.targetMemory | int | 80 |
target Memory utilization percentage |
| server.basicAuth.authString | string | "admin:pass" |
basic auth credentials in the format admin: (no brackets) |
| server.basicAuth.enabled | bool | false |
enable basic auth for the server, for an administrator/password combination |
| server.basicAuth.existingSecret | string | "" |
name of existing secret containing basic auth credentials. takes precedence over authString. must contain a key auth-string with the value of the auth string |
| server.command | list | [] |
Custom container entrypoint |
| server.containerSecurityContext.allowPrivilegeEscalation | bool | false |
set server containers' security context allowPrivilegeEscalation |
| server.containerSecurityContext.capabilities | object | {} |
set server container's security context capabilities |
| server.containerSecurityContext.readOnlyRootFilesystem | bool | true |
set server containers' security context readOnlyRootFilesystem |
| server.containerSecurityContext.runAsNonRoot | bool | true |
set server containers' security context runAsNonRoot |
| server.containerSecurityContext.runAsUser | int | 1001 |
set server containers' security context runAsUser |
| server.debug | bool | false |
sets PREFECT_DEBUG_MODE |
| server.env | list | [] |
array with environment variables to add to server deployment |
| server.extraArgs | list | [] |
array with extra Arguments for the server container to start with |
| server.extraContainers | list | [] |
additional sidecar containers |
| server.extraEnvVarsCM | string | "" |
name of existing ConfigMap containing extra env vars to add to server nodes |
| server.extraEnvVarsSecret | string | "" |
name of existing Secret containing extra env vars to add to server nodes |
| server.extraVolumeMounts | list | [] |
array with extra volumeMounts for the server pod |
| server.extraVolumes | list | [] |
array with extra volumes for the server pod |
| server.livenessProbe.config.failureThreshold | int | 3 |
The number of consecutive failures allowed before considering the probe as failed. |
| server.livenessProbe.config.initialDelaySeconds | int | 10 |
The number of seconds to wait before starting the first probe. |
| server.livenessProbe.config.periodSeconds | int | 10 |
The number of seconds to wait between consecutive probes. |
| server.livenessProbe.config.successThreshold | int | 1 |
The minimum consecutive successes required to consider the probe successful. |
| server.livenessProbe.config.timeoutSeconds | int | 5 |
The number of seconds to wait for a probe response before considering it as failed. |
| server.livenessProbe.enabled | bool | false |
|
| server.loggingLevel | string | "WARNING" |
sets PREFECT_LOGGING_SERVER_LEVEL |
| server.nodeSelector | object | {} |
node labels for server pods assignment |
| server.podAnnotations | object | {} |
extra annotations for server pod |
| server.podLabels | object | {} |
extra labels for server pod |
| server.podSecurityContext.fsGroup | int | 1001 |
set server pod's security context fsGroup |
| server.podSecurityContext.runAsNonRoot | bool | true |
set server pod's security context runAsNonRoot |
| server.podSecurityContext.runAsUser | int | 1001 |
set server pod's security context runAsUser |
| server.podSecurityContext.seccompProfile | object | {"type":"RuntimeDefault"} |
set server pod's seccomp profile |
| server.priorityClassName | string | "" |
priority class name to use for the server pods; if the priority class is empty or doesn't exist, the server pods are scheduled without a priority class |
| server.readinessProbe.config.failureThreshold | int | 3 |
The number of consecutive failures allowed before considering the probe as failed. |
| server.readinessProbe.config.initialDelaySeconds | int | 10 |
The number of seconds to wait before starting the first probe. |
| server.readinessProbe.config.periodSeconds | int | 10 |
The number of seconds to wait between consecutive probes. |
| server.readinessProbe.config.successThreshold | int | 1 |
The minimum consecutive successes required to consider the probe successful. |
| server.readinessProbe.config.timeoutSeconds | int | 5 |
The number of seconds to wait for a probe response before considering it as failed. |
| server.readinessProbe.enabled | bool | false |
|
| server.replicaCount | int | 1 |
number of server replicas to deploy, ignored if autoscaling is enabled |
| server.resources.limits | object | {"cpu":"1","memory":"1Gi"} |
the requested limits for the server container |
| server.resources.requests | object | {"cpu":"500m","memory":"512Mi"} |
the requested resources for the server container |
| server.revisionHistoryLimit | int | 10 |
the number of old ReplicaSets to retain to allow rollback |
| server.tolerations | list | [] |
tolerations for server pods assignment |
| server.uiConfig.prefectUiApiUrl | string | "http://localhost:4200/api" |
sets PREFECT_UI_API_URL; If you want to connect to the UI from somewhere external to the cluster (i.e. via an ingress), you need to set this value to the ingress URL (e.g. http://app.internal.prefect.com/api). You can find additional documentation on this here - https://docs.prefect.io/v3/manage/self-host#ui |
| server.uiConfig.prefectUiStaticDirectory | string | "/ui_build" |
sets PREFECT_UI_STATIC_DIRECTORY |
| server.updateStrategy | object | {"type":"RollingUpdate"} |
Specifies the strategy used to replace old Pods by new ones. Type can be "Recreate" or "RollingUpdate". Setting this to "Recreate" is useful when database is on a mounted volume that can only be attached to a single node at a time. |
| service.annotations | object | {} |
additional custom annotations for server service |
| service.clusterIP | string | "" |
service Cluster IP |
| service.externalTrafficPolicy | string | "Cluster" |
service external traffic policy |
| service.extraPorts | list | [] |
|
| service.nodePort | string | "" |
service port if defining service as type nodeport |
| service.port | int | 4200 |
service port |
| service.portName | string | "server-svc-port" |
service port name |
| service.targetPort | int | 4200 |
target port of the server pod; also sets PREFECT_SERVER_API_PORT |
| service.type | string | "ClusterIP" |
service type |
| serviceAccount.annotations | object | {} |
additional service account annotations (evaluated as a template) |
| serviceAccount.create | bool | true |
specifies whether a service account should be created |
| serviceAccount.name | string | "" |
the name of the service account to use. if not set and create is true, a name is generated using the common.names.fullname template |
| sqlite.enabled | bool | false |
enable use of the embedded SQLite database |
| sqlite.persistence.enabled | bool | true |
enable SQLite data persistence using PVC |
| sqlite.persistence.size | string | "1Gi" |
size for the PVC |
| sqlite.persistence.storageClassName | string | "" |
storage class name for the PVC |
Autogenerated from chart metadata using helm-docs v1.14.2