Massive thanks for putting the time into this one!
Would be helpful if there was a demo available that didn’t involve entering server details into your hosted version. Even some screenshots on the repo would suffice, alongside a feature list?
This is working fully on client side (full javascript), so no data is going over any server besides downloading index.html and js scripts, and then all requests are going over your open-balena instance
Page is also hosted on github, on “page” branch, and this is serving only static files
I just added Dockerized version of it, and also some actions:
Editing device name
Editing device note
Rebooting device
Restarting device application
Refreshing state
Next step will be to add device environment variables probably, cause it’s very annoying to set them over CLI
I just added and ported tunneling service.
Unfortunately it can’t be realized fully via frontend yet (raw tcp sockets still not available)
I ported balena tunnel to python also
SSH is very slowly cause i used 8192 bit key with passphrase
Tunneling service is authorizing via token that you got from open-balena
It realizes everything on docker containers and labels, cause i will add swarm implementation later later
Open-balena-dashboard can use tunneler service or not.
For now open-balena-dashboard supports only traefik domain and ssh traefik domain with XIP dns resolver
Super cool idea, I’ve often thought of doing something similar! Would you consider an option to use an API key to login instead of an email and password? I think that’d feel a bit more secure from a user standpoint.
@ca1ebd hmm why not, you mean not api key but token of logged open balena user?
it uses your backend and your openbalena instance, and implementation besides tunneler is fully front end
What i mean here is that if i want to implement api tokens it needs to be implemented inside open balena itself
Btw, today i added device environment editor
Probably i will add release manager and pinner soon
@Razikus tested your project a bit. Very nice work.
I am struggling a little with the tunnel however. GitHub - scribe-systems-sp/open-balena-tunneler the repo doesnt make clear where exactly to install it. Could you provide some info on how you set it up?