Experimental webapp used to run SSH commands on one or multiple servers. For instance in a cloud environment you might have a server cluster with several servers of a particular kind. Quilombo allows you to set up tasks that run commands via ssh on all those servers with just one click. It uses websockets to show the result of a task run in real time. Uses Sidekiq.
1) You'll likely need to set up the database config file (unless you use Heroku): config/database.yml
2) Run migrations:
3) Make sure sidekiq is running. Eg.:
bundle exec sidekiq
4) Make sure the faye/private_pub server is running:
bundle exec rackup private_pub.ru -s thin -E production
5) Run the server (eg.
rails s) and log in at /admin (eg.
- Username: firstname.lastname@example.org
- Password: password
- Make sure to change the password after logging in for the first time.
6) In the menu at the top of the screen click "Tasks". Add a task.
7) Add a server type. If you have several servers with the same user and keys, you can add several hosts names separating them with semicolons. The user credentials are for the user on the server(s) that will run the command. Currently password logins are not supported, only SSH keys. Add the private ssh key.
8) On the task overview page you can run tasks by clicking the "Run task!" link
This is experimental software. Use at your own risk.
Private keys will be stored in the database. It might be a good idea to have a separate user on the servers for running these remote commands. This user should only have the minimum permissions needed to perform the required tasks.