Using the SDK ClI you can move a container service running on a specific runner to another runner.
When asking to move a service from a runner (A) to another runner (B), the platform handles the automatic re-deployment of the last deployed service on the new runner, configure the certicates and update DNS entries.
The move is realized in 'hot' way meaning that the end user accessing the service does not have any breaks of traffic.
In order to maintain the traffic and due to the DNS propagation time and caches, on the original runner (A) we run a redirection of the traffic for the service moved on runner (B).
This is why on the 'runner' page of the console you will see a type of service with a 'traffic' icon running on the original runner (A) with this representation:
Using the console you can delete the traffic redirection any time according to you DNS propagation time. In general one hour. By default the platform deletes the redirection after 24 hours.
To move a service to a new runner, use the command below. <service_name> corresponds to the name of the service you want to move in the environment and <runner_name> corresponds to the runner you want to move your service.
npx warp env runner set <service_name> <runner_name>
To get the list of all service names and associated urls of one environment, use the command
npx warp env info
If you need to have the list of available runners for that env, use
npx warp runner list