51 lines
1.6 KiB
YAML
51 lines
1.6 KiB
YAML
---
|
|
- name: check for container files that exist on this host
|
|
stat:
|
|
path: "/etc/pve/lxc/{{ item }}.conf"
|
|
loop: "{{ proxmox_lxc_ct_ids }}"
|
|
register: stat_results
|
|
|
|
- name: filter out files that do not exist
|
|
set_fact:
|
|
proxmox_lxc_filtered_files:
|
|
'{{ stat_results.results | rejectattr("stat.exists", "false") | map(attribute="stat.path") }}'
|
|
|
|
# used for the reboot handler
|
|
- name: get container ids from filtered files
|
|
set_fact:
|
|
proxmox_lxc_filtered_ids:
|
|
'{{ proxmox_lxc_filtered_files | map("split", "/") | map("last") | map("split", ".") | map("first") }}'
|
|
|
|
# https://gist.github.com/triangletodd/02f595cd4c0dc9aac5f7763ca2264185
|
|
- name: Ensure lxc config has the right apparmor profile
|
|
lineinfile:
|
|
dest: "{{ item }}"
|
|
regexp: "^lxc.apparmor.profile"
|
|
line: "lxc.apparmor.profile: unconfined"
|
|
loop: "{{ proxmox_lxc_filtered_files }}"
|
|
notify: reboot containers
|
|
|
|
- name: Ensure lxc config has the right cgroup
|
|
lineinfile:
|
|
dest: "{{ item }}"
|
|
regexp: "^lxc.cgroup.devices.allow"
|
|
line: "lxc.cgroup.devices.allow: a"
|
|
loop: "{{ proxmox_lxc_filtered_files }}"
|
|
notify: reboot containers
|
|
|
|
- name: Ensure lxc config has the right cap drop
|
|
lineinfile:
|
|
dest: "{{ item }}"
|
|
regexp: "^lxc.cap.drop"
|
|
line: "lxc.cap.drop: "
|
|
loop: "{{ proxmox_lxc_filtered_files }}"
|
|
notify: reboot containers
|
|
|
|
- name: Ensure lxc config has the right mounts
|
|
lineinfile:
|
|
dest: "{{ item }}"
|
|
regexp: "^lxc.mount.auto"
|
|
line: 'lxc.mount.auto: "proc:rw sys:rw"'
|
|
loop: "{{ proxmox_lxc_filtered_files }}"
|
|
notify: reboot containers
|