Skip to content

Configuration

DeltaFi uses several configuration files to control system behavior. This document covers where they live and what they do.

Configuration Files Overview

FileLocationPurpose
config.yaml<deltafi-install>/config/TUI settings (orchestration mode, directories, version)
values.yamlsite/Compose mode: DeltaFi service configuration
compose.yamlsite/Compose mode: Docker Compose overrides
kind.values.yamlsite/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:

  1. $DELTAFI_CONFIG_PATH (if set) — explicit override.
  2. ~/.deltafi/ — only when ~/.deltafi/config.yaml already exists. This is the legacy location and is honored for backwards compatibility.
  3. <deltafi-install>/config/ — the directory next to the deltafi executable. 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:

bash
deltafi config --migrate-config

The 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

yaml
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.git

Fields

FieldDescription
orchestrationModeHow DeltaFi is deployed: Compose (Docker Compose), Kind (Kubernetes in Docker), or Kubernetes
deploymentModeYour role: Deployment (operator), PluginDevelopment, or CoreDevelopment
coreVersionThe DeltaFi version to run. Changed by deltafi upgrade.
installDirectoryRoot directory where DeltaFi is installed (where the deltafi binary lives)
dataDirectoryWhere runtime data is stored (databases, content, metrics)
siteDirectoryWhere site-specific customizations live
development.repoPathWhere source repositories are cloned (for dev modes)
development.coreRepoGit URL for the core DeltaFi repository

Modifying Configuration

bash
# 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:

yaml
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: true

site/compose.yaml

Override Docker Compose settings directly:

yaml
services:
  deltafi-s3proxy:
    ports:
      - 9000:9000  # Expose object storage to host
  deltafi-core:
    environment:
      - JAVA_OPTS=-Xmx4g

KinD Mode

site/kind.values.yaml

Override Helm values for KinD deployments:

yaml
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:

bash
deltafi up        # Apply changes
deltafi up --force  # Force restart all services

After modifying config.yaml:

bash
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

Contact US