Compare commits

...

2 Commits

Author SHA1 Message Date
Azlux 2977823e71
Merge pull request #162 from rgm3/master
Update ansible playbook
2021-07-06 17:21:49 +02:00
rgm 193c41573c Update ansible playbook
Use new trusted.gpg.d keyring for apt key, improve idempotency,
only update cache when necessary, only restart service when necessary.
2021-07-05 08:12:23 -05:00
1 changed files with 71 additions and 27 deletions

View File

@ -1,32 +1,76 @@
---
#!/usr/bin/env ansible-playbook
---
# Configure Raspberry Pi to log to RAM, with occasional SD card sync
# to reduce SD card writes
# Usage: ansible-playbook -e 'log2ram_size=80M' install_log2ram.yml
- hosts: all
gather_facts: true
gather_subset: min
become: true
vars:
apt_keyring_file: azlux.fr.log2ram.gpg
apt_sources_file: log2ram.list
log2ram_size: 40M
log2ram_path_disk: /var/log
log2ram_use_z2lr: true
log2ram_comp_alg: lz4
log2ram_log_disk_size: 100M
tasks:
- name: Add apt-key for new repository
apt_key:
keyserver: keyserver.ubuntu.com
id: CA548A0A0312D8E6
- name: Add log2ram to sources.list
apt_repository:
repo: deb http://packages.azlux.fr/debian/ buster main
state: present
- name: update pkg database
apt:
upgrade: yes
update_cache: yes
- name: Install log2ram
apt:
pkg:
- log2ram
- name: "Add /etc/apt/sources.list.d/{{ apt_sources_file }}"
copy:
content: "deb http://packages.azlux.fr/debian/ {{ ansible_facts['distribution_release'] }} main\n"
dest: /etc/apt/sources.list.d/{{ apt_sources_file }}
mode: 0644
owner: root
register: source_list
- name: modify config
lineinfile:
path: /etc/log2ram.conf
regexp: '^SIZE=(.*)$'
line: 'SIZE=80M'
backrefs: yes
- name: Import apt key
apt_key:
url: https://azlux.fr/repo.gpg.key
id: 98B824A5FA7D3A10FDB225B7CA548A0A0312D8E6
keyring: /etc/apt/trusted.gpg.d/{{ apt_keyring_file }}
register: dl_key
- name: Start log2ram service
systemd:
state: started
name: log2ram
- name: Remove tilde backup file {{ apt_keyring_file }}~
file:
path: /etc/apt/trusted.gpg.d/{{ apt_keyring_file }}~
state: absent
- name: update apt cache
apt:
update_cache: true
when: dl_key is changed or source_list is changed
- name: Install log2ram
apt:
pkg:
- log2ram
register: pkg
notify: Restart log2ram
- name: Set config options
lineinfile:
path: /etc/log2ram.conf
regexp: "{{ item.regexp }}"
line: "{{ item.line }}"
backrefs: true
loop:
- {regexp: '^SIZE=(.*)$', line: 'SIZE={{ log2ram_size }}'}
- {regexp: '^PATH_DISK=(.*)$', line: 'PATH_DISK="{{ log2ram_path_disk }}"'}
- {regexp: '^ZL2R=(.*)$', line: 'ZL2R={{ log2ram_use_z2lr|lower }}'}
- {regexp: '^COMP_ALG=(.*)$', line: 'COMP_ALG={{ log2ram_comp_alg }}'}
- {regexp: '^LOG_DISK_SIZE=(.*)$', line: 'LOG_DISK_SIZE={{ log2ram_log_disk_size }}'}
notify: Restart log2ram
handlers:
- name: Restart log2ram
systemd:
name: log2ram
state: restarted