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 |