1
1
Fork 0
mirror of https://gitlab.archlinux.org/archlinux/infrastructure.git synced 2024-05-05 12:56:03 +02:00
infrastructure/roles/common/tasks/main.yml
Kristian Klausen 4112bdf9fd Make ansible-lint happy
yaml: truthy value should be one of [false, true] (truthy)
yaml: wrong indentation: expected 4 but found 2 (indentation)
yaml: too few spaces before comment (comments)
yaml: missing starting space in comment (comments)
yaml: too many blank lines (1 > 0) (empty-lines)
yaml: too many spaces after colon (colons)
yaml: comment not indented like content (comments-indentation)
yaml: no new line character at the end of file (new-line-at-end-of-file)
load-failure: Failed to load or parse file
parser-error: couldn't resolve module/action 'hosts'. This often indicates a misspelling, missing collection, or incorrect module path.
2021-02-14 14:22:05 +01:00

177 lines
5.8 KiB
YAML

---
- name: set fact for local dns resolver in use
set_fact:
host_has_local_dns_resolver: "{{ dns_servers|length == 1 and '127.0.0.1' in dns_servers }}"
- name: set hostname
hostname: name="{{ inventory_hostname }}"
- name: install pacman config
template: src=pacman.conf.j2 dest=/etc/pacman.conf mode=0644 owner=root group=root
- name: configure pacman mirror
template: src=mirrorlist.j2 dest=/etc/pacman.d/mirrorlist owner=root group=root mode=0644
- name: update package cache
pacman: update_cache=yes
- name: start and enable auditd
service: name=auditd enabled=yes state=started
- name: start and enable systemd-timesyncd
service: name=systemd-timesyncd enabled=yes state=started
- name: install smart
pacman: name=smartmontools state=present
when: "'hcloud' not in group_names"
# override smartd.service with ConditionVirtualization=no
# this should appear in the next upstream release, see https://github.com/smartmontools/smartmontools/issues/62
- name: create drop-in directory for smartd.service
file: path=/etc/systemd/system/smartd.service.d state=directory owner=root group=root mode=0755
- name: install drop-in snippet for smartd.service
copy: src=smartd-override.conf dest=/etc/systemd/system/smartd.service.d/override.conf owner=root group=root mode=0644
- name: start and enable smart
service: name=smartd enabled=yes state=started daemon_reload=yes
when: "'hcloud' not in group_names"
- name: start and enable btrfs scrub timer
service: name=btrfs-scrub@{{ '-' if (item.mount | length == 1) else (item.mount.split("/", 1)[1] | replace("/", "-")) }}.timer enabled=yes state=started
loop: "{{ ansible_mounts }}"
when: "item.fstype == 'btrfs' and item.mount != '/var/lib/docker/btrfs' and 'backup' not in item.mount"
- name: install mlocate
pacman: name=mlocate state=present
- name: activate regular updatedb for mlocate
service: name=updatedb.timer enabled=yes state=started
- name: generate locales
locale_gen: name={{ item }} state=present
with_items:
- en_US.UTF-8
- name: configure locales
template: src=locale.conf.j2 dest=/etc/locale.conf owner=root group=root mode=0644
- name: generate ssh key for root
command: ssh-keygen -b 4096 -N "" -f /root/.ssh/id_rsa creates="/root/.ssh/id_rsa"
- name: configure network
template: src=10-static-ethernet.network.j2 dest=/etc/systemd/network/10-static-ethernet.network owner=root group=root mode=0644
notify:
- restart networkd
when: configure_network
- name: create symlink to resolv.conf
file: src=/run/systemd/resolve/stub-resolv.conf dest=/etc/resolv.conf state=link force=yes owner=root group=root mode=0755
when: configure_network and not host_has_local_dns_resolver
- name: create resolv.conf
template: src=resolv.conf.j2 dest=/etc/resolv.conf owner=root group=root mode=0644
when: configure_network and host_has_local_dns_resolver
- name: start networkd
service: name=systemd-networkd state=started enabled=yes
when: configure_network
- name: start resolved
service:
name: systemd-resolved
state: "{{'stopped' if host_has_local_dns_resolver else 'started'}}"
enabled: "{{'no' if host_has_local_dns_resolver else 'yes'}}"
when: configure_network
tags:
- this
- name: configure tcp receive window limits
sysctl:
name: net.ipv4.tcp_rmem
value: "{{ tcp_rmem }}"
sysctl_set: true
sysctl_file: /etc/sysctl.d/net.conf
when: tcp_rmem is defined
- name: configure tcp send window limits
sysctl:
name: net.ipv4.tcp_wmem
value: "{{ tcp_wmem }}"
sysctl_set: true
sysctl_file: /etc/sysctl.d/net.conf
when: tcp_wmem is defined
- name: configure journald
template: src={{ item }}.j2 dest=/etc/systemd/{{ item }} owner=root group=root mode=644
with_items:
- journald.conf
notify:
- restart journald
- name: install syslog-ng
pacman: name=syslog-ng state=present
- name: configure syslog-ng
template: src=syslog-ng.conf.j2 dest=/etc/syslog-ng/syslog-ng.conf owner=root group=root mode=0600
notify:
- restart syslog-ng
- name: configure syslog-ng default config
template: src=syslog-ng@default.j2 dest=/etc/default/syslog-ng@default owner=root group=root mode=0644
notify:
- restart syslog-ng
- name: start syslog-ng
service: name=syslog-ng@default state=started enabled=yes
- name: install system.conf
template: src=system.conf.j2 dest=/etc/systemd/system.conf owner=root group=root mode=0644
notify:
- systemd daemon-reload
- name: install systemd-swap
pacman: name=systemd-swap state=present
when: enable_zram_swap
- name: install systemd-swap config for zram
copy: src=zram-swap.conf dest=/etc/systemd/swap.conf owner=root group=root mode=0644
notify:
- restart systemd-swap
when: enable_zram_swap
- name: start systemd-swap
service: name=systemd-swap state=started enabled=yes
when: enable_zram_swap
- name: install logrotate
pacman: name=logrotate state=present
- name: configure logrotate
template: src=logrotate.conf.j2 dest=/etc/logrotate.conf owner=root group=root mode=0644
- name: enable logrotate timer
service: name=logrotate.timer state=started enabled=yes
- name: create zsh directory
file: path=/root/.zsh state=directory owner=root group=root mode=0700
- name: install root shell config
copy: src={{ item }} dest=/root/.{{ item }} owner=root group=root mode=0644
with_items:
- zshrc
- dircolors
- name: install pacman-contrib,archlinux-contrib
pacman: name=pacman-contrib,archlinux-contrib state=installed
- name: remove old checkservices copied script (from submodule; archlinux-contrib provides /usr/bin/checkservices)
file: path=/usr/local/bin/checkservices state=absent
- name: install custom paccache.service
copy: src=paccache.service dest=/etc/systemd/system/paccache.service owner=root group=root mode=0644
- name: enable paccache timer
systemd: name=paccache.timer enabled=yes state=started daemon_reload=yes