install.fairie/home/.chezmoiscripts/universal/run_onchange_before_17-install-mirage-firewall.sh.tmpl
Brian Zalewski 877eddc184 Update 26 files
- /home/.chezmoiscripts/qubes/run_onchange_after_11-set-wallpaper.sh.tmpl
- /home/.chezmoiscripts/qubes/run_onchange_before_12-update-dom0.sh.tmpl
- /home/.chezmoiscripts/qubes/run_onchange_before_13-install-official-templates.sh.tmpl
- /home/.chezmoiscripts/qubes/run_onchange_before_14-ensure-minimal-vms-passwordless.sh.tmpl
- /home/.chezmoiscripts/qubes/run_onchange_before_15-install-unofficial-templates.sh.tmpl
- /home/.chezmoiscripts/qubes/run_onchange_before_16-update-template-vms.sh.tmpl
- /home/.chezmoiscripts/qubes/run_onchange_before_17-install-mirage-firewall.sh.tmpl
- /home/.chezmoiscripts/qubes/run_onchange_before_18-configure-sys-usb.sh.tmpl
- /home/.chezmoiscripts/qubes/run_onchange_before_19-setup-sys-gui.sh.tmpl
- /home/.chezmoiscripts/_universal/run_before_01-add-temporary-includes.sh.tmpl
- /home/.chezmoiscripts/_universal/run_onchange_before_05-install-homebrew.sh.tmpl
- /home/.chezmoiscripts/universal/run_before_01-decrypt-age-key.sh.tmpl
- /home/.chezmoiscripts/universal/run_onchange_after_11-set-wallpaper.sh.tmpl
- /home/.chezmoiscripts/universal/run_onchange_before_12-update-dom0.sh.tmpl
- /home/.chezmoiscripts/universal/run_onchange_before_13-install-official-templates.sh.tmpl
- /home/.chezmoiscripts/universal/run_onchange_before_14-ensure-minimal-vms-passwordless.sh.tmpl
- /home/.chezmoiscripts/universal/run_onchange_before_15-install-unofficial-templates.sh.tmpl
- /home/.chezmoiscripts/universal/run_onchange_before_16-update-template-vms.sh.tmpl
- /home/.chezmoiscripts/universal/run_onchange_before_17-install-mirage-firewall.sh.tmpl
- /home/.chezmoiscripts/universal/run_onchange_before_18-configure-sys-usb.sh.tmpl
- /home/.chezmoiscripts/universal/run_onchange_before_19-setup-sys-gui.sh.tmpl
- /home/.chezmoiscripts/universal/run_before_01-add-temporary-includes.sh.tmpl
- /home/.chezmoiscripts/universal/run_before_01-install-homebrew.sh.tmpl
- /home/.chezmoiscripts/universal/run_before_02-decrypt-age-key.sh.tmpl
- /scripts/cloudflared-ssh.sh
- /scripts/src/cloudflared-ssh.sh.tmpl
2023-04-15 23:23:24 +00:00

32 lines
1.6 KiB
Cheetah

{{- if (eq .host.distro.id "qubes") -}}
#!/usr/bin/env bash
# @file Qubes Mirage Firewall
# @brief Ensures the Mirage firewall kernel VM is installed in dom0
# @description
# This script first ensures the TemplateVMs are updated and then downloads the Mirage firewall. It configures
# Mirage firewall so it can be used as a unikernel firewall VM.
### Update TemplateVMs
logg info 'Updating TemplateVMs via `qubesctl`'
timeout 900 qubesctl --show-output --skip-dom0 --templates state.sls update.qubes-vm
### Ensure mirage-firewall kernel folder setup
if [ ! -d /var/lib/qubes/vm-kernels/mirage-firewall ]; then
logg info 'Creating the /var/lib/qubes/vm-kernels/mirage-firewall directory'
sudo mkdir -p /var/lib/qubes/vm-kernels/mirage-firewall
fi
### Install the mirage-firewall kernel
if [ ! -f /var/lib/qubes/vm-kernels/mirage-firewall/vmlinuz ]; then
logg info 'Downloading the pre-compiled mirage firewall kernel in the {{ .qubes.provisionVM }} VM'
qvm-run provision 'curl -sSL {{ .qubes.mirageUrl }} > ~/Downloads/mirage-firewall.tar.gz && tar xjf ~/Downloads/mirage-firewall.tar.gz -C ~/Downloads'
logg info 'Transferring mirage-firewall kernel to dom0 from the {{ .qubes.provisionVM }} VM'
qvm-run --pass-io {{ .qubes.provisionVM }} 'cat /home/user/Downloads/mirage-firewall/vmlinuz' > /var/lib/qubes/vm-kernels/mirage-firewall/vmlinuz
fi
### Create dummy initrmfs for the mirage-firewall kernel
if [ ! -f/var/lib/qubes/vm-kernels/mirage-firewall/initramfs ]; then
logg info 'Adding dummy initrmfs file to the mirage-firewall kernel folder'
gzip -n9 < /dev/null > /var/lib/qubes/vm-kernels/mirage-firewall/initramfs
fi
{{ end -}}