I have setup a openBalena server in my ubuntu18.04 laptop, I followed the instructions https://www.balena.io/open/docs/getting-started/. I am partially successful, I could create app myAPP and list it.
I have raspberryPi 3, I followed instructions to flash image after configuring. I am able to see the Raspi is booting perfect but when I run command ‘balena devices’ on balena cli I am not seeing the entry.
Installed balena CLI on VM. So, openBalena server and balena CLI are on different machines in same network.
All instructions are run with login supplied while creating config folder for openBalena server.
Any points where I am missing ?
Firstly, did you use the openbalena.local domain? This uses mDNS to resolve and I have had issues on some network setups. If you have the ability to setup using a different domain, one which you can control the DNS entries for verbatim, that might be helpful.
Secondly, did you use a development image on your Pi? If so then could you pull the logs for the resin-supervisor service and put them here. To do so:
SSH to the Pi on port 22222, e.g. ssh root@{Pi IP address} -p 22222
run journalctl -u resin-supervisor -n100 --no-pager
This should show what’s going on from the Pi’s perspective.
OK well now we know the cause of the problem then; without it being able to curl the API it cannot register and receive instruction.
Personally I don’t use the .local domain in my setup, so I will reach out to someone who might be able to offer some debug advice.
In the meantime, if you can add host entries to your networks’ DNS resolver, then I would setup again using something like openbalena.lan and have entries for api., vpn., registry. and s3. all pointing to the IP of your setup.
@pei open-balena currently isn’t advertising addresses on the network so you’ll need to configure DNS properly. If you’re deploying locally, it might be as simple as adding appropriate routes to your router so that devices will be able to resolve the open-balena hostnames. However, by far the easiest way to get a working installation is to setup an instance on a public host following the Getting Started guide.
I have a similar problem as OP had (Device bootstrap fails, curl returns an error), so I’m curious, if the solution is still the same as @dfunckt proposed (configuring DNS) or is there some other solution to this issue?