feat(role): Initial commit
This commit is contained in:
72
tasks/archlinux-auto-updates.yml
Normal file
72
tasks/archlinux-auto-updates.yml
Normal file
@@ -0,0 +1,72 @@
|
||||
# SPDX-License-Identifier: MIT
|
||||
- name: 'If Arch Linux create dir to Git clone repo for restart detection'
|
||||
when: 'ansible_facts[''os_family''] | lower == ''archlinux'''
|
||||
ansible.builtin.file:
|
||||
path: '{{ genvm_os_needs_restart_git_clone_dir }}'
|
||||
state: 'directory'
|
||||
|
||||
- name: 'If Arch Linux Git clone repo for restart detection'
|
||||
when: 'ansible_facts[''os_family''] | lower == ''archlinux'''
|
||||
ansible.builtin.git:
|
||||
repo: '{{ genvm_os_needs_restart_git_repo }}'
|
||||
dest: '{{ genvm_os_needs_restart_git_clone_dir }}'
|
||||
version: '{{ genvm_os_needs_restart_git_branch }}'
|
||||
|
||||
- name: 'If Arch Linux create symlinks to repo for restart detection'
|
||||
when: 'ansible_facts[''os_family''] | lower == ''archlinux'''
|
||||
loop_control:
|
||||
loop_var: 'genvm_os_needs_restart_symlink'
|
||||
label: 'Create symlink to ''{{ genvm_os_needs_restart_symlink.target | basename }}'''
|
||||
loop:
|
||||
- { target: '{{ genvm_os_needs_restart_git_clone_dir }}/arch-needs-restart.sh', symlink: '/usr/local/bin/arch-needs-restart' }
|
||||
- { target: '{{ genvm_os_needs_restart_git_clone_dir }}/arch-needs-restart.hook', symlink: '/usr/share/libalpm/hooks/arch-needs-restart.hook' }
|
||||
ansible.builtin.file:
|
||||
src: '{{ genvm_os_needs_restart_symlink.target }}'
|
||||
dest: '{{ genvm_os_needs_restart_symlink.symlink }}'
|
||||
state: 'link'
|
||||
force: true
|
||||
|
||||
- name: 'If Arch Linux create dir to Git clone repo for OS auto-upgrades'
|
||||
when: 'ansible_facts[''os_family''] | lower == ''archlinux'''
|
||||
ansible.builtin.file:
|
||||
path: '{{ genvm_os_auto_upgrades_git_clone_dir }}'
|
||||
state: 'directory'
|
||||
|
||||
- name: 'If Arch Linux Git clone repo for OS auto-upgrades'
|
||||
when: 'ansible_facts[''os_family''] | lower == ''archlinux'''
|
||||
ansible.builtin.git:
|
||||
repo: '{{ genvm_os_auto_upgrades_git_repo }}'
|
||||
dest: '{{ genvm_os_auto_upgrades_git_clone_dir }}'
|
||||
version: '{{ genvm_os_auto_upgrades_git_branch }}'
|
||||
notify:
|
||||
- 'Reload systemd unit configs'
|
||||
|
||||
- name: 'If Arch Linux create symlinks to repo for OS auto-upgrades'
|
||||
when: 'ansible_facts[''os_family''] | lower == ''archlinux'''
|
||||
loop_control:
|
||||
loop_var: 'genvm_os_auto_upgrades_symlink'
|
||||
label: 'Create symlink to ''{{ genvm_os_auto_upgrades_symlink.target | basename }}'''
|
||||
loop:
|
||||
- { target: '{{ genvm_os_auto_upgrades_git_clone_dir }}/arch-linux-update-and-restart.service', symlink: '/etc/systemd/system/arch-linux-update-and-restart.service' }
|
||||
- { target: '{{ genvm_os_auto_upgrades_git_clone_dir }}/arch-linux-update-and-restart.timer', symlink: '/etc/systemd/system/arch-linux-update-and-restart.timer' }
|
||||
ansible.builtin.file:
|
||||
src: '{{ genvm_os_auto_upgrades_symlink.target }}'
|
||||
dest: '{{ genvm_os_auto_upgrades_symlink.symlink }}'
|
||||
state: 'link'
|
||||
force: true
|
||||
notify:
|
||||
- 'Reload systemd unit configs'
|
||||
|
||||
- name: 'If Arch Linux enable systemd timer for OS auto-upgrades'
|
||||
ansible.builtin.systemd_service:
|
||||
name: 'arch-linux-update-and-restart.timer'
|
||||
state: 'started'
|
||||
enabled: true
|
||||
|
||||
- name: 'If Arch Linux make sure pacman ignores kernel updates (our zfs-dkms may not always be compatible)'
|
||||
when: 'ansible_facts[''os_family''] | lower == ''archlinux'''
|
||||
community.general.ini_file:
|
||||
path: '/etc/pacman.conf'
|
||||
section: 'options'
|
||||
option: 'IgnorePkg'
|
||||
value: 'linux linux-headers'
|
||||
Reference in New Issue
Block a user