Adding etc, flatpak and rpm-ostree role
This commit is contained in:
12
roles/etc/defaults/main.yml
Normal file
12
roles/etc/defaults/main.yml
Normal file
@@ -0,0 +1,12 @@
|
||||
---
|
||||
etc_set_hostname: true
|
||||
etc_enable_BLSCFG: true
|
||||
etc_update_users: true
|
||||
etc_enable_NTS: true
|
||||
etc_configure_firewalld: true
|
||||
etc_configure_sysctl: true
|
||||
|
||||
etc_sysctl_params:
|
||||
kernel.unprivileged_bpf_disabled:
|
||||
value: 1
|
||||
state: present
|
||||
6
roles/etc/handlers/main.yml
Normal file
6
roles/etc/handlers/main.yml
Normal file
@@ -0,0 +1,6 @@
|
||||
- name: Restart chronyd
|
||||
ansible.builtin.systemd:
|
||||
name: chronyd
|
||||
state: restarted
|
||||
enabled: yes
|
||||
become: yes
|
||||
16
roles/etc/tasks/blscfg.yml
Normal file
16
roles/etc/tasks/blscfg.yml
Normal file
@@ -0,0 +1,16 @@
|
||||
---
|
||||
- name: Check if BootLoaderSpec is enabled
|
||||
ansible.builtin.lineinfile:
|
||||
path: /etc/default/grub
|
||||
line: 'GRUB_ENABLE_BLSCFG=true'
|
||||
#regexp: '^GRUB_ENABLE_BLSCFG=[tT]rue'
|
||||
state: present
|
||||
check_mode: yes
|
||||
register: conf
|
||||
|
||||
- name: Enable BootLoaderSpec
|
||||
ansible.builtin.command:
|
||||
cmd: grub2-switch-to-blscfg
|
||||
become: yes
|
||||
when:
|
||||
- conf.changed != false
|
||||
10
roles/etc/tasks/firewalld.yml
Normal file
10
roles/etc/tasks/firewalld.yml
Normal file
@@ -0,0 +1,10 @@
|
||||
---
|
||||
- name: Configure firewalld
|
||||
ansible.posix.firewalld:
|
||||
service: "{{ item.key }}"
|
||||
zone: "{{ item.value.zone }}"
|
||||
state: "{{ item.value.state }}"
|
||||
immediate: yes
|
||||
permanent: yes
|
||||
become: yes
|
||||
loop: "{{ lookup('dict', etc_firewalld, wantlist=True) }}"
|
||||
27
roles/etc/tasks/main.yml
Normal file
27
roles/etc/tasks/main.yml
Normal file
@@ -0,0 +1,27 @@
|
||||
---
|
||||
- name: Set hostname
|
||||
ansible.builtin.hostname:
|
||||
name: "{{ etc_hostname }}"
|
||||
use: systemd
|
||||
become: yes
|
||||
when: etc_set_hostname | bool
|
||||
|
||||
- name: Include users.yml
|
||||
ansible.builtin.include: users.yml
|
||||
when: etc_update_users | bool
|
||||
|
||||
- name: Include blscfg.yml
|
||||
ansible.builtin.include: blscfg.yml
|
||||
when: etc_enable_BLSCFG | bool
|
||||
|
||||
- name: Include nts.yml
|
||||
ansible.builtin.include: nts.yml
|
||||
when: etc_enable_NTS | bool
|
||||
|
||||
- name: Include firewalld.yml
|
||||
ansible.builtin.include: firewalld.yml
|
||||
when: etc_configure_firewalld | bool
|
||||
|
||||
- name: Include sysctl.yml
|
||||
ansible.builtin.include: sysctl.yml
|
||||
when: etc_configure_sysctl | bool
|
||||
7
roles/etc/tasks/nts.yml
Normal file
7
roles/etc/tasks/nts.yml
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
- name: Enable NTS
|
||||
ansible.builtin.template:
|
||||
src: chrony.conf.j2
|
||||
dest: /etc/chrony.conf
|
||||
become: yes
|
||||
notify: Restart chronyd
|
||||
10
roles/etc/tasks/sysctl.yml
Normal file
10
roles/etc/tasks/sysctl.yml
Normal file
@@ -0,0 +1,10 @@
|
||||
---
|
||||
- name: Configure sysctl
|
||||
ansible.posix.sysctl:
|
||||
name: "{{ item.key }}"
|
||||
value: "{{ item.value.value }}"
|
||||
state: "{{ item.value.state }}"
|
||||
sysctl_file: "/etc/sysctl.d/100-custom.conf"
|
||||
sysctl_set: yes
|
||||
become: yes
|
||||
loop: "{{ lookup('dict', etc_sysctl_params, wantlist=True) }}"
|
||||
7
roles/etc/tasks/users.yml
Normal file
7
roles/etc/tasks/users.yml
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
- name: Update users
|
||||
ansible.builtin.user:
|
||||
name: "{{ item.key }}"
|
||||
shell: "{{ item.value.shell }}"
|
||||
become: yes
|
||||
loop: "{{ lookup('dict', etc_users, wantlist=True) }}"
|
||||
50
roles/etc/templates/chrony.conf.j2
Normal file
50
roles/etc/templates/chrony.conf.j2
Normal file
@@ -0,0 +1,50 @@
|
||||
# Use public servers from the pool.ntp.org project.
|
||||
# Please consider joining the pool (https://www.pool.ntp.org/join.html).
|
||||
server time.cloudflare.com iburst nts
|
||||
|
||||
# Use NTP servers from DHCP.
|
||||
#sourcedir /run/chrony-dhcp
|
||||
|
||||
# Record the rate at which the system clock gains/losses time.
|
||||
driftfile /var/lib/chrony/drift
|
||||
|
||||
# Allow the system clock to be stepped in the first three updates
|
||||
# if its offset is larger than 1 second.
|
||||
makestep 1.0 3
|
||||
|
||||
# Enable kernel synchronization of the real-time clock (RTC).
|
||||
rtcsync
|
||||
|
||||
# Enable hardware timestamping on all interfaces that support it.
|
||||
#hwtimestamp *
|
||||
|
||||
# Increase the minimum number of selectable sources required to adjust
|
||||
# the system clock.
|
||||
#minsources 2
|
||||
|
||||
# Allow NTP client access from local network.
|
||||
#allow 192.168.0.0/16
|
||||
|
||||
# Serve time even if not synchronized to a time source.
|
||||
#local stratum 10
|
||||
|
||||
# Require authentication (nts or key option) for all NTP sources.
|
||||
#authselectmode require
|
||||
|
||||
# Specify file containing keys for NTP authentication.
|
||||
keyfile /etc/chrony.keys
|
||||
|
||||
# Save NTS keys and cookies.
|
||||
ntsdumpdir /var/lib/chrony
|
||||
|
||||
# Insert/delete leap seconds by slewing instead of stepping.
|
||||
#leapsecmode slew
|
||||
|
||||
# Get TAI-UTC offset and leap seconds from the system tz database.
|
||||
leapsectz right/UTC
|
||||
|
||||
# Specify directory for log files.
|
||||
logdir /var/log/chrony
|
||||
|
||||
# Select which information is logged.
|
||||
#log measurements statistics tracking
|
||||
13
roles/flatpak/defaults/main.yml
Normal file
13
roles/flatpak/defaults/main.yml
Normal file
@@ -0,0 +1,13 @@
|
||||
---
|
||||
flatpak_configure_remotes: true
|
||||
flatpak_alter_flatpaks: true
|
||||
|
||||
flatpak_remotes:
|
||||
flathub:
|
||||
state: present
|
||||
url: https://flathub.org/repo/flathub.flatpakrepo
|
||||
|
||||
flatpak_flatpaks:
|
||||
com.github.tchx84.Flatseal:
|
||||
state: present
|
||||
remote: flathub
|
||||
17
roles/flatpak/tasks/main.yml
Normal file
17
roles/flatpak/tasks/main.yml
Normal file
@@ -0,0 +1,17 @@
|
||||
---
|
||||
- name: Add/remove Flatpak remotes
|
||||
community.general.flatpak_remote:
|
||||
name: "{{ item.key }}"
|
||||
state: "{{ item.value.state }}"
|
||||
flatpakrepo_url: "{{ item.value.url }}"
|
||||
become: true
|
||||
loop: "{{ lookup('dict', flatpak_remotes ) }}"
|
||||
when: flatpak_configure_remotes | bool
|
||||
|
||||
- name: Add/remove Flatpaks
|
||||
community.general.flatpak:
|
||||
name: "{{ item.key }}"
|
||||
state: "{{ item.value.state }}"
|
||||
remote: "{{ item.value.remote }}"
|
||||
loop: "{{ lookup('dict', flatpak_flatpaks) }}"
|
||||
when: flatpak_alter_flatpaks | bool
|
||||
5
roles/rpm-ostree/defaults/main.yml
Normal file
5
roles/rpm-ostree/defaults/main.yml
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
rpm_ostree_alter_base_packages: true
|
||||
rpm_ostree_alter_layered_packages: true
|
||||
rpm_ostree_configure_kargs: true
|
||||
rpm_ostree_enable_autoupdates: true
|
||||
15
roles/rpm-ostree/handlers/main.yml
Normal file
15
roles/rpm-ostree/handlers/main.yml
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
- name: Reload rpm-ostree configuration
|
||||
ansible.builtin.command:
|
||||
cmd: rpm-ostree reload
|
||||
become: yes
|
||||
|
||||
- name: Enable rpm-ostree-automatic
|
||||
ansible.builtin.systemd:
|
||||
name: rpm-ostreed-automatic.timer
|
||||
state: started
|
||||
enabled: yes
|
||||
|
||||
- name: Reload systemd units
|
||||
ansible.builtin.systemd:
|
||||
daemon_reload: yes
|
||||
63
roles/rpm-ostree/tasks/main.yml
Normal file
63
roles/rpm-ostree/tasks/main.yml
Normal file
@@ -0,0 +1,63 @@
|
||||
---
|
||||
- name: Remove base packages
|
||||
ansible.builtin.shell:
|
||||
cmd: rpm-ostree override remove "{{ item.key }}" || /bin/true
|
||||
register: result
|
||||
become: yes
|
||||
changed_when: '"Run \"systemctl reboot\" to start a reboot" in result.stdout'
|
||||
loop: "{{ lookup('dict', rpm_ostree_base_packages) }}"
|
||||
when:
|
||||
- item.value.state == 'absent'
|
||||
- rpm_ostree_alter_base_packages | bool
|
||||
|
||||
- name: Reset base packages
|
||||
ansible.builtin.shell:
|
||||
cmd: rpm-ostree override reset "{{ item.key }}" || /bin/true
|
||||
register: result
|
||||
become: yes
|
||||
changed_when: '"Run \"systemctl reboot\" to start a reboot" in result.stdout'
|
||||
loop: "{{ lookup('dict', rpm_ostree_base_packages) }}"
|
||||
when:
|
||||
- item.value.state == 'present'
|
||||
- rpm_ostree_alter_base_packages | bool
|
||||
|
||||
- name: Set kernel parameters
|
||||
ansible.builtin.command:
|
||||
cmd: rpm-ostree kargs --append-if-missing="{{ item.key }}"
|
||||
register: result
|
||||
become: yes
|
||||
changed_when: '"Kernel arguments updated" in result.stdout'
|
||||
loop: "{{ lookup('dict', rpm_ostree_kargs) }}"
|
||||
when:
|
||||
- item.value.state == 'present'
|
||||
- rpm_ostree_configure_kargs | bool
|
||||
|
||||
- name: Remove kernel parameters
|
||||
ansible.builtin.command:
|
||||
cmd: rpm-ostree kargs --delete-if-present="{{ item.key }}"
|
||||
register: result
|
||||
become: yes
|
||||
changed_when: '"Kernel arguments updated" in result.stdout'
|
||||
loop: "{{ lookup('dict', rpm_ostree_kargs) }}"
|
||||
when:
|
||||
- item.value.state == 'absent'
|
||||
- rpm_ostree_configure_kargs | bool
|
||||
|
||||
- name: Enable autostaging and autoupdates
|
||||
ansible.builtin.replace:
|
||||
path: /etc/rpm-ostreed.conf
|
||||
regexp: '^#AutomaticUpdatePolicy=none'
|
||||
replace: 'AutomaticUpdatePolicy=stage'
|
||||
become: yes
|
||||
notify:
|
||||
- Reload rpm-ostree configuration
|
||||
- Enable rpm-ostree-automatic
|
||||
when: rpm_ostree_enable_autoupdates | bool
|
||||
|
||||
- name: Add/remove layered packages
|
||||
community.general.rpm_ostree_pkg:
|
||||
name: "{{ item.key }}"
|
||||
state: "{{ item.value.state }}"
|
||||
become: yes
|
||||
loop: "{{ lookup('dict', rpm_ostree_layered_packages, wantlist=True) }}"
|
||||
when: rpm_ostree_alter_layered_packages | bool
|
||||
Reference in New Issue
Block a user