Flyte is configured through a layered system of YAML config files. Each service (FlyteAdmin, FlytePropeller, DataCatalog) reads from one or more config files at startup. When deploying with Helm, config is rendered into Kubernetes ConfigMaps.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/flyteorg/flyte/llms.txt
Use this file to discover all available pages before exploring further.
Config file format
Flyte config files are standard YAML. Each top-level key maps to a named configuration section registered by a component. Multiple sections can live in a single file, or be split across files in a directory. Flyte reads all*.yaml files under the path specified by --config (default: /etc/flyte/config/). The files are merged, with later files overriding earlier ones.
Config sections by service
FlyteAdmin config
FlyteAdmin reads--config files that can contain the following top-level sections:
| Section | Purpose |
|---|---|
server | HTTP/gRPC port, TLS, CORS settings |
auth | OIDC/OAuth2 authentication configuration |
database | PostgreSQL connection |
storage | Object store backend (stow config) |
cluster_resources | Project/domain namespace templates |
notifications | Email and Slack notifications |
domains | Domain definitions for multi-tenancy |
scheduler | Scheduler settings |
remoteData | Signed URL configuration |
FlytePropeller config
FlytePropeller is the Kubernetes controller that drives workflow execution.| Section | Purpose |
|---|---|
propeller | Worker concurrency, GC intervals, leader election |
plugins | Plugin-specific config (k8s, spark, ray, etc.) |
tasks | Task plugin registration and defaults |
storage | Same stow config as Admin |
admin | Admin endpoint for reporting status |
catalog-cache | DataCatalog endpoint for caching |
DataCatalog config
| Section | Purpose |
|---|---|
datacatalog | gRPC port, storage path for artifact metadata |
database | Same PostgreSQL connection |
storage | Same stow config |
Helm values and the inline escape hatch
When using theflyte-binary chart, most config is set through the structured configuration.* values. For settings that do not have a dedicated Helm value, use the configuration.inline key to pass raw Flyte config YAML:
flyte-core chart, config is rendered under the configmap key:
Environment variable overrides
Every Flyte config key can be overridden with an environment variable using the following pattern:Environment variable overrides take precedence over config files. This is useful for injecting secrets (e.g., database passwords) at runtime without storing them in ConfigMaps.
PodTemplate configuration
Starting with Flyte 1.4, you can use KubernetesPodTemplate resources to define default pod configuration for all task pods. There are two types:
Compile-time PodTemplates
Defined inline in a@task decorator:
Runtime PodTemplates
Create a KubernetesPodTemplate resource in the flyte namespace to apply defaults to all tasks in the cluster:
default-pod-template-name in the FlytePropeller k8s plugin config:
K8s plugin configuration
The K8s plugin config controls how Flyte constructs task pods:Configuration precedence
From lowest to highest priority:- Default values compiled into the binary
- Config files in
--configdirectory configuration.inlinevalues (via Helm)- Environment variable overrides