Command-line interface
PipelineWise commands operate on a project directory or an imported tap-target pair. Commands exit non-zero on validation, discovery, replication, or reconciliation failure; automation must retain that exit status and the run log.
Command summary
Command |
Purpose |
Changes state or data |
|---|---|---|
|
Generate a project and connector templates. |
Creates local files. |
|
Validate project YAML and references. |
No. |
|
Discover sources and generate runtime configuration. |
Replaces generated config; persists data-diff definitions. |
|
List imported pipelines and last results. |
No. |
|
Test source connectivity. |
No target load. |
|
Refresh or inspect source catalog metadata. |
Runs source discovery. |
|
Run normal initial and ongoing replication. |
Loads target data and advances acknowledged state. |
|
Terminate a managed running pipeline. |
Stops processes; may leave replayable work. |
|
FullSync or configured PartialSync selected tables. |
Rebuilds/merges data and resets bookmarks. |
|
Repair one bounded source range. |
Merges target data; can update state. |
|
Move CDC state after a controlled switchover. |
Changes bookmarks without copying data. |
|
Produce an Ansible Vault YAML value. |
No pipeline state. |
|
Inspect persisted data-diff definitions and coverage. |
No. |
|
Run due data-diff checks. |
Persists attempts and coverage. |
|
Re-run one failed immutable window. |
Persists a remediation attempt. |
Project lifecycle
init
pipelinewise init --name <project>
Creates sample YAML for available, experimental, and some legacy connectors. Review Connectors before enabling a template.
validate
pipelinewise validate --dir <project>
Checks YAML syntax, required fields, connector types, schema mapping, and tap target references. It does not connect to a source or target.
import_config
pipelinewise import_config --dir <project>
Useful options:
Option |
Behaviour |
|---|---|
|
Imports only the named tap IDs and their targets. |
|
Reads the Ansible Vault password needed by encrypted YAML values. |
The command validates, connects to sources, performs discovery, and writes
generated files below ~/.pipelinewise. Data-diff definitions are versioned
only after connector generation and discovery succeed. import remains a
deprecated alias.
Warning
Removing or renaming a tap or target in project YAML makes
import_config delete its generated runtime directory and saved state.
Removing a PostgreSQL tap also drops its replication slot. Back up state and
plan a new initial sync before importing that change.
Inspect and test
status
pipelinewise status
Shows imported tap-target pairs, enabled state, current status, and last run result. A successful status row does not prove source-to-target equality.
test_tap_connection
pipelinewise test_tap_connection --tap <tap_id> --target <target_id>
Tests the configured source connection. It does not test the target or load records.
discover_tap
pipelinewise discover_tap --tap <tap_id> --target <target_id>
Runs source discovery and writes catalog metadata. Use it to diagnose missing
schemas, tables, fields, or permissions. import_config runs discovery
automatically.
Replication
run_tap
pipelinewise run_tap --tap <tap_id> --target <target_id>
Runs eligible initial FastSync work, then Singer replication in the same
invocation. --extra_log mirrors connector output to the PipelineWise logger.
See Run a pipeline for preflight and recovery.
stop_tap
pipelinewise stop_tap --tap <tap_id> --target <target_id>
Signals the process tree associated with the tap-target PID file. The target is given an opportunity to finish data already received. Restart without editing state after an unexpected interruption.
fast_sync
pipelinewise fast_sync \
--tap <tap_id> \
--target <target_id> \
--tables <schema.table,schema.table>
Option |
Behaviour |
|---|---|
|
Limits work to comma-separated source |
|
Overrides |
|
Selects tables with |
The command fails when FullSync is unavailable for the route. It never falls
back to Singer. A table with sync_start_from uses PartialSync. sync_tables
remains a deprecated alias.
partial_sync_table
pipelinewise partial_sync_table \
--tap <tap_id> \
--target <target_id> \
--table <schema.table> \
--column <column> \
--start_value <inclusive_start> \
--end_value <inclusive_end>
--end_value is optional. When absent, PipelineWise captures the current
replication position and can update state after the merge. PartialSync is
available only from MariaDB/MySQL or PostgreSQL to Snowflake. See
PartialSync behaviour.
reset_state
pipelinewise reset_state --tap <tap_id> --target <target_id>
Use this only after a controlled MariaDB/MySQL or PostgreSQL switchover whose old and new replication positions are known. The command changes state without copying rows; an incorrect mapping can skip data permanently.
For MariaDB/MySQL, switch_over_data_file in config.yml points to JSON
that maps the new host to the old/new identifiers, hosts, timestamp, and binlog
positions. Back up state and verify target continuity after the first run.
Data-diff
list_data_diff_checks
pipelinewise list_data_diff_checks --target <target_id> --tap <tap_id>
Options include --output-format table|json and --include-versioned.
--tap requires --target.
run_data_diff_checks
pipelinewise run_data_diff_checks --target <target_id> --tap <tap_id>
pipelinewise run_data_diff_checks --all
--check selects a check name, logical key, or version ID. --force creates
another attempt for the current UTC slot when a terminal attempt already exists.
rerun_data_diff_check
pipelinewise rerun_data_diff_check \
--run-id <uuid> \
--remediation-ref <ticket_or_incident>
Both options are required. The original attempt remains immutable. See Data-diff checks for scheduling, coverage, and remediation semantics.
Secrets
encrypt_string
pipelinewise encrypt_string \
--secret <vault-password-file> \
--string <value>
The command prints an Ansible Vault YAML value. Avoid shared shell history and process inspection when supplying sensitive command-line values. See Encrypt configuration values.
Common options and environment
Option |
Behaviour |
|---|---|
|
Writes PipelineWise CLI logs to a file. |
|
Copies Singer and FastSync subprocess output to standard output. |
|
Enables debug logging on standard output. |
|
Writes cProfile output below the configured profiling directory. |
|
Prints installed component versions. |
PIPELINEWISE_HOME selects the installation root containing connector virtual
environments. It defaults to ~/pipelinewise.
PIPELINEWISE_CONFIG_DIRECTORY selects the runtime configuration, state, and
log directory. It defaults to ~/.pipelinewise.