Wodby CLI

wodby migrate wodby1 app

Preview, apply, or verify a Wodby 1 application migration

Migrate one Wodby 1 application. The default command is a read-only preview. Add --apply to create and populate the target, test it using its technical route, and change DNS only after testing succeeds. Rerun the same command with --verify after DNS cutover. By default, the newest successful file for each required backup component is selected. Use repeatable --source-backup INSTANCE=BACKUP_UUID values to pin all components to explicit complete snapshots, or --skip-data to omit data. Changes after each selected backup completed are not migrated. If a target mutation is ambiguous, inspect Wodby 2 and pass --retry-ambiguous only with the exact operation ID printed by the command. When state exists, --apply preserves the saved plan and continues completed work; --restart is allowed only before any target mutation.

Usage

wodby migrate wodby1 app SOURCE_APP_UUID [flags]

Examples

export WODBY1_SOURCE_TOKEN=...
  export WODBY_API_KEY=...

  wodby migrate wodby1 app APP_UUID --target-cluster CLUSTER [target and mapping options]
  wodby migrate wodby1 app APP_UUID --target-cluster CLUSTER [same options] --apply
  wodby migrate wodby1 app APP_UUID --target-cluster CLUSTER [same options] --verify

Options

Flag Description Default
--add-missing-services Add mapped services missing from the target stack when an exact Wodby 2 service is available true
--allow-unsupported-drupal Allow Drupal 8/9 stack metadata only after confirming the application code has already been upgraded to Drupal 10 or newer false
--apply Create the target and import data using the displayed plan false
--exclude-instance stringArray Exclude an instance by exact UUID or name (repeatable) []
-h, --help help for app false
-o, --output string Output format: text or json text
--poll-interval duration Target operation polling interval 2s
--restart Start a new applied plan only when saved state proves that no target mutation occurred (requires --apply) false
--retry-ambiguous string Retry exactly one inspected ambiguous operation ID -
--skip-code Intentionally omit repository/build-source migration false
--skip-data Intentionally omit database and files imports false
--source-backup stringArray Select a successful backup by INSTANCE=BACKUP_UUID or INSTANCE_UUID=BACKUP_UUID (repeatable) []
--source-base-url string Wodby 1 API base URL https://api.wodby.com
--source-token string Wodby 1 API token (defaults to WODBY1_SOURCE_TOKEN) -
--state-file string Secure resume-state path (defaults to the system temporary directory) -
--target-ci-integration-id int Wodby 2 CI integration ID override (otherwise Wodby CI with a linked repository, or automatic Custom CI fallback) 0
--target-cluster string Wodby 2 cluster ID or exact name -
--target-code-service string Target connect-build service name when the stack has more than one -
--target-env-map stringArray Source-to-target environment mapping (SOURCE=TARGET) []
--target-git-integration-id int Optional Wodby 2 Git integration ID used to find and link the source repository 0
--target-git-ref string Git branch, tag, or commit to build (defaults to the source ref) -
--target-git-ref-type string Git ref type: branch, tag, or commit -
--target-import-map stringArray Backup-to-import mapping ([APP/][INSTANCE/]COMPONENT=SERVICE:IMPORT) []
--target-project string Wodby 2 project ID or exact name (defaults to a project-owned cluster's owner; otherwise organization-owned) -
--target-repository-name string Exact repository name in the selected Wodby 2 Git integration (defaults to the name derived from the Wodby 1 repository URL) -
--target-service-map stringArray Source-to-target service mapping ([APP/][INSTANCE/]SOURCE=TARGET) []
--target-stack-id int Existing Wodby 2 stack ID override (managed Drupal/WordPress apps get a new catalog stack by default) 0
--target-stack-map stringArray Source-to-target stack ID mapping ([APP/][INSTANCE/]SOURCE=TARGET_STACK_ID) []
--target-version-map stringArray Source-service version override ([APP/][INSTANCE/]SOURCE_SERVICE=TARGET_VERSION) []
--verify Verify the applied migration after testing and DNS cutover false
--wait-timeout duration Timeout for each target operation 30m0s
-y, --yes Approve a new migration plan without an interactive prompt false

Options inherited from parent commands

Flag Description Default
--access-token string Access token -
--api-base-url string Public REST API base URL https://apiv2.wodby.com/v1
--api-key string API key -
--ci-config-path string Path to CI config /tmp/.wodby-ci.json
--verbose Verbose output false

See also

wodby migrate wodby1