Merge pull request #162 from rgm3/master

Update ansible playbook
This commit is contained in:
azlux 2021-07-06 17:21:49 +02:00 committed by GitHub
commit 2977823e71
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
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 - hosts: all
gather_facts: true
gather_subset: min
become: true 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: tasks:
- name: Add apt-key for new repository - name: "Add /etc/apt/sources.list.d/{{ apt_sources_file }}"
apt_key: copy:
keyserver: keyserver.ubuntu.com content: "deb http://packages.azlux.fr/debian/ {{ ansible_facts['distribution_release'] }} main\n"
id: CA548A0A0312D8E6 dest: /etc/apt/sources.list.d/{{ apt_sources_file }}
- name: Add log2ram to sources.list mode: 0644
apt_repository: owner: root
repo: deb http://packages.azlux.fr/debian/ buster main register: source_list
state: present
- name: update pkg database
apt:
upgrade: yes
update_cache: yes
- name: Install log2ram
apt:
pkg:
- log2ram
- name: modify config - name: Import apt key
lineinfile: apt_key:
path: /etc/log2ram.conf url: https://azlux.fr/repo.gpg.key
regexp: '^SIZE=(.*)$' id: 98B824A5FA7D3A10FDB225B7CA548A0A0312D8E6
line: 'SIZE=80M' keyring: /etc/apt/trusted.gpg.d/{{ apt_keyring_file }}
backrefs: yes register: dl_key
- name: Start log2ram service - name: Remove tilde backup file {{ apt_keyring_file }}~
systemd: file:
state: started path: /etc/apt/trusted.gpg.d/{{ apt_keyring_file }}~
name: log2ram 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