diff --git a/etc/host_vars/localhost.example b/host_vars/localhost.example similarity index 89% rename from etc/host_vars/localhost.example rename to host_vars/localhost.example index acf40e6..8069dc0 100644 --- a/etc/host_vars/localhost.example +++ b/host_vars/localhost.example @@ -1,9 +1,11 @@ ---- +--- admin_ssh_keys: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDZXK3ufonx+zNQ1x6cSWuUWckB/xf9sKZ+mRgY5SPXzqrxSkqNSmr9JQ6xzvhxKEVcFWsi50op1WWtRo3HG3p3+EHKXeCyzt5QnczDlVOoQbB8kgI0byKcvXux1inL4/Q4DbVLUbDFnynD/C5aAyYMYePahMxR+AQr60DD+7Ty6pcEVih1wwHIlxWziY1EF6sEzQwz/PiTxWIZkKHl/WPGagS9Pp/5nQfdZy0AS/JqbzNyMEg51+XedADuqseV4GXDzrzDYLJXJFv1PFVJxRWLrjChKrUMqyszUySkZMr5YSPXlsV0bi+0xivYEsXvIkLORV96JTZosYbV+0aFKDPv root@debian default_packages_debian: htop description: machine test -ntp_server1: 0.pool.ntp.org -ntp_server2: 1.pool.ntp.org +ntp_servers: + - 0.pool.ntp.org + - 1.pool.ntp.org + - 2.pool.ntp.org disable_ipv6: true domain: test.net mariadb_version: 10.0 diff --git a/postint.yml.README b/postint.yml.README index d1e9437..ccbd8f6 100644 --- a/postint.yml.README +++ b/postint.yml.README @@ -28,9 +28,9 @@ Après la description suivent des exemples de ces variables. - default_packages_debian : la liste des packages debian a installer par defaut - ansible_fqdn : le nom a donner au serveur - description : La description du serveur (s'affichera a la connexion) - - ntp_server1 : le premier serveur NTP a utiliser - - ntp_server2 : le deuxième serveur ntp a installer + - ntp_servers : liste de serveurs NTP à utiliser - disable_ipv6 : IPv6 doit il etre desactive ou non + - tzdata_timezone: Permet de définir une timezone personnalisée (Europe/Paris est définie par défaut) ### Exemples de variables ### fichier : /etc/ansible/group_vars/all : @@ -48,9 +48,8 @@ ansible_fqdn: serveur-debian.exemple.com description: Bienvenue sur ce serveur debian -ntp_server1: 0.fr.pool.ntp.org -ntp_server2: 1.fr.pool.ntp.org +ntp_servers: + - 0.fr.pool.ntp.org + - 1.fr.pool.ntp.org disable_ipv6: yes - - diff --git a/roles/common/handlers/main.yml b/roles/common/handlers/main.yml index 30bb051..6cb4216 100644 --- a/roles/common/handlers/main.yml +++ b/roles/common/handlers/main.yml @@ -40,5 +40,8 @@ - name: apt-update command: apt-get update -# vim: set textwidth=0 ft=yaml ts=2 sw=2 expandtab: +- name: update timezone + command: dpkg-reconfigure --frontend noninteractive tzdata + +# vim: set textwidth=0 ft=yaml ts=2 sw=2 expandtab: diff --git a/roles/common/tasks/main.yml b/roles/common/tasks/main.yml index b0b903a..776eb24 100644 --- a/roles/common/tasks/main.yml +++ b/roles/common/tasks/main.yml @@ -8,45 +8,39 @@ tags: bootstrap raw: python -c "import apt" || DEBIAN_FRONTEND=noninteractive apt-get --force-yes -y install python-apt when: ansible_distribution == 'Debian' - -# Check mandatory variables -- name: Check vars +# Check mandatory variables +- name: Check vars fail: msg="Missing variable admin_ssh_keys" when: admin_ssh_keys is not defined -- name: Check vars +- name: Check vars fail: msg="Missing variable default_packages_debian" when: default_packages_debian is not defined -- name: Check vars +- name: Check vars fail: msg="Missing variable description" when: description is not defined -- name: Check vars - fail: msg="Missing variable ntp_server1" - when: ntp_server1 is not defined - -- name: Check vars - fail: msg="Missing variable ntp_server2" - when: ntp_server2 is not defined +- name: Check vars + fail: msg="Missing variable ntp_servers" + when: ntp_servers is not defined -- name: Check vars +- name: Check vars fail: msg="Missing variable disable_ipv6" when: disable_ipv6 is not defined # SSH - - name: Deploy SSH keys tags: ssh_keys authorized_key: user=root key="{{item}}" - with_items: "{{admin_ssh_keys}}" + with_items: admin_ssh_keys # Packages - name: Install default packages Debian. apt: pkg={{item}} state=installed - with_items: "{{ default_packages_debian }}" + with_items: default_packages_debian when: ansible_distribution == 'Debian' # Configure NTP @@ -57,21 +51,18 @@ # Basic Shell & vim configuration -- name: Custom .bashrc - tags: custom - copy: src=root-.bashrc dest=/root/.bashrc -- name: Custom .vimrc - tags: custom - copy: src=root-.vimrc dest=/root/.vimrc -- name: Custom .inputrc - tags: custom - copy: src=root-.inputrc dest=/root/.inputrc - name: Create .vim/colors tags: custom file: path=/root/.vim/colors state=directory -- name: Wombat vim colors theme is awesome + +- name: Custom .bashrc, .vimrc, .inputrc and Wombat vim colors theme tags: custom - copy: src=root-.vim-colors-wombat.vim dest=/root/.vim/colors/wombat.vim + copy: src={{ item.src }} dest={{ item.dest }} + with_items: + - { src: 'root-.bashrc', dest: '/root/.bashrc' } + - { src: 'root-.vimrc', dest: '/root/.vimrc' } + - { src: 'root-.inputrc', dest: '/root/.inputrc' } + - { src: 'root-.vim-colors-wombat.vim', dest: '/root/.vim/colors/wombat.vim' } # Set motd and README.root @@ -79,13 +70,12 @@ tags: custom template: src=etc-motd.j2 dest=/etc/motd -- name: Modify /root/.profile +- name: Modify /root/.profile, Add basic README.root tags: custom - copy: src=root-.profile dest=/root/.profile - when: initialize == 'True' -- name: Add basic README.root - tags: custom - copy: src=root-README.root dest=/root/README.root + copy: src={{ item.src }} dest={{ item.dest }} + with_items: + - { src: 'root-.profile', dest: '/root/.profile' } + - { src: 'root-README.root', dest: '/root/README.root' } when: initialize == 'True' # Env setup @@ -97,11 +87,11 @@ debconf: name=locales question='locales/locales_to_be_generated' value='fr_FR.UTF-8, UTF-8' vtype='multiselect' when: ansible_distribution == 'Debian' -- name: Set the timezone - tags: environ - debconf: name=tzdata question='tzdata/Zones/Etc' value='UTC' vtype='select' - debconf: name=tzdata question='tzdata/Areas' value='Europe' vtype='select' - debconf: name=tzdata question='tzdata/Zones/Europe' value='Paris' vtype='select' +- name: Set timezone + copy: content='{{ tzdata_timezone | default('Europe/Paris') }}' + dest=/etc/timezone owner=root group=root mode=0644 + notify: + - update timezone when: ansible_distribution == 'Debian' - name: Disable IPv6 (need reboot) diff --git a/roles/common/templates/etc-ntp.conf.j2 b/roles/common/templates/etc-ntp.conf.j2 index c4cc437..3b2aca5 100644 --- a/roles/common/templates/etc-ntp.conf.j2 +++ b/roles/common/templates/etc-ntp.conf.j2 @@ -6,12 +6,11 @@ statistics loopstats peerstats clockstats filegen loopstats file loopstats type day enable filegen peerstats file peerstats type day enable filegen clockstats file clockstats type day enable -server {{ ntp_server1 }} -server {{ ntp_server2 }} +{% for server in ntp_servers %} +server {{ server }} +restrict {{ server }} nomodify nopeer +{% endfor %} restrict default ignore restrict -6 default ignore restrict 127.0.0.1 restrict ::1 -restrict {{ ntp_server1 }} nomodify nopeer -restrict {{ ntp_server2 }} nomodify nopeer -