Wodby CLI

wodby migrate wodby1 instance

Preview, apply, or verify a Wodby 1 instance migration

Migrate exactly one Wodby 1 app instance. The default command is a read-only preview. Add --apply to create the target and import data, then test the target using its technical route. Change DNS only after testing succeeds, and rerun the same command with --verify to validate the completed migration. The migration exports only the selected instance and its parent app metadata, then creates a new Wodby 2 app containing that instance. Pass --target-app to add it to an existing Wodby 2 app instead; the CLI infers the app's shared stack when unambiguous and never adopts or overwrites an existing app instance. By default it imports the newest successful backup file for each required component shown in the preview. Use --source-backup BACKUP_UUID to pin all components to a different complete snapshot, or --skip-data to omit data. Changes made after the selected backup completed are not migrated. Apply is resumable and stores its plan and state in the system temporary directory. When state exists, the same --apply command preserves the saved plan and continues completed work. --apply --restart replaces the saved plan. If the migration already changed Wodby 2, the CLI first shows and confirms removal of only the resources recorded as created by this migration; pre-existing target apps and reused resources are preserved. Restart is refused after successful verification or while any target operation remains ambiguous. --rollback deletes the Wodby 2 resources this migration created and discards its state; it refuses once --verify has succeeded, because DNS then points at Wodby 2.

Usage

wodby migrate wodby1 instance SOURCE_INSTANCE_UUID [flags]

Examples

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

  wodby migrate wodby1 instance INSTANCE_UUID --target-cluster CLUSTER [target and mapping options]
  wodby migrate wodby1 instance INSTANCE_UUID --target-app APP --target-cluster CLUSTER [target and mapping options]
  wodby migrate wodby1 instance INSTANCE_UUID --target-cluster CLUSTER [same options] --apply
  wodby migrate wodby1 instance INSTANCE_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 when the nginx preset does not identify Drupal 10 or newer and you have independently confirmed the application was upgraded false
--apply Create the target and import data using the displayed plan false
-h, --help help for instance false
-o, --output string Output format: text or json text
--poll-interval duration Target operation polling interval 2s
--restart Replace the saved plan, safely removing migration-created target resources first when necessary (requires --apply) false
--retry-ambiguous string Retry exactly one inspected ambiguous operation ID -
--rollback Delete the Wodby 2 resources this migration created and discard its resume state false
--skip-code Intentionally omit repository/build-source migration false
--skip-data Intentionally omit database and files imports false
--source-backup stringArray Select a successful Wodby 1 BACKUP_UUID for this instance []
--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-app string Existing Wodby 2 app ID or exact name to receive this instance -
--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