Skip to main content

Registry CLI Reference

Reference for the conduit connectors command group, which manages standalone connectors: the registry install/uninstall/audit/bundle lifecycle, plus listing, describing, and scaffolding new connectors. connector is an accepted alias for connectors.

Every command supports --json, which emits the result as structured JSON (and structured errors) instead of the human-readable table. Commands fall into two groups:

  • Offline commandsinstall, uninstall, audit, bundle, new — operate on your connectors directory on disk and do not require a running Conduit. (uninstall opportunistically contacts a running engine for its in-use check but does not require one.)
  • Engine commandslist, describe — read from a running Conduit instance over the API.

Common flags

FlagCommandsDescription
--connectors.pathinstall, uninstall, list, auditConnectors directory. Env: CONDUIT_CONNECTORS_PATH. Default <basePath>/connectors.
--config.pathallPath to the Conduit configuration file.
--jsonallEmit structured JSON instead of a table.

Exit codes

The registry commands use Conduit's deterministic exit codes:

CodeCategoryMeaning
0Success.
1RuntimeInternal error, or (for audit) an index-integrity/tampering failure.
2ValidationNot found, incompatible version, yanked/revoked, ambiguous request.
3EnvironmentIndex unreachable, download/lock failure, or connector in use.

install

conduit connectors install <name>[@version] [flags]

Installs a connector from the registry into --connectors.path. Resolves the name exactly, selects the newest compatible version when @version is omitted, and verifies the index signature, the artifact's signature and SLSA provenance, and the sha256 digest before writing anything. Verification is fail-closed. See Installing Connectors for the full walkthrough.

FlagDescription
--index-urlRegistry index URL. Default https://registry.conduitdata.io/index.json.
--index-fileRead the index from a local file instead of --index-url (offline).
--lock-timeoutMax time to wait for the per-connector install lock. Default 30s.
--dry-runResolve and select a platform artifact; report what would be installed without downloading or writing.
--bundleInstall fully offline from a bundle tarball; ignores the positional <name>[@version]. See Offline install.
--allow-unsignedSkip signature/provenance verification (never the index or sha256 checks). Requires interactive confirmation or CONDUIT_ALLOW_UNSIGNED_INSTALL=I_UNDERSTAND; disabled entirely by operator policy install.allow-unsigned.
--allow-stale-bundleWith --bundle, tolerate a snapshot older than --max-staleness. Same gating as --allow-unsigned; env CONDUIT_ALLOW_STALE_BUNDLE=I_UNDERSTAND; operator policy install.allow-stale-bundle.

uninstall

conduit connectors uninstall <name>[@version] [flags]

Removes a connector artifact and its install-manifest entry. If more than one version of <name> is installed, an explicit @version is required — an ambiguous request refuses rather than guessing.

Before removing anything, uninstall checks whether any pipeline references the exact name@version. It considers both pipelines on a reachable running engine and pipelines merely provisioned on disk (--pipelines.path); it falls back to the on-disk scan when no engine is reachable. By default an in-use connector refuses removal with the affected pipelines listed.

FlagDescription
--forceRemove the artifact even if a pipeline still references it. The affected pipelines are still named in the result as a warning.

list

conduit connectors list [flags]

Aliases: ls. By default, lists the connector instances registered in a running Conduit (requires the engine to be running), optionally filtered by pipeline.

With --installed, it instead lists installed connector plugin artifacts from the local install manifest under --connectors.path — a different thing from pipeline instances, shown as a distinct table (NAME, INSTALLED, SIGNED, INSTALLED_AT, LATEST_AVAILABLE, STATUS).

FlagDescription
--pipeline-idFilter connector instances by pipeline ID. Mutually exclusive with --installed.
--installedList installed plugin artifacts from the local manifest instead of pipeline instances.
--index-urlRegistry index URL, consulted only with --installed for a best-effort LATEST_AVAILABLE column. Default https://registry.conduitdata.io/index.json.
--index-fileRead the index from a local file instead of --index-url; consulted only with --installed.
note

--installed reads the local manifest, but this command still dials the engine first like every other connectors list invocation, so a reachable engine is currently required even in --installed mode. If the index is unreachable, the LATEST_AVAILABLE/STATUS columns are informational-only for that run.

audit

conduit connectors audit [flags]

Re-verifies every installed connector against the current registry index — the protection for connectors installed before a version was yanked or a publisher was revoked. It re-fetches and re-verifies the signed index through the same pipeline install uses (there is no lower-trust audit-only fetch), then reports per connector:

  • YANKED_VERSION, REVOKED_PUBLISHER — registry-trust failures (Fail).
  • DELISTED, UNKNOWN_VERSION — registry-trust warnings (Warn).
  • MISSING_ARTIFACT, DRIFTED — local-integrity warnings (Warn).

An index that cannot be fetched or cryptographically verified fails the whole run (never a per-connector finding) — an audit built on an unverified index cannot be trusted. Check the reported error code; this is distinct from "all clean".

FlagDescription
--index-urlRegistry index URL. Default https://registry.conduitdata.io/index.json.
--index-fileRead the index from a local file instead of --index-url (offline).
--max-stalenessMaximum age of a verified index before it is considered stale. Defaults to install.max-staleness (7 days).

bundle

conduit connectors bundle <name>[@version] [flags]

Prepares a self-contained offline-install tarball on a networked machine, running the same full verification a normal install would before writing it. See Air-gapped / offline install.

FlagDescription
--osTarget operating system. Defaults to this host's.
--archTarget architecture. Defaults to this host's.
--outputOutput bundle path. Defaults to <name>-<version>-<os>-<arch>.bundle.tar.gz.
--index-urlRegistry index URL. Default https://registry.conduitdata.io/index.json.
--index-fileRead the index from a local file instead of --index-url.

describe

conduit connectors describe CONNECTOR_ID [flags]

Aliases: desc. Shows the detail view of a connector instance in a running Conduit — its type, plugin, pipeline, configuration, and attached processors. Requires the engine to be running. List connector IDs with conduit connectors list.

conduit connectors describe connector:source

new

conduit connectors new [name] [flags]

Scaffolds a full Go connector repository from ConduitIO/conduit-connector-template — SDK wiring, tests, CI, release workflow, and the acceptance-test harness — ready to build. It renames the module path, installs the code-gen tool, runs generation, verifies go build ./..., and initializes git.

FlagDescription
--moduleGo module path, e.g. github.com/you/conduit-connector-<name> (required).
--langTarget language. Only go is available today.
--pathDestination directory. Default ./conduit-connector-<name>.
--sdk-versionOverride the SDK version pinned in the embedded template.
--git / --no-gitInitialize a git repository and first commit (--git is the default).
--skip-generateSkip the code-gen tool install and generation step (the template ships pre-generated output, so it still builds).
--yes, -yConfirm without prompting.
--forceOverwrite the destination directory if it already exists.
conduit connectors new s3 --module github.com/you/conduit-connector-s3

scarf pixel conduit-site-docs-using-connectors