wodby migrate wodby1 server
Plan or run every application migration from a Wodby 1 server
Migrate every application hosted on one Wodby 1 server through one reviewed plan. Each application has an isolated resume-state file and is processed sequentially. If multiple source applications have repositories, use --target-repository-map once per app or intentionally use --skip-code. Before sync-data, enable maintenance mode and create fresh backups for every source instance. Change DNS only after validating the prepared target and syncing data; finalize then validates DNS and deploys the staged routes.
Usage
wodby migrate wodby1 server SOURCE_SERVER_UUID [flags]
Examples
export WODBY1_SOURCE_TOKEN=...
export WODBY_API_KEY=...
wodby migrate wodby1 server SERVER_UUID --phase plan --skip-code [target and mapping options]
wodby migrate wodby1 server SERVER_UUID --phase prepare --approve-plan PLAN_HASH [same options]
wodby migrate wodby1 server SERVER_UUID --phase sync-data --approve-plan PLAN_HASH [same options]
wodby migrate wodby1 server SERVER_UUID --phase finalize --approve-plan PLAN_HASH [same options]
wodby migrate wodby1 server SERVER_UUID --phase verify --approve-plan PLAN_HASH [same options]
Options
| Flag | Description | Default |
|---|---|---|
--approve-plan string |
Exact reviewed plan hash required by mutation phases | - |
-h, --help |
help for server | false |
--max-backup-age duration |
Maximum backup age accepted by sync-data | 1h0m0s |
-o, --output string |
Output format: text or json | text |
--phase string |
Migration phase: plan, prepare, sync-data, finalize, or verify | plan |
--plan-file string |
Plan JSON path (defaults beside the current working directory) | - |
--poll-interval duration |
Target operation polling interval | 2s |
--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-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 |
Base path for secure per-app resume-state files (defaults beside the plan) | - |
--target-ci-integration-id int |
Wodby 2 Git integration ID | 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-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-org string |
Wodby 2 organization ID or exact name | - |
--target-project string |
Wodby 2 project ID or exact name | - |
--target-remote-git-repo-id string |
Repository ID in the selected Wodby 2 Git integration | - |
--target-repository-map stringArray |
Per-app Git target (APP=CI_INTEGRATION_ID:REMOTE_GIT_REPO_ID[:SERVICE]) | [] |
--target-service-map stringArray |
Source-to-target service mapping ([APP/][INSTANCE/]SOURCE=TARGET) | [] |
--target-stack-map stringArray |
Source-to-target stack mapping ([APP/][INSTANCE/]SOURCE=TARGET) | [] |
--wait-timeout duration |
Timeout for each target operation | 30m0s |
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 |