114 lines
2.6 KiB
YAML
114 lines
2.6 KiB
YAML
---
|
|
- name: install libvirt packages
|
|
apt:
|
|
name:
|
|
- libvirt-daemon-system
|
|
- virt-manager
|
|
state: latest
|
|
autoremove: true
|
|
default_release: "{{ ansible_distribution_release }}-backports"
|
|
when: ansible_distribution_release == 'bullseye'
|
|
|
|
- name: install libvirt packages
|
|
apt:
|
|
name:
|
|
- libvirt-daemon-system
|
|
- virt-manager
|
|
state: latest
|
|
autoremove: true
|
|
when: ansible_distribution_release == 'bookworm'
|
|
|
|
- name: allow all users to use VMs
|
|
lineinfile:
|
|
dest: /etc/libvirt/libvirtd.conf
|
|
line: 'auth_unix_rw = "none"'
|
|
insertafter: '#auth_unix_rw = "polkit"'
|
|
notify: reload libvirtd
|
|
|
|
- name: autostart default network for VMs
|
|
file:
|
|
src: /etc/libvirt/qemu/networks/default.xml
|
|
dest: /etc/libvirt/qemu/networks/autostart/default.xml
|
|
state: link
|
|
|
|
- name: install squid
|
|
apt:
|
|
name:
|
|
- squid
|
|
state: latest
|
|
autoremove: true
|
|
|
|
- name: disable squid
|
|
systemd:
|
|
name: squid
|
|
enabled: false
|
|
state: stopped
|
|
|
|
- name: deploy squid user mode configuration
|
|
template:
|
|
src: squid-usermode.conf.j2
|
|
dest: /etc/squid/squid-usermode.conf
|
|
mode: '0644'
|
|
|
|
- name: deploy sudo configurations
|
|
copy:
|
|
src: "{{ item }}"
|
|
dest: "/etc/sudoers.d/90-{{ item }}"
|
|
owner: root
|
|
group: root
|
|
mode: '0700'
|
|
loop:
|
|
- lmn-mounthome-sudo
|
|
- lmn-create-clone-sudo
|
|
- lmn-sync-vm-sudo
|
|
- lmn-create-vm-sudo
|
|
- lmn-rebase-vm-sudo
|
|
|
|
- name: deploy mount home script
|
|
copy:
|
|
src: "{{ item }}"
|
|
dest: /usr/local/bin/
|
|
owner: root
|
|
group: root
|
|
mode: '0755'
|
|
loop:
|
|
- mounthome.sh
|
|
- create-vm.sh
|
|
- rebase-vm.sh
|
|
- create-clone.sh
|
|
- run-vm.sh
|
|
- sync-vm.sh
|
|
|
|
- name: deploy http proxy config
|
|
copy:
|
|
src: lmn-proxy.sh
|
|
dest: /etc/profile.d/
|
|
mode: '0644'
|
|
|
|
- name: deploy pulseaudio fix
|
|
file:
|
|
path: /etc/systemd/user/pulseaudio.service.d/
|
|
state: directory
|
|
|
|
- name: deploy pulseaudio fix
|
|
copy:
|
|
src: pulseaudio-override.conf
|
|
dest: /etc/systemd/user/pulseaudio.service.d/override.conf
|
|
|
|
#### VMs
|
|
- name: deploy initial image list
|
|
copy:
|
|
src: images.list
|
|
dest: /var/lib/libvirt/images/images.list
|
|
force: false
|
|
|
|
- name: rsync VM image definitions
|
|
command: rsync -a --itemize-changes rsync://server:/vmimages-download/xml /var/lib/libvirt/images/
|
|
register: result
|
|
changed_when: result.stdout | length > 0
|
|
|
|
- name: rsync VM images
|
|
command: rsync -a -i --files-from=/var/lib/libvirt/images/images.list rsync://server:/vmimages-download/ /var/lib/libvirt/images/
|
|
register: result
|
|
changed_when: result.stdout | length > 0
|
|
when: (ansible_mounts | selectattr("mount", "equalto", "/") | list)[0].size_available > 80000000000
|