Configuration
DeltaFi uses several configuration files to control system behavior. This document covers where they live and what they do.
Configuration Files Overview
| File | Location | Purpose |
|---|---|---|
config.yaml | <deltafi-install>/config/ | TUI settings (orchestration mode, directories, version) |
values.yaml | site/ | Compose mode: DeltaFi service configuration |
compose.yaml | site/ | Compose mode: Docker Compose overrides |
kind.values.yaml | site/ | KinD mode: Helm values overrides |
templates/ | site/ | KinD/K8s: Custom Helm templates |
TUI Configuration (config.yaml)
The TUI configuration file controls how the deltafi command operates. On the first interactive run it is created by the installation wizard; in non-interactive sessions a default config.yaml is written automatically. It can be modified manually or via deltafi config --wizard.
Location
The TUI resolves the config directory in this order:
$DELTAFI_CONFIG_PATH(if set) — explicit override.~/.deltafi/— only when~/.deltafi/config.yamlalready exists. This is the legacy location and is honored for backwards compatibility.<deltafi-install>/config/— the directory next to thedeltafiexecutable. This is the default for new installs.
To move an existing ~/.deltafi/config.yaml (and its rc.bash/rc.zsh/rc.fish siblings) into the new executable-relative location, run:
deltafi config --migrate-configThe migration copies config.yaml into <deltafi-install>/config/, removes the legacy files, and rewrites the shell rc file in the new location. Stale source lines in your shell rc (.bashrc/.zshrc/config.fish) are stripped automatically the next time deltafi config --wizard runs.
Structure
orchestrationMode: Compose # Compose, Kind, or Kubernetes
deploymentMode: Deployment # Deployment, PluginDevelopment, or CoreDevelopment
coreVersion: "2.38.0" # DeltaFi version to run
installDirectory: /Users/me/deltafi
dataDirectory: /Users/me/deltafi/data
siteDirectory: /Users/me/deltafi/site
development:
repoPath: /Users/me/deltafi/repos
coreRepo: git@gitlab.com:deltafi/deltafi.gitFields
| Field | Description |
|---|---|
orchestrationMode | How DeltaFi is deployed: Compose (Docker Compose), Kind (Kubernetes in Docker), or Kubernetes |
deploymentMode | Your role: Deployment (operator), PluginDevelopment, or CoreDevelopment |
coreVersion | The DeltaFi version to run. Changed by deltafi upgrade. |
installDirectory | Root directory where DeltaFi is installed (where the deltafi binary lives) |
dataDirectory | Where runtime data is stored (databases, content, metrics) |
siteDirectory | Where site-specific customizations live |
development.repoPath | Where source repositories are cloned (for dev modes) |
development.coreRepo | Git URL for the core DeltaFi repository |
Modifying Configuration
# Re-run the configuration wizard
deltafi config --wizard
# Or edit directly (path resolves via the rules above)
vim "$(deltafi config --json | jq -r '.installDirectory')/config/config.yaml"Site Configuration
The site/ directory contains customizations that persist across upgrades. The files used depend on your orchestration mode.
Compose Mode
site/values.yaml
Override DeltaFi service configuration:
deltafi:
core_worker:
enabled: true
replicas: 4
core_actions:
replicas: 2
auth:
mode: basic # basic, cert, or disabled
api:
workers: 16
dirwatcher:
enabled: true
maxFileSize: 4294967296 # 4GB
ingress:
domain: local.deltafi.org
tls:
enabled: truesite/compose.yaml
Override Docker Compose settings directly:
services:
deltafi-s3proxy:
ports:
- 9000:9000 # Expose object storage to host
deltafi-core:
environment:
- JAVA_OPTS=-Xmx4gKinD Mode
site/kind.values.yaml
Override Helm values for KinD deployments:
deltafi:
core:
resources:
requests:
memory: "2Gi"site/templates/
Add custom Kubernetes resources by placing Helm templates in this directory. Templates have full access to the DeltaFi chart's helpers and values.
Applying Configuration Changes
After modifying site configuration files:
deltafi up # Apply changes
deltafi up --force # Force restart all servicesAfter modifying config.yaml:
deltafi config # Print the resulting configuration to verify
deltafi config --wizard # Re-run the wizard to validate interactively
# Or just run any deltafi command - it reads config on each invocation
