Sign inSign up

pythonicshahdev/boomi-component-migrator

By pythonicshahdev

•Updated about 1 month ago

Image
0

747

pythonicshahdev/boomi-component-migrator repository overview

⁠Boomi Component Migrator

Docker Pulls Image Size Node Express Platform

A containerised web tool that turns Boomi component management into a workflow the AtomSphere UI can't quite match — search across an entire account, copy or move components with dependency awareness, and trace what depends on what. All in a browser, all gated behind a token you share out-of-band.


⁠What it does

Search mode — find components across an entire Boomi account.

  • Filter by component type, name substring, folder-path substring, or connector subtype (e.g. salesforce, dynamics365fo, netsuitesdk, sap).
  • Aggregation panel breaks matches down by type, subType, and top-level folder — the "connector-inventory" view SEs and account teams reach for during customer surveys and pricing conversations.
  • Per-row → Copy and → Trace shortcuts. Trace is reverse-dependency lookup: "if I change this Salesforce Connection, what breaks?"
  • Multi-select checkboxes with a Copy selected button for bulk hand-off to Migrate without leaving Search.
  • Pagination, live filter, click-to-sort headers, and a 5-minute result cache so reruns are instant.

Migrate mode — plan and execute folder-to-folder or account-to-account component copies with full dependency awareness.

  • Preview the full dependency graph before anything happens.
  • Optionally recurse into sub-folders, recreating the source tree in the target on demand.
  • Per-component selection: preview, uncheck the ones you don't want, run.
  • Handles name collisions automatically (counter suffix).
  • Streams live progress per component with a source-revision → target-revision (v18 → v1) column.
  • Exports a CSV of the run for audit or promotion tracking.

Cross-account — flip Source and Destination credentials in the Override panel, click Verify credentials, and the tool infers cross-account mode automatically (locks Mode to COPY, routes target folder lookup to the destination account).


⁠Quick start

docker pull pythonicshahdev/boomi-component-migrator:latest

docker run -d --name boomi-migrator -p 3001:3000 \
  -e [email protected] \
  -e BOOMI_PASSWORD=<your-api-token> \
  -e BOOMI_ACCOUNT_ID=boomi_yourname-XXXXXX \
  -e CROSS_ACCOUNT_MODE=true \
  -e ALLOW_CREDENTIAL_OVERRIDE=true \
  pythonicshahdev/boomi-component-migrator:latest

Open http://localhost:3001⁠. Same command supports same-account and cross-account use — the cross-account UI toggle only appears (or gets auto-inferred by Verify credentials) when you set destination credentials.


⁠Access model

The image is public, but the app itself is gated by a SHA-256 access token hash baked into the image at build time (BOOMI_DEMO_TOKEN_HASH). To use the app you enter a plaintext access token at the sign-in page — the token is hashed client-side and compared against the baked hash.

  • The image contents are safe to publish because the hash is one-way. The plaintext token doesn't live in the image.
  • The plaintext token is shared out-of-band (DM, 1Password, etc.) by the image owner with people who should have access.
  • APP_PASSWORD is an optional plaintext-comparison fallback if you want to run your own gate without rebuilding.
  • Request access: contact the image owner for the plaintext token.

⁠Environment variables

VariableRequiredDescription
BOOMI_USERNAMEYesBoomi API token username, BOOMI_TOKEN.<email> format
BOOMI_PASSWORDYesBoomi API token value
BOOMI_ACCOUNT_IDYesSource account, e.g. boomi_yourname-XXXXXX
CROSS_ACCOUNT_MODENoSet true to expose the cross-account UI toggle
ALLOW_CREDENTIAL_OVERRIDENoSet true to expose the runtime override panel — lets you switch credentials without redeploying
BOOMI_DST_USERNAME / BOOMI_DST_PASSWORD / BOOMI_DST_ACCOUNT_IDNoDestination account credentials for cross-account use
APP_PASSWORDNoPlaintext access-token fallback (see Access model)
BOOMI_DEMO_TOKEN_HASHNoAlready baked into the published image; override at runtime only if you rebuild with your own token

⁠Known limitations

  • Process Routes: sub-processes called via a Process Route are not tracked by Boomi's ComponentReference API, so no downstream tool (this one included) can trace them.
  • Target revision always starts at 1: Boomi has no API for creating a component at a specific revision. The source revision is preserved in the CSV for audit context.
  • Component delete is not supported: Boomi's Platform API rejects DELETE /Component/{id}. Use the AtomSphere UI's folder-view multi-select, or delete the containing folder as a cascading workaround.

Built and maintained by Shah

Tag summary

Content type

Image

Digest

sha256:e5e1a2da3…

Size

47.7 MB

Last updated

about 1 month ago

docker pull pythonicshahdev/boomi-component-migrator