Skip to main content

CLI app to clone Lucidworks Fusion datasources and linked configuration objects

Project description

fusion-datasource-cloner

A real Python CLI that clones a Lucidworks Fusion datasource in the same Fusion instance and also copies the linked configuration objects it references.

What it clones:

  • datasource configuration
  • linked index pipeline
  • linked query pipeline
  • linked index profile
  • scheduler entries that reference the datasource
  • optionally the parser

What it does not clone by default:

  • collections and indexed data
  • connector binaries / plugin jars
  • blob contents referenced by custom stages

Install

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Run

Basic auth:

python3 -m fusion_ds_clone.cli \
  --fusion-url https://fusion.example.com \
  --app demo \
  --basic-auth admin:password \
  --source-datasource products-json \
  --target-datasource products-json-copy \
  --verbose

API key:

python3 -m fusion_ds_clone.cli \
  --fusion-url https://fusion.example.com \
  --app demo \
  --api-key 'Bearer eyJhbGciOi...' \
  --source-datasource products-json \
  --target-datasource products-json-copy

Dry run:

python3 -m fusion_ds_clone.cli \
  --fusion-url https://fusion.example.com \
  --app demo \
  --basic-auth admin:password \
  --source-datasource products-json \
  --target-datasource products-json-copy \
  --dry-run

Clone and also move the clone to a different collection reference:

python3 -m fusion_ds_clone.cli \
  --fusion-url https://fusion.example.com \
  --app demo \
  --basic-auth admin:password \
  --source-datasource products-json \
  --target-datasource products-json-copy \
  --collection products_copy

Clone parser too:

python3 -m fusion_ds_clone.cli \
  --fusion-url https://fusion.example.com \
  --app demo \
  --basic-auth admin:password \
  --source-datasource products-json \
  --target-datasource products-json-copy \
  --clone-parser

Replace already-existing target objects:

python3 -m fusion_ds_clone.cli \
  --fusion-url https://fusion.example.com \
  --app demo \
  --basic-auth admin:password \
  --source-datasource products-json \
  --target-datasource products-json-copy \
  --overwrite

Notes

The tool derives new linked object IDs from the target datasource ID. Example:

  • source datasource: my-source
  • source index pipeline: my-source
  • target datasource: my-source-copy
  • target index pipeline: my-source-copy

If a linked object ID does not start with the source datasource ID, the tool creates a stable derived ID by suffixing the target datasource ID, for example:

  • source query pipeline: shared-catalog-qp
  • target query pipeline: shared-catalog-qp-my-source-copy

The parser API is still supported by the tool, but it is disabled by default because the current Lucidworks docs label parts of parser CRUD as deprecated.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fusion_datasource_cloner-0.1.0.tar.gz (7.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fusion_datasource_cloner-0.1.0-py3-none-any.whl (7.6 kB view details)

Uploaded Python 3

File details

Details for the file fusion_datasource_cloner-0.1.0.tar.gz.

File metadata

File hashes

Hashes for fusion_datasource_cloner-0.1.0.tar.gz
Algorithm Hash digest
SHA256 fc397ac4ca69c1b3afb54dc56eb384920fca6b8680465276c7ca28c6b6f50df8
MD5 8506f3e1031d06949ebeed1cc9b2b90c
BLAKE2b-256 b37c2b85c9b423199bc76d1b2c8a2749e213ffd00495db81086c06f0c40c99d2

See more details on using hashes here.

File details

Details for the file fusion_datasource_cloner-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for fusion_datasource_cloner-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ed5aeaeeda1193919362ee6e4ff46c7a9c1683eae22e05903f65030c7e153a40
MD5 8c118988620c49f69caa9717ab7285e2
BLAKE2b-256 66d885bf51aec67ad4f50ad8438aa9567d8b3d19fe617eefd29282b837a962c2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page