Bcome
Bcome is a server management framework.
Quick links
Overview
It aims to simplify your day to day server management tasks by enabling access to your various estates from a single shell.
-
Access all machines across all your platforms and environments from one interface.
-
Execute commands across platforms on multiple machines simultaneously, harnessing the power of Ruby to assist with real-time orchestration.
-
Simple configuration enables static or dynamic network discovery.
-
Upload & download files (as local or sudo user), and execute commands directly on remote hosts (on either individual, or groups of hosts simultaneously)
-
Fully customisable for extending the framework with custom commands & tasks.
-
Easy integration into existing Ruby projects.
-
Dynamic network discovery for EC2 hosted machines (more providers to come). Static network definitions for everything else.
-
Transparent usage of locally configured SSH keys
-
Integration with Capistrano (undocumented yet - apologies)
-
Integration with Cloudformation for stack generation, updates etc (undocumented yet - apologies)
-
Ability to add Orchestration recipes for complex workflows (undocumented yet - apologies)
Security
The framework has no knowledge of your SSH keys, nor does it store them or interpret them in any way, merely acting as a transparent conduit for commands over SSH, with all commands being delegated to your underlying operating system.
Safety
With great power etc - it is assumed that users have been given the correct privileges for the machines under their control, and that they understand the functions of this tool.
Rapid overview
I thought it easier to delve into this with a few short videos (enlarge the video size for clarity, otherwise the font will be too small)
Basic Navigation & SSH
How to navigate around the shell and access your machines
Running Commands against machines, and selections of machines
How to execute commands against machines
Moving Files
How to move files onto, and off machines (either individual or collections of machines)
Command functions
Save commands and have them accesible from the menu. Execute your saved commands across individual, or collections of machines.
Accessing Extensions
Access and execute context commands (non-shell hooks using the bcome namespace) and Custom Orchestration recipes