DeltaFi TUI (Text User Interface)
DeltaFi TUI is a command-line interface for managing the DeltaFi data transformation and enrichment platform. It provides administrators and developers with control over DeltaFi system operations, from cluster management to flow orchestration and monitoring.
Overview
DeltaFi TUI serves as the primary management interface for DeltaFi deployments, offering:
- System Orchestration: Complete lifecycle management of DeltaFi clusters including startup, shutdown, upgrades, and configuration
- Flow Management: Comprehensive control over data sources, transforms, data sinks, and plugins with real-time monitoring
- Data Operations: Advanced DeltaFile management including search, filtering, and bulk operations
- System Administration: User management, property configuration, and system health monitoring
- Development Tools: Plugin development support, debugging capabilities, and testing utilities
This document provides comprehensive documentation for all available commands, subcommands, and their usage, including every flag and option. Whether you're a system administrator managing production deployments or a developer working with DeltaFi flows, this guide covers all aspects of the TUI interface.
Understanding the TUI
Why It Exists
The TUI is a single command-line tool that:
Abstracts orchestration backends - The same commands work whether you're running Docker Compose, KinD, or Kubernetes. You don't need to learn
docker-compose,kubectl, orhelmcommands.Manages the full lifecycle - Install, upgrade, start, stop, and configure DeltaFi without touching config files directly.
Interacts with running services - Search DeltaFiles, manage flows, view metrics, and debug issues through a consistent interface.
Two Types of Commands
The TUI mixes two distinct responsibilities:
| Type | Examples | What They Do |
|---|---|---|
| Orchestration | up, down, config, upgrade | Control the DeltaFi cluster lifecycle. These work regardless of what version is deployed. |
| Runtime | search, ingress, data-source, properties | Talk to the running DeltaFi services via API. These interact with the deployed version. |
Version Model
There are two versions to be aware of:
- TUI version (
deltafi --version) - The binary you're running - Deployed version (
deltafi versions) - The DeltaFi services actually running
For operators using released versions, these typically match. For developers, the TUI might be built from source while testing against different deployed versions.
To switch deployed versions:
deltafi upgrade list # See available versions
deltafi upgrade 2.39.0 # Upgrade to a specific versionOrchestration Modes
The TUI supports multiple deployment backends:
| Mode | Use Case |
|---|---|
| Compose | Docker Compose deployment (simplest, recommended for most users) |
| KinD | Kubernetes-in-Docker (for testing K8s features locally) |
| Kubernetes | Production Kubernetes clusters |
Switch modes with deltafi config. The same commands (up, down, status, etc.) work across all modes.
Key Features
- Interactive TUI Components: Rich terminal-based interfaces for complex operations like search and dashboard monitoring
- Comprehensive Command Coverage: Every DeltaFi operation accessible via command line
- Advanced Filtering and Search: Powerful DeltaFile search capabilities with extensive filtering options
- Real-time Monitoring: Live system status, metrics, and health monitoring
- Plugin Ecosystem Support: Full plugin lifecycle management from installation to development
- Multi-environment Support: Works with Compose, Kubernetes, and KinD deployments
Table of Contents
- Installation
- Basic Usage
- Command Groups
- Common Flags
- Examples
Basic Usage
The basic command structure is:
deltafi [command] [subcommand] [options] [arguments]To see all available commands:
deltafi --helpTo see help for a specific command:
deltafi [command] --helpCommand Groups
System Orchestration
up
Start up or update the DeltaFi cluster.
deltafi up [--force|-f]--force, -f: Force update. Skip upgrade confirmation prompt.
down
Take down the DeltaFi cluster. This is a destructive operation and can result in the loss of all persistent data.
deltafi down [--force|-f] [--destroy|-d]--force, -f: Force down without confirmation.--destroy, -d: Remove data directory contents after successful down.
status
Display current health and status for the DeltaFi system.
deltafi status [--watch|-w]--watch, -w: Watch status updates continuously.
config
Interactive configuration editor for DeltaFi, or set orchestration and deployment modes directly.
deltafi config [--compose|--kind|--kubernetes] [--deployment|--plugin-development|--core-development] [--force] [--no-start]Flags:
--composeSet orchestration mode to Compose--kindSet orchestration mode to KinD--kubernetesSet orchestration mode to Kubernetes--deploymentSet deployment mode to Deployment--plugin-developmentSet deployment mode to PluginDevelopment--core-developmentSet deployment mode to CoreDevelopment--forceForce configuration changes without confirmation--no-startDo not automatically start DeltaFi if it is not running
If any of these flags are set, the configuration will be updated and saved immediately, and the wizard will not run. You can set both orchestration and deployment mode in a single invocation. If you change orchestration mode while DeltaFi is running, you will be prompted to confirm (unless --force is used), and the system will be stopped automatically.
By default, the config command will automatically start DeltaFi if it is not running after configuration changes. Use the --no-start flag to skip this automatic startup behavior.
Examples:
# Set orchestration mode to Kubernetes and deployment mode to CoreDevelopment
deltafi config --kubernetes --core-development
# Set orchestration mode to Compose only
deltafi config --compose
# Set deployment mode to PluginDevelopment only
deltafi config --plugin-development
# Force orchestration mode change without confirmation
deltafi config --kind --force
# Configure without automatically starting DeltaFi
deltafi config --compose --no-startkind
Manage the KinD (Kubernetes in Docker) cluster.
⚠️ Important: This command is only available when the orchestration mode is set to KinD. It provides subcommands to start and stop the KinD cluster.
deltafi kind [subcommand]Subcommands:
up: Start the KinD clusterbashdeltafi kind upThis command will:
- Create and start a new KinD cluster if none exists
- Configure the cluster for DeltaFi deployment
- Set up necessary prerequisites
down: Stop and destroy the KinD clusterbashdeltafi kind downThis is a destructive operation that will:
- Stop all services running in the KinD cluster
- Destroy the cluster and all its resources
- Remove all persistent data
WARNING: This will permanently delete all data in the KinD cluster.
destroy: Destroy the KinD clusterbashdeltafi kind destroyThis is a destructive operation that does everything
downdoes plus:- Removes images
- Optionally removes all registries
- Stop all services running in the KinD cluster
- Destroy the cluster and all its resources
- Remove all persistent data
WARNING: This will permanently delete all data in the KinD cluster.
shell: Open an interactive shell in the KinD control planebashdeltafi kind shellThis command will:
- Connect to the KinD control plane container
- Open a tmux session in the
/usr/devdirectory - Provide an interactive development environment
Use
Ctrl+BthenDto detach from the tmux session.
DeltaFi System Management
event
Manage events in DeltaFi.
list: List all eventsbashdeltafi event listget [eventId]: Get details of a specific eventbashdeltafi event get <eventId> [--format|-o <json|yaml>]create [summary]: Create a new eventbashFlags:deltafi event create "Summary text" [flags]--quiet, -q: Quiet mode, no event output--source, -s <source>: Set event source (default 'cli')--content, -c <content>: Set event content--level, -l <level>: Set event severity (warn, error, info, success)--severity <level>: Equivalent to --level--notification, -n: Set the notification flag--warn: Set severity to warn--error: Set severity to error--success: Set severity to success
snapshot
Manage system snapshots.
list: List all system snapshotsbashdeltafi snapshot list [--plain|-p]show [id]: Show detailed information about a specific snapshotbashdeltafi snapshot show <id> [--format|-o <json|yaml>]create: Create a new system snapshotbashdeltafi snapshot create [--reason|-r <reason>] [--format|-o <json|yaml>]delete [id]: Delete a specific snapshotbashdeltafi snapshot delete <id>import [file]: Import a snapshot from file or stdinbashdeltafi snapshot import [file] [--reason|-r <reason>] [--format|-o <json|yaml>]restore [id]: Restore a snapshotbashdeltafi snapshot restore <id> [--hard|-H]--hard, -H: Perform a hard reset (may be more disruptive but more thorough)
freeze
Interactive wizard to create a preconfigured DeltaFi system distribution.
deltafi freezeversions
List version information for all running containers.
deltafi versions [--brief] [--plain]--brief: Brief output omitting container name--plain: Plain output without table borders
upgrade
Upgrade DeltaFi system to a specific version.
list: List available newer versionsbashdeltafi upgrade listchangelog [version]: Show changelog for a specific version or all newer versionsbash# Show changelog for a specific version deltafi upgrade changelog <version> # Show changelogs for all newer versions (newest to oldest) deltafi upgrade changelogupgrade [version]: Upgrade to a specific versionbashdeltafi upgrade <version> [--safe|-s]--safe, -s: Perform safe upgrade with ingress management and dashboard monitoring
Safe Upgrade Mode:
The --safe flag enables a safer upgrade process that minimizes downtime and provides monitoring capabilities:
Features:
- Ingress Management: Automatically disables ingress before upgrade and restores it afterward
- Dashboard Monitoring: Shows the system dashboard during upgrade for real-time monitoring
- Confirmation Prompt: Requires user confirmation before proceeding with the upgrade
- Error Recovery: Automatically restores ingress settings if upgrade fails or is aborted
Safe Upgrade Workflow:
- DeltaFi Status Check: If DeltaFi is not running, safe mode has no effect and normal upgrade proceeds
- Ingress Assessment: Checks if
ingressEnabledproperty is set totrue - Ingress Disable: If enabled, temporarily sets
ingressEnabledtofalseand logs the action - Dashboard Launch: Starts the system dashboard for monitoring (user can exit with 'q')
- Confirmation: Shows a Y/n prompt to confirm the upgrade
- Upgrade Execution: Performs the upgrade if confirmed
- Ingress Restoration: Restores
ingressEnabledto its original value after completion
Examples:
# Normal upgrade
deltafi upgrade 2.25.0
# Safe upgrade with ingress management and monitoring
deltafi upgrade 2.25.0 --safe
# Safe upgrade using short flag
deltafi upgrade 2.25.0 -sError Handling:
- If the upgrade is aborted (N, ctrl+c, q, esc), ingress settings are automatically restored
- If the upgrade fails, ingress settings are automatically restored
- Clear error messages indicate what went wrong and what was restored
Changelog Command Details:
The changelog command retrieves and displays changelog information from the DeltaFi container registry. It fetches the changelog content from the org.opencontainers.image.description annotation in the container manifest and renders it as formatted markdown.
Features:
- Single Version: Display changelog for a specific version
- All Newer Versions: When no version is specified, shows changelogs for all versions newer than the currently installed version
- Markdown Rendering: Beautiful terminal formatting with headers, bullet points, and color coding
- Flexible Version Support: Works with semantic versions (e.g., "2.25.0") and tags (e.g., "latest")
- Error Handling: Graceful handling of missing versions or changelogs
Examples:
# View changelog for a specific version
deltafi upgrade changelog 2.25.0
# View changelogs for all newer versions (newest first)
deltafi upgrade changelog
# View changelog for latest tag
deltafi upgrade changelog latestOutput Format: The changelog is rendered with:
- Color-coded headers and sections
- Proper bullet point formatting
- Terminal-optimized width and wrapping
- Clear separation between multiple changelogs when viewing all versions
set-admin-password
Set the admin password for the DeltaFi system.
deltafi set-admin-password [password] [--verbose|-v]--verbose, -v: Show detailed response information
delete-policies
Manage the delete policies in DeltaFi.
list: List the delete policiesbashdeltafi delete-policies list [--plain|-p]export: Export delete policies from DeltaFibashdeltafi delete-policies export [--format|-o <json|yaml>]import: Import delete policies to DeltaFibashdeltafi delete-policies import --file|-f <file> [--replace-all|-r] [--format|-o <json|yaml>]update: Update a delete policybashdeltafi delete-policies update --file|-f <file>get [policyName]: Get a delete policybashdeltafi delete-policies get <policyName> [--format|-o <json|yaml>]start [policyName]: Start a delete policybashdeltafi delete-policies start <policyName>stop [policyName]: Stop a delete policybashdeltafi delete-policies stop <policyName>delete [policyName]: Remove a delete policybashdeltafi delete-policies delete <policyName>
properties
Manage DeltaFi system properties.
list: List system propertiesbashdeltafi properties list [--plain|-p] [--verbose|-v]get [key]: Get a system propertybashdeltafi properties get <key>set [key] [value]: Set a system propertybashdeltafi properties set <key> <value>view: Interactive properties viewer and editorbashdeltafi properties view
minio
Command line access to the running DeltaFi MinIO instance.
cli: Start an interactive MinIO TUI sessionbashdeltafi minio cliexec: Execute MinIO TUI commandsbashdeltafi minio exec <commands...>mc: Execute a MinIO TUI commandbashdeltafi minio mc <command>watch: Watch a MinIO bucketbashdeltafi minio watch [bucket]
valkey
Command line access to the running DeltaFi Valkey instance.
cli: Start an interactive Valkey TUI sessionbashdeltafi valkey clilatency: Start the Valkey TUI latency commandbashdeltafi valkey latencystat: Start the Valkey TUI stat commandbashdeltafi valkey statmonitor: Start the Valkey TUI monitor commandbashdeltafi valkey monitor
graphql
Execute GraphQL queries against the DeltaFi GraphQL endpoint.
deltafi graphql [query] [--file|-f <file>] [--plain]The query can be provided in several ways:
- Command line argument: Direct query string
- Interactive mode: No arguments - type or paste to stdin, then press Ctrl+D to submit
- From stdin: Use
-for the query argument - From file: Use
@filenameor--file filenamefor the query argument
Flags:
--file, -f <file>: Read query from specified file--plain: Output plain JSON without syntax coloring
Examples:
# Execute a simple query
deltafi graphql "query { version }"
# Read query from stdin
deltafi graphql - < query.graphql
# Pipe query to command
cat query.graphql | deltafi graphql -
# Read query from file using @ prefix
deltafi graphql @query.graphql
# Read query from file using --file flag
deltafi graphql --file query.graphql
# Interactive mode - type query and press Ctrl+D
deltafi graphqlDeltaFi Flow Management
system-flow-plans
Import and export system flow plans.
export: Export all system flow plansbashdeltafi system-flow-plans export [--format|-o <json|yaml>]import: Import system flow plans from a filebashdeltafi system-flow-plans import --file|-f <file> [--format|-o <json|yaml>]
data-source
Manage data sources in DeltaFi.
list: List all data sourcesbashdeltafi data-source listget [name]: Get details of a specific data sourcebashdeltafi data-source get <name> [--format|-o <json|yaml>]load-on-error: Create or update an on-error data sourcebashdeltafi data-source load-on-error --file|-f <file>load-rest: Create or update a REST data sourcebashdeltafi data-source load-rest --file|-f <file>load-timed: Create or update a timed data sourcebashdeltafi data-source load-timed --file|-f <file>start [names...]: Start one or more data sourcesbashdeltafi data-source start <names...> [--all] [--all-actions|-a]stop [names...]: Stop one or more data sourcesbashdeltafi data-source stop <names...> [--all] [--all-actions|-a]pause [name]: Pause a data sourcebashdeltafi data-source pause <name> [--all-actions|-a]test-mode [name]: Enable or disable test modebashdeltafi data-source test-mode <name> --enable|--disabledelete [name]: Delete a data sourcebashdeltafi data-source delete <name>
data-sink
Manage data sinks in DeltaFi.
list: List all data sinksbashdeltafi data-sink listget [name]: Get details of a specific data sinkbashdeltafi data-sink get <name>load: Create or update a data sinkbashdeltafi data-sink load --file|-f <file>start [names...]: Start one or more data sinksbashdeltafi data-sink start <names...> [--all]stop [names...]: Stop one or more data sinksbashdeltafi data-sink stop <names...> [--all]pause [name]: Pause a data sinkbashdeltafi data-sink pause <name>test-mode [name]: Enable or disable test modebashdeltafi data-sink test-mode <name> --enable|--disabledelete [name]: Delete a data sinkbashdeltafi data-sink delete <name>
transform
Manage transform flows in DeltaFi.
list: List all transform flowsbashdeltafi transform list [--plain|-p]get [name]: Get details of a specific transformbashdeltafi transform get <name> [--format|-o <json|yaml>]load: Create or update a transformbashdeltafi transform load --file|-f <file>start [names...]: Start one or more transformsbashdeltafi transform start <names...> [--all]stop [names...]: Stop one or more transformsbashdeltafi transform stop <names...> [--all]pause [name]: Pause a transformbashdeltafi transform pause <name>validate [name]: Validate a transform flowbashdeltafi transform validate <name> [--format|-o <json|yaml>]test-mode [name]: Enable or disable test modebashdeltafi transform test-mode <name> --enable|-y|--disable|-ndelete [name]: Delete a transformbashdeltafi transform delete <name>
plugin
Manage plugins in DeltaFi.
list: List all pluginsbashdeltafi plugin list [--plain|-p]install [images...]: Install one or more pluginsbashdeltafi plugin install <image> [--secret|-s <secret>]uninstall [names...]: Uninstall one or more pluginsbashdeltafi plugin uninstall <name>describe [pluginName]: Describe a plugin and its actionsbashdeltafi plugin describe <pluginName> [--verbose|-v] [--action|-a <actionName>]generate: Generate a new plugin projectbashdeltafi plugin generate [--java | --python] <plugin-name> [flags] deltafi plugin generate action <plugin-name> <action-name> [flags]Plugin Generation:
Generate a new plugin project or update an existing one
bashdeltafi plugin generate [--java | --python] <plugin-name> [--namespace|-n <namespace>] [--interactive|-i] [--force|-f] [--dry-run|-d]--java: Generate a Java plugin (required, mutually exclusive with --python)--python: Generate a Python plugin (required, mutually exclusive with --java)plugin-name: Name of the plugin to generate or update (required)--namespace, -n: Plugin namespace (default: org.deltafi.<plugin-name>, only used when generating new plugin)--interactive, -i: Interactive mode - prompt for each file with diff view (update only)--force, -f: Force overwrite all files without prompting (update only)--dry-run, -d: Show what would be updated without making changes (update only)
Java Plugin Behavior:
- If the plugin directory does not exist: Generates a complete Java plugin project skeleton
- If the plugin directory already exists: Updates the plugin with the latest templates
When generating a new Java plugin, creates:
- Project structure following Java/Gradle best practices
build.gradleconfiguration with DeltaFi plugin conventionssettings.gradlewith repository configurationgradle.propertieswith DeltaFi SDK version- Gradle wrapper files (
gradlew,gradlew.bat,gradle-wrapper.properties) - Dockerfile for containerization (via plugin convention)
- README.md with project documentation
- Main Spring Boot application class
- Empty actions and test directories
- Flows directory with
data-source.jsonandvariables.json
When generating a new Python plugin, creates:
- Project structure following Python best practices
pyproject.tomlconfiguration with DeltaFi SDK dependency- Dockerfile for containerization
- Makefile with common development tasks
- README.md with project documentation
- Plugin registration file
- Empty actions and test directories
- Flows directory with
data-source.jsonandvariables.yaml
When updating an existing plugin, updates files with the latest templates while preserving:
- Java: DeltaFi version in
gradle.properties, additional dependencies inbuild.gradle - Python: Project version in
pyproject.toml, additional dependencies inpyproject.toml - User modifications (with interactive merge prompts)
Update Modes:
- Default: Shows summary of changes and asks for single confirmation
- Interactive (
-i): Shows side-by-side colorized diff for each file and prompts (y/n/d/a/q):y: Accept changesn: Skip filed: Show diff (side-by-side colorized)a: Accept all remaining filesq: Quit without applying changes
- Force (
-f): Overwrites all files without prompting - Dry Run (
-d): Shows what would be updated without making changes
Examples:
bash# Generate a new Java plugin with default namespace deltafi plugin generate --java my-plugin # Generate a Java plugin with custom namespace deltafi plugin generate --java my-plugin --namespace com.example.myplugin # Generate a new Python plugin deltafi plugin generate --python my-plugin # Update an existing plugin (directory already exists) deltafi plugin generate --java my-plugin # Preview what would be updated deltafi plugin generate --java my-plugin --dry-run # Update with interactive merge prompts deltafi plugin generate --python my-plugin --interactive # Force update all files deltafi plugin generate --java my-plugin --force
Action Generation:
action <plugin-name> <action-name>: Generate a new action in an existing pluginbashdeltafi plugin generate action <plugin-name> <action-name> [--type|-t <type>]plugin-name: Name of the existing plugin (required)action-name: Name of the action to generate (required)--type, -t: Type of action to generate (default: TransformAction)
Language Auto-Detection:
- Language is automatically detected based on the plugin directory:
build.gradlefile → Java pluginpyproject.tomlfile → Python plugin
Supported Action Types (Java):
TransformAction(default)EgressActionTimedIngressActionJoiningTransformActionTransformManyAction
Supported Action Types (Python):
TransformAction(default)EgressActionIngressActionTimedIngressActionJoiningTransformActionTransformManyActionTransformExecAction
Generates:
- Java: Action implementation file in
src/main/java/org/deltafi/<package>/actions/, test file insrc/test/java/org/deltafi/<package>/actions/, flow JSON file insrc/main/resources/flows/ - Python: Action implementation file in
src/<package>/actions/, test file insrc/<package>/test/ - Initial action with content passthrough behavior, TODO annotations, and logging
Examples:
bash# Generate a TransformAction (default) - language auto-detected deltafi plugin generate action my-plugin my-transform # Generate an EgressAction deltafi plugin generate action my-plugin my-egress --type EgressAction # Generate action with PascalCase name # Java: Creates SuperDuperAction.java with class SuperDuperAction # Python: Creates super_duper_action.py with class SuperDuperAction deltafi plugin generate action my-plugin SuperDuper
graph
Display a graph of data flow paths.
deltafi graph [flowNames...] [--all]--all: Show all flows
topic
Manage and inspect publish/subscribe topics in DeltaFi.
Topics are used for communication between different components in the DeltaFi system. Publishers send data to topics, and subscribers receive data from topics.
list: List all topics with their participant countsbashdeltafi topic list [--json|-j] [--plain|-p]--json, -j: Output in JSON format--plain, -p: Plain output format
flows [topic-name]: Show all flows (both publishers and subscribers) that use a specific topicbashdeltafi topic flows <topic-name> [--json|-j] [--plain|-p]--json, -j: Output in JSON format--plain, -p: Plain output format
downstream [topic-name]: Show downstream flows for a topic in a tree formatbashdeltafi topic downstream <topic-name>upstream [topic-name]: Show all upstream flow paths to a topic (all possible data source paths that can reach the topic)bashdeltafi topic upstream <topic-name>graph [topic-name]: Show both upstream and downstream flow graphs for a topic, with clear visual separationbashdeltafi topic graph <topic-name>This command displays all possible paths from data sources to the specified topic (upstream), and all flows downstream of the topic. Each section is visually separated and uses a bordered frame for clarity.
data-sources [topic-name]: List all data sources that could send data to a topicbashdeltafi topic data-sources <topic-name> [--json|-j] [--plain|-p]--json, -j: Output in JSON format--plain, -p: Output just the data source names, one per line (no table, no header)
Examples:
# List all topics
deltafi topic list
# Show flows using a specific topic
deltafi topic flows my-topic
# Show downstream flows for a topic
deltafi topic downstream my-topic
# Show all upstream flow paths to a topic
deltafi topic upstream my-topic
# Show both upstream and downstream graphs for a topic
deltafi topic graph my-topic
# List all data sources that could send data to a topic
deltafi topic data-sources my-topic
deltafi topic data-sources my-topic --plain
deltafi topic data-sources my-topic --jsonDeltaFiles
deltafile
View detailed information about a DeltaFile, including its flows, actions, and status.
deltafi deltafile <did>ingress
Ingress files into the DeltaFi system.
deltafi ingress <files...> --datasource|-d <source> [--content-type|-c <type>] [--plain|-p] [--verbose|-v] [--watch|-w]--datasource, -d: Data source for the ingressed files (required)--content-type, -c: Content type for the ingressed files (default: application/octet-stream)--plain, -p: Output only UUIDs, one per line--verbose, -v: Show detailed deltafile information for each uploaded file--watch, -w: Wait for each deltafile to complete before showing results
search
Search and filter DeltaFiles with a rich set of criteria. Opens an interactive TUI for browsing results with real-time updates and advanced navigation.
deltafi search [flags]Interactive Features:
- Real-time Navigation: Use arrow keys, page up/down, or mouse wheel to navigate results
- Sorting: Press Tab/Shift+Tab to cycle through sort columns, 'o' to toggle sort direction
- Auto-refresh: Use
--auto-refreshto automatically update results every N seconds - Detailed View: Press Enter to view full DeltaFile details in a modal
- Help: Press 'h' to view keyboard shortcuts and navigation help
Search Flags:
--from <time>: Display DeltaFiles modified after this time (default: today)--to <time>: Display DeltaFiles modified before this time (default: now)--until <time>: Alias for --to--creation-time, -C: Filter by creation time instead of modification time--local: Display times in local timezone--zulu: Display times in UTC/Zulu timezone--ascending: Sort results in ascending order--descending: Sort results in descending order--sort-by <column>: Column to sort by (modified, filename, data-source, stage, size)--auto-refresh <seconds>: Automatically refresh results every N seconds (0 to disable)--humanize: Display timestamps in human-readable format--data-source, -d <name>: Filter by data source name (can be specified multiple times)--transform, -t <name>: Filter by transform name (can be specified multiple times)--data-sink, -x <name>: Filter by data sink name (can be specified multiple times)--annotation <key=value>: Filter by annotation (can be specified multiple times)--stage, -s <stage>: Filter by stage (IN_FLIGHT, COMPLETE, ERROR, CANCELLED)--topics <topic>: Filter by topic name (can be specified multiple times)--name, -n <name>: Filter by DeltaFile name--filtered-cause <cause>: Filter by filtered cause--error-cause <cause>: Filter by error cause--did <id>: Filter by DeltaFile ID (can be specified multiple times)--requeue-count-min <int>: Minimum requeue count--ingress-bytes-min <int>: Minimum ingress bytes--ingress-bytes-max <int>: Maximum ingress bytes--referenced-bytes-min <int>: Minimum referenced bytes--referenced-bytes-max <int>: Maximum referenced bytes--total-bytes-min <int>: Minimum total bytes--total-bytes-max <int>: Maximum total bytes--content-deleted <yes|no>: Filter by content deleted status--egressed <yes|no>: Filter by egressed status--error-acknowledged <yes|no>: Filter by error acknowledged status--filtered <yes|no>: Filter by filtered status--paused <yes|no>: Filter by paused status--pending-annotations <yes|no>: Filter by pending annotations status--pinned <yes|no>: Filter by pinned status--replayable <yes|no>: Filter by replayable status--replayed <yes|no>: Filter by replayed status--terminal-stage <yes|no>: Filter by terminal stage status--test-mode <yes|no>: Filter by test mode status--user-notes <yes|no>: Filter by user notes status--warnings <yes|no>: Filter by warnings status
Navigation Keys:
↑/k: Move selection up↓/j: Move selection downpgup: Previous pagepgdown: Next pageg: Go to starttab: Cycle to next sort columnshift+tab: Cycle to previous sort columno: Toggle sort directionenter: View DeltaFile detailsr: Refresh resultsh: Show helpesc/q: Quit
Examples:
# Basic search with time range
deltafi search --from "yesterday" --to "now"
# Search with auto-refresh every 30 seconds
deltafi search --data-source my-source --auto-refresh 30
# Search with multiple filters
deltafi search --stage COMPLETE --data-source my-source --from "2024-01-01" --to "2024-02-01"
# Search with size filters
deltafi search --total-bytes-min 1000 --total-bytes-max 10000
# Search with annotations
deltafi search --annotation "priority=high" --annotation "environment=production"deltafiles
Manage and search DeltaFiles with comprehensive filtering and output options.
deltafi deltafiles [subcommand] [options]Subcommands:
view
Interactive viewer for DeltaFiles with real-time navigation and filtering.
deltafi deltafiles view [flags]Provides the same interactive TUI experience as search with all filtering options available.
Examples:
# View DeltaFiles with time filtering
deltafi deltafiles view --from "today" --to "now"
# View with auto-refresh
deltafi deltafiles view --auto-refresh 60
# View with specific filters
deltafi deltafiles view --stage COMPLETE --data-source my-sourcelist
List DeltaFiles in various output formats with comprehensive filtering options.
deltafi deltafiles list [flags]Output Format Flags:
--plain, -p: Show plain table output--json: Show JSON output--yaml: Show YAML output--verbose, -v: Show verbose output (JSON and YAML only)--terse: Hide table header and footer
Pagination Flags:
--limit <int>: Limit the number of results (default: 100)--offset <int>: Offset the results (default: 0)
All search flags are available (same as search command)
Examples:
# List recent DeltaFiles
deltafi deltafiles list --limit 10
# List in JSON format
deltafi deltafiles list --json --limit 5
# List with specific filters
deltafi deltafiles list --stage COMPLETE --data-source my-source --limit 20
# List with size filtering
deltafi deltafiles list --total-bytes-min 1000 --total-bytes-max 10000
# List with time range and output format
deltafi deltafiles list --from "yesterday" --to "now" --json --verboseerrored
Manage and search DeltaFile errors with specialized filtering for error conditions.
deltafi errored [subcommand] [options]Subcommands:
view
Interactive viewer for DeltaFile errors. By default shows only unacknowledged errors.
deltafi errored view [flags]Error-specific Flags:
--all: Show all errors (acknowledged and unacknowledged)--acknowledged: Show only acknowledged errors
All search flags are available (same as search command, with stage automatically set to ERROR)
Examples:
# View unacknowledged errors (default)
deltafi errored view
# View all errors including acknowledged
deltafi errored view --all
# View only acknowledged errors
deltafi errored view --acknowledged
# View errors with specific filters
deltafi errored view --error-cause "timeout" --data-source my-source
# View errors with auto-refresh
deltafi errored view --auto-refresh 30list
List DeltaFile errors in various output formats.
deltafi errored list [flags]Output Format Flags:
--plain, -p: Show plain table output--json: Show JSON output--yaml: Show YAML output--verbose, -v: Show verbose output (JSON and YAML only)--terse: Hide table header and footer
Pagination Flags:
--limit <int>: Limit the number of results (default: 100)--offset <int>: Offset the results (default: 0)
Error-specific Flags:
--all: Show all errors (acknowledged and unacknowledged)--acknowledged: Show only acknowledged errors
All search flags are available (same as search command, with stage automatically set to ERROR)
Examples:
# List recent errors
deltafi errored list --limit 10
# List all errors including acknowledged
deltafi errored list --all --limit 20
# List errors in JSON format
deltafi errored list --json --verbose
# List errors with specific filters
deltafi errored list --error-cause "timeout" --data-source my-source
# List errors with time range
deltafi errored list --from "last week" --to "now" --jsonfiltered
Manage and search filtered DeltaFiles with specialized filtering for filtered conditions.
deltafi filtered [subcommand] [options]Subcommands:
view
Interactive viewer for filtered DeltaFiles.
deltafi filtered view [flags]All search flags are available (same as search command, with filtered automatically set to yes)
Examples:
# View filtered DeltaFiles
deltafi filtered view
# View with specific filters
deltafi filtered view --filtered-cause "validation_failed" --data-source my-source
# View with auto-refresh
deltafi filtered view --auto-refresh 60list
List filtered DeltaFiles in various output formats.
deltafi filtered list [flags]Output Format Flags:
--plain, -p: Show plain table output--json: Show JSON output--yaml: Show YAML output--verbose, -v: Show verbose output (JSON and YAML only)--terse: Hide table header and footer
Pagination Flags:
--limit <int>: Limit the number of results (default: 100)--offset <int>: Offset the results (default: 0)
All search flags are available (same as search command, with filtered automatically set to yes)
Examples:
# List filtered DeltaFiles
deltafi filtered list --limit 10
# List in JSON format
deltafi filtered list --json --verbose
# List with specific filters
deltafi filtered list --filtered-cause "validation_failed" --data-source my-source
# List with time range
deltafi filtered list --from "yesterday" --to "now" --jsonTesting
integration-test
Manage integration tests for DeltaFi flows. Integration tests allow you to test complete data flows by providing test inputs and expected outputs, validating that data sources, transformation flows, and data sinks work together correctly.
deltafi integration-test [subcommand] [options] [arguments]Subcommands:
list
Show integration tests with their details. If no test names are provided, all tests are shown.
deltafi integration-test list [test-names...] [--short|-s] [--plain|-p] [--json|-j]test-names...: Optional list of specific test names to display--short, -s: Show only test names--plain, -p: Plain output format--json, -j: Output in JSON format
Examples:
# List all integration tests
deltafi integration-test list
# List specific tests
deltafi integration-test list smoke-test api-test
# Show only test names
deltafi integration-test list --short
# Output in JSON format
deltafi integration-test list --jsonload
Load an integration test from a configuration file. The file should contain integration test settings in JSON format. If an integration test with the same name already exists, it will be replaced.
deltafi integration-test load <file> [--plain|-p]file: Path to the integration test configuration file (JSON format)--plain, -p: Plain output format
Examples:
# Load a single test configuration
deltafi integration-test load test-config.json
# Load multiple test configurations
deltafi integration-test load *.jsonrun
Run integration tests and wait for results. Starts the specified integration tests and polls for completion with a progress bar showing real-time status updates.
deltafi integration-test run [test-names...] [--like|-l <pattern>] [--timeout|-t <duration>] [--json|-j] [--plain|-p]test-names...: Optional list of specific test names to run. If not provided, all available tests will be run.--like, -l: Run tests whose names contain this string (case-insensitive, can be specified multiple times)--timeout, -t: Timeout for test execution (default: 30m)
Features:
- Two-Phase Progress Bar:
- Startup Phase: Shows progress as tests are being started (e.g., "3/5 tests started")
- Execution Phase: Shows progress as tests complete (e.g., "2/5 tests completed")
- Live Status Table: Displays real-time status of each running test with color-coded results
- Pattern Matching: Use
--liketo run tests matching specific patterns - Multiple Patterns: Combine multiple
--likeflags for OR logic matching - Intersection Logic: When both test names and
--likepatterns are specified, only tests that match both criteria are run - Comprehensive Results: Final summary shows success/failure counts and detailed results table
- Timeout Handling: Graceful timeout handling with clear indication of incomplete tests
Filtering Logic:
- No arguments + no
--like: Runs all tests - Specific test names only: Runs only the specified tests
--likepattern only: Runs all tests whose names contain the pattern (case-insensitive)- Both test names +
--like: Runs the intersection - only tests that are both explicitly named AND match the pattern
Examples:
# Run all tests
deltafi integration-test run
# Run specific tests
deltafi integration-test run test1 test2
# Run tests containing "smoke" in their name
deltafi integration-test run --like "smoke"
# Run tests containing "test" OR "integration" in their name
deltafi integration-test run --like "test" --like "integration"
# Run specific tests that also contain "api" in their name (intersection)
deltafi integration-test run test1 test2 --like "api"
# Set custom timeout
deltafi integration-test run --timeout 5m
# Output results in JSON format
deltafi integration-test run --json
# Run tests with pattern matching and custom timeout
deltafi integration-test run --like "e2e" --timeout 10mOutput Format: The command provides rich terminal output including:
- Real-time progress bar with spinner and percentage
- Live status table during execution
- Final summary with success/failure counts
- Detailed results table with test names, status, duration, and errors
- Color-coded status indicators (green for success, red for failure, yellow for invalid)
summary
Display a summary of all integration test results. Shows all test execution results with their status, duration, and any errors.
deltafi integration-test summary [--json|-j] [--plain|-p]--json, -j: Output in JSON format--plain, -p: Plain text output
Examples:
# Show all test results
deltafi integration-test summary
# Output in JSON format
deltafi integration-test summary --json
# Plain text output
deltafi integration-test summary --plainclear
Remove all integration test results from the system.
deltafi integration-test clearThis command will:
- Fetch all existing test results
- Remove each test result individually
- Report the number of results removed
- Show any errors that occurred during removal
Example:
deltafi integration-test clearremove
Remove one or more integration tests by name.
deltafi integration-test remove <test-names...>test-names...: One or more test names to remove (required)
Examples:
# Remove a single test
deltafi integration-test remove old-test
# Remove multiple tests
deltafi integration-test remove test1 test2 test3Integration Test Configuration Format
Integration tests are defined in YAML format with the following structure:
name: "test-name"
description: "Test description"
timeout: "5m"
plugins:
- groupId: "org.deltafi"
artifactId: "deltafi-core"
version: "1.0.0"
dataSources:
- "my-data-source"
transformationFlows:
- "my-transform"
dataSinks:
- "my-data-sink"
inputs:
- name: "input1"
contentType: "application/json"
data: |
{
"key": "value"
}
expectedDeltaFiles:
- flow: "my-data-sink"
type: "COMPLETE"
state: "COMPLETE"
actions:
- "my-action"
metadata:
- key: "expected-key"
value: "expected-value"Key Features:
- Complete Flow Testing: Test entire data pipelines from source to sink
- Real-time Progress: Visual progress bar with live status updates
- Pattern Matching: Flexible test selection using
--likepatterns - Comprehensive Results: Detailed test results with timing and error information
- Batch Operations: Run multiple tests simultaneously
- JSON Output: Machine-readable output for automation
- Error Handling: Clear error reporting and failure summaries
Metrics
postgres
Command line access to the running DeltaFi Postgres instance.
cli: Start an interactive Postgres CLI sessionbashdeltafi postgres clieval: Pipe commands to Postgres from stdinbashcat query.sql | deltafi postgres eval deltafi postgres eval < query.sql deltafi postgres eval # Interactive input until Ctrl-Dstatus: Show Postgres instance status and administrative informationbashdeltafi postgres status [--plain|-p]--plain, -p: Plain output, omitting table borders
Displays comprehensive information including:
- Version: PostgreSQL version and compilation details
- Database Size: Current database size and storage usage
- Cache Hit Ratio: Database cache performance metrics
- Active Connections: Current connection states and counts
- Table Sizes: Top 10 tables by total size (including indexes)
- Table Statistics: Live/dead row counts for top tables
- Top Index Usage: Most frequently used indexes with scan counts
- Active Queries: Currently running queries (if any)
- Current Locks: Active lock types and counts
- Flyway Migration Summary: High-level migration statistics
- Recent Flyway Migrations: Last 5 migrations with details
migrations: Show detailed Flyway migration informationbashdeltafi postgres migrations [--plain|-p]--plain, -p: Plain output, omitting table borders
Displays a comprehensive table of all Flyway migrations including:
- Version: Migration version number
- Description: Human-readable description of what the migration does
- Script: Actual SQL script filename
- Installed On: When the migration was applied
- Execution Time: How long the migration took (in milliseconds)
- Success: Whether the migration succeeded
Also shows a migration summary with:
- Total number of migrations
- Number of successful vs failed migrations
- Latest migration version
- Last migration timestamp
dashboard
Display system metrics dashboard with real-time updates.
deltafi dashboard [--interval|-n <seconds>]--interval, -n: Refresh interval in seconds (default: 5)
Legacy Commands
These commands are deprecated but maintained for backward compatibility:
cli: Invoke the original DeltaFi CLI commandscluster: Invoke the original DeltaFi KinD cluster controlscompose: Invoke the original DeltaFi compose controls
Other Commands
docs
DeltaFi documentation browser.
deltafi docsCommon Flags
Many commands support the following common flags:
--format, -o: Output format (json|yaml)--file, -f: Path to configuration file (JSON or YAML)--plain, -p: Plain output, omitting table borders
Examples
Creating a New Event
deltafi event create "System update completed" --level success --notificationStarting All Data Sources
deltafi data-source start --allViewing Transform Details
deltafi transform get my-transform --format yamlCreating a System Snapshot
deltafi snapshot create --reason "Pre-upgrade backup"Performing System Upgrades
# Normal upgrade
deltafi upgrade 2.25.0
# Safe upgrade with ingress management and monitoring
deltafi upgrade 2.25.0 --safe
# List available upgrade versions
deltafi upgrade list
# View changelog for a specific version
deltafi upgrade changelog 2.25.0Viewing Flow Graph
deltafi graph my-data-sourceManaging Topics
# List all topics in the system
deltafi topic list
# Show all flows that use a specific topic
deltafi topic flows my-topic
# View the complete flow path to a topic
deltafi topic graph my-topicRunning Integration Tests
# Run all integration tests
deltafi integration-test run
# Run smoke tests only
deltafi integration-test run --like "smoke"
# Run specific tests with custom timeout
deltafi integration-test run test1 test2 --timeout 10m
# View test results summary
deltafi integration-test summary
# Load a new test configuration
deltafi integration-test load my-test.yamlManaging DeltaFiles
# Search DeltaFiles with interactive TUI
deltafi search --data-source my-source --stage COMPLETE
# Search with auto-refresh every 30 seconds
deltafi search --auto-refresh 30
# List DeltaFiles in JSON format
deltafi deltafiles list --json --limit 10
# View DeltaFiles with specific filters
deltafi deltafiles view --from "yesterday" --to "now"
# List recent errors
deltafi errored list --limit 5
# View all errors including acknowledged
deltafi errored view --all
# List filtered DeltaFiles
deltafi filtered list --filtered-cause "validation_failed"
# View filtered DeltaFiles with auto-refresh
deltafi filtered view --auto-refresh 60
