mirror of
https://github.com/azlux/log2ram.git
synced 2023-10-10 13:37:24 +02:00
78 lines
2.3 KiB
YAML
78 lines
2.3 KiB
YAML
#!/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:
|
|
log2ram_repo_url: http://packages.azlux.fr
|
|
log2ram_gpg: https://azlux.fr/repo.gpg
|
|
log2ram_keyring: /usr/share/keyrings/azlux-archive-keyring.gpg
|
|
log2ram_apt_repository: "deb [signed-by={{ log2ram_keyring }}] {{ log2ram_repo_url }}/{{ ansible_distribution | lower }} {{ ansible_distribution_release }} main"
|
|
|
|
log2ram_size: 40M
|
|
log2ram_use_rsync: true
|
|
log2ram_mail: true
|
|
log2ram_path_disk: /var/log
|
|
log2ram_use_z2lr: true
|
|
log2ram_comp_alg: lz4
|
|
log2ram_log_disk_size: 100M
|
|
|
|
|
|
tasks:
|
|
- name: Add rsync as pre-requisite
|
|
apt:
|
|
name: rsync
|
|
when: log2ram_use_rsync
|
|
|
|
- name: Add gpg key
|
|
shell:
|
|
cmd: >
|
|
curl -fsSL {{ log2ram_gpg }} | gpg --dearmor --yes -o {{ log2ram_keyring }}
|
|
creates: "{{ log2ram_keyring }}"
|
|
|
|
- name: Add apt repository
|
|
apt_repository:
|
|
repo: "{{ log2ram_apt_repository }}"
|
|
filename: log2ram
|
|
register: log2ram_apt_repo
|
|
|
|
- name: Update apt cache
|
|
apt:
|
|
update_cache: true
|
|
when: log2ram_apt_repo is changed
|
|
|
|
- name: Install log2ram
|
|
apt:
|
|
name: log2ram
|
|
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: 'USE_RSYNC=(.*)$', line: 'USE_RSYNC={{ log2ram_use_rsync }}'}
|
|
- {regexp: '^MAIL=(.*)$', line: 'MAIL={{ log2ram_mail }}'}
|
|
- {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
|