base.yml 2.8 KB

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