瀏覽代碼

Update ansible playbook

Use new trusted.gpg.d keyring for apt key, improve idempotency,
only update cache when necessary, only restart service when necessary.
pull/162/head
rgm 3 年之前
父節點
當前提交
193c41573c
共有 1 個文件被更改,包括 73 次插入29 次删除
  1. +73
    -29
      ansible_playbook/install_log2ram.yml

+ 73
- 29
ansible_playbook/install_log2ram.yml 查看文件

@@ -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: modify config
lineinfile:
path: /etc/log2ram.conf
regexp: '^SIZE=(.*)$'
line: 'SIZE=80M'
backrefs: yes

- name: Start log2ram service
systemd:
state: started
name: 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: 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: 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

Loading…
取消
儲存