Add disks playbook

This commit is contained in:
LinuxSquare 2024-06-27 20:25:20 +02:00
parent 4d955b116c
commit c3f2558da5
3 changed files with 51 additions and 1 deletions

View file

@ -0,0 +1,39 @@
- hosts: localhost
vars_files:
- ../map.yml
tasks:
- name: Install Disks packages
package:
name:
- btrfs-progs
state: present
- name: Append btrfs module
lineinfile:
state: present
lineafter: btrfs
- name: Btrfs mount permission
file:
path: /btrfs
owner: root
group: root
mode: '0755'
- name: Get ROOT_UUID
shell: |
lsblk -o LABEL,UUID | grep ROOT | awk '{print $2}'
register: ROOT_UUID
run_once: true
- name: Get ESP_UUID
shell: |
lsblk -o LABEL,UUID | grep EFI | awk '{print $2}'
register: ESP_UUID
run_once: true
- name: Deploy fstab
template:
src: files/disks_fstab.j2
dest: /etc/fstab
owner: root
group: root
mode: '0644'
vars:
ROOT_UUID: '{{ ROOT_UUID.stdout }}'
ESP_UUID: '{{ ESP_UUID.stdout }}'

View file

@ -0,0 +1,11 @@
# Static information about the filesystems.
# See fstab(5) for details.
# <file system> <dir> <type> <options> <dump> <pass>
UUID={{ ROOT_UUID }} / btrfs noatime,nodiratime,compress=zstd,ssd,shared,discard=async,space_cache=v2,subvol=/@root_{{ TIMESTAMP }} 0 0
UUID={{ ESP_UUID }} /efi vfat rw,nosuid,nodev,noexec,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro 0 2
UUID={{ ROOT_UUID }} /home btrfs noatime,nodiratime,compress=zstd,ssd,discard=async,space_cache=v2,subvol=/@home 0 0
UUID={{ ROOT_UUID }} /var/lib/mysql btrfs noatime,nodiratime,compress=zstd,ssd,discard=async,space_cache=v2,subvol=/@mysql 0 0
UUID={{ ROOT_UUID }} /opt/podman btrfs noatime,nodiratime,compress=zstd,ssd,discard=async,space_cache=v2,subvol=/@podman 0 0
UUID={{ ROOT_UUID }} /btrfs btrfs noatime,nodiratime,compress=zstd,ssd,discard=async,space_cache=v2,space_cache=v2,subvol=/ 0 0
tmpfs /tmp tmpfs nodev,nosuid,size={{ TMPFS_SIZE }} 0 0

View file

@ -1,6 +1,6 @@
- import_playbook: base.ansible.yml - import_playbook: base.ansible.yml
- import_playbook: bootloader.ansible.yml - import_playbook: bootloader.ansible.yml
# - import_playbook: disks.ansible.yml - import_playbook: disks.ansible.yml
# - import_playbook: user.ansible.yml # - import_playbook: user.ansible.yml
# - import_playbook: shell.ansible.yml # - import_playbook: shell.ansible.yml
# - import_playbook: ansible.ansible.yml # - import_playbook: ansible.ansible.yml