This repository contains some stuff related to Ansible (excpet roles, that are in an "ansible-roles repository").
This repository contains some stuff related to Ansible (except roles, that are in an [https://forge.evolix.org/projects/ansible-roles/repository](ansible-roles repository)".
One the the main part is our Evolinux playbook, that we use to customize a Linux Debian server.
One the main part is our Evolinux playbook, that we use to customize a Linux Debian server.
It also contains our conventions for Ansible.
For beginners, you can read the topic [https://wiki.evolix.org/HowtoAnsible](HowtoAnsible).
## Evolinux
To set up a server according to "The Evolix Way", you have to install a Debian Linux stable (currently Jessie, v8.7).
### Install Debian
### Prerequisites
With the "netinst" CD image, here are some key settings :
We recommend using Debian with the "netinst" CD image, here are some key settings :
* Language : English
* Location : Other -> Europe -> France
* Locales : en_US.UTF-8 UTF-8
* Keyboard : French
We recommend to install only the minimum packages. At the "tasksel" step, choose only the SSH server item.
We recommend to install only the minimum packages. At the "tasksel" step, choose only the **SSH server** item.
### evolinux.yml playbook
@ -31,9 +33,9 @@ When the server is installed and rebooted, with a functioning SSH access, make s
You'll need a privileged user (preferably not root, but a regular user with full sudo permissions).
You can customize the playbook or add command line options to specify with user to use for the ssh connection and which privilege escalation to use (we like to use "sudo").
Then you'll have to populate the `vars/main.yml` file with values required by the "admin-users" and "evolinux-base" roles. You should refer to their respective documentation.
With some roles, you'll have to populate the `vars/main.yml` file with values required by the "admin-users" and "evolinux-base" roles. You should refer to their respective documentation.
You'll also need to confighure Ansible to include the location of the "ansible-rols" path in the `roles_path` value. We recommend using `$HOME/.ansible.cfg` with this :
You'll also need to confighure Ansible to include the location of the "ansible-roles" path in the `roles_path` value. We recommend using `$HOME/.ansible.cfg` with this :
```
[defaults]
@ -54,16 +56,16 @@ Our conventions for writting Ansible roles, playbooks… are in the CONVENTIONS.
## Tests
It's possible to use the `vagrant.yml` playbook locally, to test and debug the roles on a virtual machine.
It's possible to use the `test/vagrant.yml` playbook locally, to test and debug the roles on a virtual machine.
It works with a Virtualbox VM, driven by Vagrant.
To install Virtualbox and Vagrant (version 1.8 is not available on Debian repositories yet) :