Servo is a command line tool that leverages Ansible to install or uninstall applications on remote servers. This tool supports a variety of applications including Apache HTTP Server, Nginx, Python, Java, Maven, PostgreSQL, MongoDB, Kafka and more.
- Flexible Installation and Uninstallation: Easily install or uninstall applications using simple commands.
- Customizable Configurations: Define hosts, package managers, and user credentials directly in commands or via a configuration file.
- Command-line Options: Override configuration settings with command-line options for greater control.
install <application> -i '<hosts>' -p 'apt/yum' -u '<user>'
install nginx
uninstall <application> -i '<hosts>' -p 'apt/yum' -u '<user>'
uninstall postgres
-i
: (Optional) Comma-separated list of host/hosts. If not provided, hosts will be picked from theconfig.ini
file.-p
: (Optional) Package manager for the remote server (apt
oryum
). Defaults toapt
if not specified in the command orconfig.ini
.-u
: (Optional) Username for the remote server. If not provided, it must be defined in theconfig.ini
file.
Variables will be picked in the following order:
- Command line
config.ini
file- Default values (if available)
If a required variable is missing in both the command and the config.ini
file, an error will occur.
- Ansible
- Java 21
Ensure the Ansible installation path is defined in the config.ini
file, otherwise, the default Ansible path will be used.
/etc/servo/config.ini
[ansible]
ansible_path = /usr/bin/ansible
#playbook_repo_path = /path/to/servo-ansible-playbook
[general]
package_manager = apt
user = default_user
[hosts]
host1 = 192.168.1.1
host2 = 192.168.1.2
Servo uses a central repository for all Ansible scripts. Ensure that your scripts are properly maintained and accessible from this repository.
The following applications can be managed using Servo:
- Apache HTTP Server
- Nginx
- Python
- Java
- Maven
- PostgreSQL
- MongoDB
For issues, questions, or contributions, don't hesitate to get in touch with deepak.93p@gmail.com
This repository is licensed under the Apache License Version 2. See the LICENSE file for more details.
Happy DevOps-ing with Servo!