If you deploy a lot of Raspberry Pi computers, you might find it inconvenient to log into each one to perform different tasks. Orka, an open source project by [Karthik K], is a server that runs on a desktop PC (Windows, Linux, or Mac) and can control multiple Orka clients (that can run on a Pi, or a desktop PC). We understand that [Karthik K] is looking for Mac testers, by the way.
From the server, you can execute commands and create tasks. You can also receive notification when a client PC reaches a threshold (for example, over temperature or too much CPU or RAM usage). You can open a shell on a client and do other operations.
You can find both the server and the client Javascript source on GitHub. The project is brand new, so we wouldn’t be surprised if it has some rough edges, but since it is HTML and Javascript and it is open source, you can probably fix or enhance anything you like and feed it back to the project.
We’ve been seeing a lot of Raspberry Pi clusters and we’ve talked about exposing a Pi on the Internet. If you have a lot of Pi boards out there, Orka might be a useful tool.
We teach with it here and I am usually batch SFTP’ing lessons and configs to ten to twelve at a time. Will check it out.
Check out salt a configuration management program at saltstack.com It is easy to use and setup. salt-cp ‘pi-lab*’ /tmp/sourcefile /home/student/dest
setup a salt-master and install salt-minion on the clients you can use dns to direct the clients for the first connection. Then on the master you check the use salt-key to accept the keys from the clients. It really is easy to use and you only have to have the server open on a single port or a small range. It uses zeroMQ and is very responsive. I use it to manage hundreds of computers. It has more advanced features to manage installs and configurations but it is simple to setup and use for day to day grinds where prep is is not needed.
Ansible would also be a good fit here, with an inventory file containing the IPs of your Pis you could just say ansible-playbook deploy-my-class.yml -i list_of_pis
Waiting for the IoT controller…
Crapping UNIX through a Javascript opened socket, hiding the disaster under a neat eye-candy UI, it´s enough to be featured on HaD. On one hand we get told that IoT is a botnet paradise, on the other hand we got shown horrors like this.
Well now you’ve got yer scriptkiddie botherding tools for all those pis out there LOL.
The web UI sounds like it could be a useful feature, but apart from this, how does it differ from existing solutions such as Chef, Puppet and Ansible? These three are all relatively mature orchestration tools that are already widely used and deployed.
We use Ansible a lot to manage big clusters, including ARM devices. It is command line, uses SSH for communications, only requires Python 2 on the target machine, and has a UI in the form of Ansible Tower if you need that.
Better yet, know you’ll be deploying on debian/ubuntu machines? Set a raw precommand that apt-get installs python, now your only prereq is being able to SSH into the targets in the first place which is key for most other methods too.
Personally, I just use tentakel if I really need to control a bunch at once
I use Ansible which is easy to use and does not require to install any software on the client side. Everything is just done over ssh… https://en.wikipedia.org/wiki/Ansible_(software)
This tool is a security dumpster fire. My favorite part is where Orka-client starts right up and creates a network accessible bash shell listener on port 1993[1].
const port = process.argv.length > 2 ? process.argv[2] : 1993
const cc = tty.createServer({ shell: ‘bash’, port: port, localOnly: false })
[1] https://github.com/haikarthikssk/Orka-Client/blob/master/client.js#L9-L11
Hi ducksauz,
Yes it is.. it is an alpha version. I’m currently working on authentication to make it secure . Thanks for your interest.
Thanks,
Karthik K