Switching devices from openBalena to balenaCloud and back

I have the same application running on both balenaCloud and openBalena. How do I go about switching devices running BalenaOS for RaspberryPi 3 from cloud to open and viceversa? Is it as simple as modifying the config.json in boot? And can this be achieved remotely using the supervisor API?
Also will persistent storage data be kept (using volumes)?
Any input is appreciated. Thank you.

@hoobs

Could you tell us the balenaOS version and the supervisor version? You can use the balena CLI to join an instance as long as you have local SSH access to it. Something like balena join 192.168.1.123 when logged into your openBalena (target) instance,

It wouldn’t matter that the applications are the same, they would be pulled down from the registry in the openBalena instance. I am not sure about volumes being kept; I would think that they should be, but it would need testing.

At the moment, the move operation is done over SSH and not in the supervisor API but we are exploring this functionality currently.

If you give this a try, please report back here with your progress/issues as we want to try and make this use-case mainstream and any info will be helpful. Thanks.

So there is no way to move a device from openBalena to cloud without local access to device?

I tried adding my ssh key to the config.json then tunneling the port 22222 to my localhost with:
balena tunnel 1a0092b -p 22222:8181
but when I try to connect I get: [Error] 127.0.0.1:54358 => 127.0.0.1:8181 ===> 10.240.0.3:22222 :: Unable to connect: 404 Not Found

@hoobs I think this is because the UUID supplied is not the full one, so give that a try first to see if this stops the 404 error :+1: