base.yml 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. - name: Install hosts file
  2. template: src=hosts.j2 dest=/etc/hosts owner=root group=root mode=0644
  3. notify:
  4. - Update motd
  5. - name: Install hosts.deny file
  6. template: src=hosts.deny.j2 dest=/etc/hosts.deny owner=root group=root mode=0644
  7. - name: Write /etc/apt/sources.list
  8. template: src=apt/sources.{{ ansible_lsb.codename }}.list.j2 dest=/etc/apt/sources.list owner=root group=root mode=0644
  9. notify:
  10. - Reload apt cache
  11. - name: Write /etc/apt/apt.conf.d configuration files
  12. template: src=apt/apt-options.j2 dest=/etc/apt/apt.conf.d/90local owner=root group=root mode=0644
  13. - name: Remove deprecated apt options files
  14. file: path=/etc/apt/apt.conf.d/{{ item }} state=absent
  15. with_items:
  16. - local-recommends
  17. - local-pdiffs
  18. - name: Install base packages
  19. apt: pkg={{ item }} install_recommends=no state=installed update_cache=yes
  20. with_items:
  21. - apticron
  22. - locales-all
  23. - locales
  24. - lsb-release
  25. - ntp
  26. - toilet
  27. - toilet-fonts
  28. - facter
  29. - zsh
  30. - git-core
  31. - vim-nox
  32. - ccze
  33. - tree
  34. - pydf
  35. - htop
  36. - sudo
  37. - sysfsutils
  38. - tmux
  39. - rsync
  40. - ca-certificates
  41. - sysstat
  42. - etckeeper
  43. - name: Configure default locale and timezone
  44. debconf: name="{{item.name}}" question="{{item.question}}" value="{{item.value}}" vtype="{{item.vtype}}"
  45. with_items:
  46. - { name: 'locales', question: 'locales/default_environment_locale', value: '{{ locale }}', vtype: 'select' }
  47. - { name: 'tzdata', question: 'tzdata/Areas', value: '{{ timezone_area }}', vtype: 'select' }
  48. - { name: 'tzdata', question: 'tzdata/Zones/{{ timezone_area }}', value: '{{ timezone_city }}', vtype: 'select' }
  49. notify:
  50. - Reconfigure locales
  51. - Reconfigure timezone
  52. - name: Install kernel configuration (proc)
  53. template: src=kernel/sysctl.d/{{ item }}.j2 dest=/etc/sysctl.d/{{ item }} owner=root group=root mode=0644
  54. with_items:
  55. - 10-increase-file-descriptors.conf
  56. notify:
  57. - Apply kernel configuration (proc)
  58. - name: Create sysfs configuration directory - /etc/sysfs.d
  59. file: path=/etc/sysfs.d state=directory owner=root group=root mode=0755
  60. - name: Install kernel configuration (sys)
  61. template: src=kernel/sysfs.d/{{ item }}.j2 dest=/etc/sysfs.d/{{ item }} owner=root group=root mode=0644
  62. with_items:
  63. - 00-sysfs-prolog.conf
  64. notify:
  65. - Refresh sysfs configuration
  66. - name: Install kernel configuration (sys) for disks
  67. template: src=kernel/sysfs.d/{{ item }}.j2 dest=/etc/sysfs.d/{{ item }} owner=root group=root mode=0644
  68. with_items:
  69. - 10-disks.conf
  70. notify:
  71. - Refresh sysfs configuration
  72. when: sysfs_disk_settings
  73. - name: Install sudo configuration
  74. template: src=sudo/local-admin.j2 dest=/etc/sudoers.d/local-admin owner=root group=root mode=0440
  75. - name: Install unprivileged user
  76. user: name="{{item.user}}" comment="{{item.fullname}}" groups=adm,operator,sudo append=yes shell=/bin/zsh state=present
  77. with_items: admins
  78. - name: Install SSH key for unprivileged user
  79. authorized_key: user="{{item.user}}" key="{{lookup('file', '../data/users/' + item.user + '/id_rsa.pub')}}" state=present
  80. with_items: admins
  81. - name: Install SSH key for root
  82. authorized_key: user=root key="{{lookup('file', '../data/users/' + item.user + '/id_rsa.pub')}}" state=present
  83. with_items: admins