Skip to content

Roadmap

Cosmin Harangus edited this page Jan 9, 2016 · 2 revisions

Roadmap

Version v1.0.0 - Goals

  • Shellbot should allow the provisioning of server through one or more communication protocols from any system.
  • It should not require any agent running on the nodes in order to get them to the right state for the ssh communication protocol.
  • It should require no dependencies when installing the tool on either the nodes or on the host.
  • For any other protocol only the tool should be downloaded and started on the node.
  • It should allow the user to arrange his configuration files any way that he wants. There should be a single main configuration file with imports external sections.
  • It should allow any parts of the configuration to be downloaded from an online location, like a git repository.
  • It should provide an easy to use library API in Go to be able to use it in any Go application.
  • It should allow the configuration of multiple environments.
  • It should allow checking if the nodes are reachable and that they are in the right state.
  • It should allow extending the functionality with plugins for any extended features required.

Version v0.2.0 - In Progress

  • The tool should allow the display of a status check for each server
  • The status should show if the servers are online and reachable
  • The status should show if the servers are in the correct state (check if all commands have run successfully of if a service is running)
  • The tool should allow all output from the servers to be logged for later review
  • Add tests for all features and components

Initial Version v0.1.0 - Done

  • Testing required - The tool should allow the user to connect to a remove server using ssh by using the ssh agent
  • Load the configuration file by the tool and execute the commands on each server in the configuration (HCL, YAML, JSON, TOML supported due to Viper integration)
  • Create a cli application that can serve as a basis for the shellbot tool
  • Create an example of a configuration file with at least two ssh servers to connect to and multiple commands
  • The tool should allow the user to copy a file from the server to the local environment
  • The tool should allow the user to connect to a remove server using ssh by using a username and password
  • The tool should allow the user to connect to a remove server using ssh by using a private key
  • The tool should allow the remove execution of one or more commands on a server
  • The tool should allow the user to copy a file from the local environment to the server
  • The tool should allow the user to copy an entire directory from the local environment to the server
  • The tool should allow the user to copy an entire directory from the server to the local environment
Clone this wiki locally