|
|
- ---
- # Role commun a toutes les machines
- # vars: admin_ssh_keys, repositories, default_packages, ntp_server1, ntp_server2, description
-
- # Bootstrap if necessary (install python-apt)
-
- - name: Bootstrap if necessary
- 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
- fail: msg="Missing variable admin_ssh_keys"
- when: admin_ssh_keys is not defined
-
- - name: Check vars
- fail: msg="Missing variable default_packages_debian"
- when: default_packages_debian is not defined
-
- - name: Check vars
- fail: msg="Missing variable description"
- when: description is not defined
-
- - name: Check vars
- fail: msg="Missing variable ntp_servers"
- when: ntp_servers is not defined
-
- - 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
-
- # Packages
-
- - name: Install default packages Debian.
- apt: pkg={{item}} state=installed
- with_items: default_packages_debian
- when: ansible_distribution == 'Debian'
-
- # Configure NTP
-
- - name: Configure NTP
- tags: ntp
- template: src=etc-ntp.conf.j2 dest=/etc/ntp.conf
-
- # Basic Shell & vim configuration
-
- - name: Create .vim/colors
- tags: custom
- file: path=/root/.vim/colors state=directory
-
- - name: Custom .bashrc, .vimrc, .inputrc and Wombat vim colors theme
- tags: custom
- 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
-
- - name: Set the motd
- tags: custom
- template: src=etc-motd.j2 dest=/etc/motd
-
- - name: Modify /root/.profile, Add basic README.root
- tags: custom
- 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
-
- - name: Set the locale
- tags: environ
- debconf: name=locales question='default_environment_locale' value='fr_FR.UTF-8' vtype='multiselect'
- debconf: name=locales question='locales_to_be_generated' value='en_US.UTF-8 UTF-8, fr_FR.UTF-8 UTF-8' vtype='multiselect'
- debconf: name=locales question='locales/locales_to_be_generated' value='fr_FR.UTF-8, UTF-8' vtype='multiselect'
- when: ansible_distribution == 'Debian'
-
- - 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)
- tags: environ
- lineinfile: dest=/etc/modprobe.d/blacklist line="blacklist ipv6" state="present" create="yes"
- when: disable_ipv6 == 'True'
-
- - name: Enable IPv6 (need reboot)
- tags: environ
- lineinfile: dest=/etc/modprobe.d/blacklist line="blacklist ipv6" state="absent" create="yes"
- when: disable_ipv6 == 'False'
-
-
- # vim: set textwidth=0 ft=yaml ts=2 sw=2 expandtab:
|