feat(baseline): do not expect global become true

This commit is contained in:
Iain Learmonth 2025-12-20 13:14:35 +00:00
parent c793b470b0
commit 6933aad1fa
8 changed files with 56 additions and 8 deletions

View file

@ -12,11 +12,13 @@
msg: "Variable 'baseline_second_disk_device' must be defined."
- name: Disk Partitions | PATCH | Ensure lvm2 is installed
become: true
ansible.builtin.package:
name: lvm2
state: present
- name: Disk Partitions | PATCH | Create LVM partition spanning entire disk
become: true
community.general.parted:
device: "{{ baseline_second_disk_device }}"
number: 1
@ -26,35 +28,41 @@
part_end: "100%"
- name: Disk Partitions | PATCH | Create volume group
become: true
community.general.lvg:
vg: "{{ baseline_second_disk_vg_name }}"
pvs: "{{ baseline_second_disk_device }}1"
- name: Disk Partitions | PATCH | Create /var logical volume
become: true
community.general.lvol:
vg: "{{ baseline_second_disk_vg_name }}"
lv: var
size: "{{ baseline_second_disk_var_size }}"
- name: Disk Partitions | PATCH | Create /var/log logical volume
become: true
community.general.lvol:
vg: "{{ baseline_second_disk_vg_name }}"
lv: var_log
size: "{{ baseline_second_disk_var_log_size }}"
- name: Disk Partitions | PATCH | Create /var/log/audit logical volume
become: true
community.general.lvol:
vg: "{{ baseline_second_disk_vg_name }}"
lv: var_log_audit
size: "{{ baseline_second_disk_var_log_audit_size }}"
- name: Disk Partitions | PATCH | Create /var/tmp logical volume
become: true
community.general.lvol:
vg: "{{ baseline_second_disk_vg_name }}"
lv: var_tmp
size: "{{ baseline_second_disk_var_tmp_size }}"
- name: Disk Partitions | PATCH | Create /home logical volume with remaining space
become: true
community.general.lvol:
vg: "{{ baseline_second_disk_vg_name }}"
lv: home
@ -62,11 +70,13 @@
size: "100%FREE"
- name: Disk Partitions | PATCH | Ensure cryptsetup is installed
become: true
ansible.builtin.package:
name: cryptsetup
state: present
- name: Disk Partitions | PATCH | Encrypt /home with LUKS2 and provided passphrase
become: true
community.crypto.luks_device:
device: "/dev/{{ baseline_second_disk_vg_name }}/home"
state: present
@ -74,6 +84,7 @@
type: luks2
- name: Disk Partitions | PATCH | Open LUKS device
become: true
community.crypto.luks_device:
device: "/dev/{{ baseline_second_disk_vg_name }}/home"
name: home_crypt
@ -81,6 +92,7 @@
passphrase: "{{ baseline_home_luks_passphrase }}"
- name: Disk Partitions | PATCH | Add /home logical volume to crypttab
become: true
community.general.crypttab:
backing_device: /dev/mapper/datavg-home
name: home_crypt
@ -88,6 +100,7 @@
state: present
- name: Disk Partitions | PATCH | Create xfs filesystems on new partitions
become: true
community.general.filesystem:
dev: "{{ item }}"
fstype: xfs
@ -99,6 +112,7 @@
- /dev/mapper/home_crypt
- name: Disk Partitions | AUDIT | Check if /home is mounted
become: true
ansible.builtin.command:
cmd: mountpoint -q /home
register: baseline_second_disk_home_mounted
@ -106,6 +120,7 @@
failed_when: false
- name: Disk Partitions | AUDIT | Check if /home is empty
become: true
ansible.builtin.command:
cmd: ls -A /home
register: baseline_second_disk_home_files
@ -113,11 +128,13 @@
changed_when: false
- name: Disk Partitions | AUDIT | Fail if /home is not mounted and not empty
become: true
ansible.builtin.assert:
that:
- ((baseline_second_disk_home_files.skipped is defined) and baseline_second_disk_home_files.skipped) or (baseline_second_disk_home_files.stdout == "")
- name: Disk Partitions | PATCH | Ensure /home is mounted
become: true
ansible.posix.mount:
src: "/dev/mapper/home_crypt"
path: '/home'
@ -126,6 +143,7 @@
state: mounted
- name: Disk Partitions | AUDIT | Check if /var is mounted
become: true
ansible.builtin.command:
cmd: mountpoint -q /var
register: baseline_second_disk_var_mounted
@ -133,6 +151,7 @@
failed_when: false
- name: Disk Partitions | PATCH | Migrate content if /var is not mounted
become: true
when: baseline_second_disk_var_mounted.rc != 0
block:
- name: Disk Partitions | PATCH | Enter emergency mode