Baseline playbook to update and install all the packages needed for a server
- Ansible 2.9.6 or superior.
Baseline is already in Ansible Galaxy, so the only thing you need is to install this script in your machine is just use ansible-galaxy command:
ansible-galaxy install lucascbeyeler.baseline
When a new version of ansible-commons is released, you will need to run the install process again, but with the "-f" or "--force" parameter.
ansible-galaxy install -f lucascbeyeler.baseline
- Update the system and install some basic packages (like vim, unzip, ntp, and ca-certificates);
- Configure a ntp client and change the timezone to what you want;
- Change the hostname and update the /etc/hosts to include 127.0.0.1 to answer when the hostname is resolved;
- Enable some services, like ntp, to start during the boot (Upstart and SystemD);
- Including hushlogin to hide the MOTD;
- Change the SSH default port;
- Disable Root login throught SSH.
- hostname: set the hostname of your server WITHOUT the domain;
- domain: set the domain for the server and the primary domain for your server;
- timezone: inform the timezone the playbook should set in your server;
- enable_hushlogin: enable hush login for all users inside your server;
- ssh_port: define the default port for OpenSSH Server;
Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:
- hosts: all
become: yes
become_method: sudo
roles:
- role: lucascbeyeler.baseline
hostname: pikachu
domain: johto.com
timezone: America/Sao_Paulo
enable_hushlogin:
ssh_port: 8080
View official GNU site http://www.gnu.org/licenses/gpl.html.