chore: first commit

This commit is contained in:
Clément Désiles
2025-07-25 20:23:54 +02:00
parent 5c4016357f
commit c612cc7839
88 changed files with 3255 additions and 0 deletions
+7
View File
@@ -0,0 +1,7 @@
---
- name: Ensure disks are formatted correctly
include_tasks: partitioning.yml
loop: "{{ disk_partitioning | default([]) }}"
- name: Enable trim SSD if there is at least one
include_tasks: trim-ssd.yml
+42
View File
@@ -0,0 +1,42 @@
---
- name: Install sfdisk
package:
name: util-linux
state: present
changed_when: false
- name: Install hdparm
package:
name: hdparm
state: present
changed_when: false
- name: Load expected layout from file (controller side)
set_fact:
expected_layout: "{{ lookup('file', item.layout_file) }}"
changed_when: false
- name: Get current layout from remote
command: "sfdisk --dump {{ item.device }}"
register: current_layout
changed_when: false
- name: Compare expected vs current layout
vars:
current_clean: "{{ current_layout.stdout | trim | regex_replace('\\s+', ' ') }}"
expected_clean: "{{ expected_layout | trim | regex_replace('\\s+', ' ') }}"
set_fact:
layout_differs: "{{ current_clean != expected_clean }}"
changed_when: false
- name: Copy layout file to remote (only if different)
copy:
content: "{{ expected_layout }}"
dest: "/tmp/expected-{{ item.device | basename }}.sfdisk"
mode: "0644"
when: layout_differs
- name: Apply partition table using sfdisk
command: >
sfdisk {{ item.device }} < {{ item.layout_file }}
when: layout_differs
+43
View File
@@ -0,0 +1,43 @@
---
# see: https://wiki.archlinux.org/title/Solid_state_drive#Periodic_TRIM
- name: Check if there is at least one SSD
set_fact:
has_at_least_one_ssd: "{{ ansible_facts.devices | dict2items | selectattr('value.rotational', 'equalto', '0') | list | length > 0}}"
changed_when: false
- name: Skip trim role
meta: end_play
when: not has_at_least_one_ssd
- name: install trim tools
package:
name: util-linux
state: present
changed_when: false
- name: edit trim periodicity if needed
template:
src: templates/fstrim.timer.j2
dest: "/etc/systemd/system/fstrim.timer.d/override.conf"
owner: root
group: root
mode: "0644"
register: timer_config
- name: systemd daemon reload
systemd:
daemon_reload: yes
when: timer_config.changed
- name: enable periodic trim
systemd:
name: fstrim.timer
enabled: yes
state: started
changed_when: false
- name: install nvme-cli
package:
name: nvme-cli
state: present
changed_when: false