diff --git a/packages/static/kairos-overlay-files/collection.yaml b/packages/static/kairos-overlay-files/collection.yaml index 3bc4a92..273180b 100644 --- a/packages/static/kairos-overlay-files/collection.yaml +++ b/packages/static/kairos-overlay-files/collection.yaml @@ -1,4 +1,4 @@ packages: - name: "kairos-overlay-files" category: "static" - version: "1.1.21" + version: "1.1.22" diff --git a/packages/static/kairos-overlay-files/files/system/oem/02_agent.yaml b/packages/static/kairos-overlay-files/files/system/oem/02_agent.yaml index 652ab34..e916a78 100644 --- a/packages/static/kairos-overlay-files/files/system/oem/02_agent.yaml +++ b/packages/static/kairos-overlay-files/files/system/oem/02_agent.yaml @@ -1,11 +1,11 @@ name: "Start agent" stages: boot: - - if: '[ ! -f "/run/cos/recovery_mode" ] && [ -d "/usr/share/systemd" ]' + - if: '[ ! -f "/run/cos/recovery_mode" ] && [ "$(kairos-agent state get kairos.init)" == "systemd" ]' commands: - systemctl start kairos-agent - systemctl enable kairos-agent initramfs: - - if: '[ ! -f "/run/cos/recovery_mode" ] && [ -d "/usr/share/systemd" ]' + - if: '[ ! -f "/run/cos/recovery_mode" ] && [ "$(kairos-agent state get kairos.init)" == "systemd" ]' commands: - systemctl enable kairos-agent diff --git a/packages/static/kairos-overlay-files/files/system/oem/05_network.yaml b/packages/static/kairos-overlay-files/files/system/oem/05_network.yaml index 8cb29dd..e31bf30 100644 --- a/packages/static/kairos-overlay-files/files/system/oem/05_network.yaml +++ b/packages/static/kairos-overlay-files/files/system/oem/05_network.yaml @@ -2,7 +2,7 @@ name: "Default network configuration" stages: rootfs.before: - name: "Enable systemd-network config files for DHCP" # Needed if systemd-networkd runs in the initramfs! - if: '[ -e "/sbin/systemctl" ] || [ -e "/usr/bin/systemctl" ] || [ -e "/usr/sbin/systemctl" ] || [ -e "/usr/bin/systemctl" ]' + if: '[ "$(kairos-agent state get kairos.init)" == "systemd" ]' directories: - path: "/etc/systemd/network/" # doesnt exist on initramfs permissions: 0775 @@ -35,7 +35,7 @@ stages: - networkctl reload # make sure it reloads our config files initramfs: - name: "Enable systemd-network config files for DHCP" - if: '[ -e "/sbin/systemctl" ] || [ -e "/usr/bin/systemctl" ] || [ -e "/usr/sbin/systemctl" ] || [ -e "/usr/bin/systemctl" ]' + if: '[ "$(kairos-agent state get kairos.init)" == "systemd" ]' files: - path: /etc/systemd/network/20-dhcp.network permissions: 0644 @@ -62,30 +62,30 @@ stages: commands: - networkctl reload # make sure it reloads our config files - name: "Disable NetworkManager and wicked" - if: '[ -e "/sbin/systemctl" ] || [ -e "/usr/bin/systemctl" ] || [ -e "/usr/sbin/systemctl" ] || [ -e "/usr/bin/systemctl" ]' + if: '[ "$(kairos-agent state get kairos.init)" == "systemd" ]' systemctl: disable: - NetworkManager - wicked - name: "Enable systemd-network and systemd-resolved" - if: '[ -e "/sbin/systemctl" ] || [ -e "/usr/bin/systemctl" ] || [ -e "/usr/sbin/systemctl" ] || [ -e "/usr/bin/systemctl" ]' + if: '[ "$(kairos-agent state get kairos.init)" == "systemd" ]' systemctl: enable: - systemd-networkd - systemd-resolved - name: "Link /etc/resolv.conf to systemd resolv.conf" - if: '([ -e "/sbin/systemctl" ] || [ -e "/usr/bin/systemctl" ] || [ -e "/usr/sbin/systemctl" ] || [ -e "/usr/bin/systemctl" ]) && [ -f /etc/hosts ]' + if: '[ "$(kairos-agent state get kairos.init)" == "systemd" ] && [ -f /etc/hosts ]' commands: - rm /etc/resolv.conf - ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf boot: - name: "Reload systemd-networkd config" - if: '[ -e "/sbin/systemctl" ] || [ -e "/usr/bin/systemctl" ] || [ -e "/usr/sbin/systemctl" ] || [ -e "/usr/bin/systemctl" ]' + if: '[ "$(kairos-agent state get kairos.init)" == "systemd" ]' commands: - networkctl reload # make sure it reloads our config files fs: - name: "Reload systemd-networkd config" - if: '[ -e "/sbin/systemctl" ] || [ -e "/usr/bin/systemctl" ] || [ -e "/usr/sbin/systemctl" ] || [ -e "/usr/bin/systemctl" ]' + if: '[ "$(kairos-agent state get kairos.init)" == "systemd" ]' commands: - networkctl reload # make sure it reloads our config files # dns: diff --git a/packages/static/kairos-overlay-files/files/system/oem/09_openrc_services.yaml b/packages/static/kairos-overlay-files/files/system/oem/09_openrc_services.yaml index 3a57842..ce2d9d0 100644 --- a/packages/static/kairos-overlay-files/files/system/oem/09_openrc_services.yaml +++ b/packages/static/kairos-overlay-files/files/system/oem/09_openrc_services.yaml @@ -3,7 +3,7 @@ stages: initramfs: - name: "Create OpenRC services" if: | - [ -f "/sbin/openrc" ] + [ "$(kairos-agent state get kairos.init)" == "openrc" ] files: - path: /etc/init.d/cos-setup-boot permissions: 0755 @@ -118,7 +118,7 @@ stages: group: 0 - name: "Enable OpenRC services" if: | - [ -f "/sbin/openrc" ] + [ "$(kairos-agent state get kairos.init)" == "openrc" ] commands: - mkdir -p /etc/runlevels/default - ln -sf ../../init.d/cos-setup-boot /etc/runlevels/default/cos-setup-boot diff --git a/packages/static/kairos-overlay-files/files/system/oem/09_systemd_services.yaml b/packages/static/kairos-overlay-files/files/system/oem/09_systemd_services.yaml index 2cffa98..957deea 100644 --- a/packages/static/kairos-overlay-files/files/system/oem/09_systemd_services.yaml +++ b/packages/static/kairos-overlay-files/files/system/oem/09_systemd_services.yaml @@ -13,7 +13,7 @@ stages: fs.inotify.max_user_watches: 524288 initramfs: - name: "Default systemd config" - if: '[ -e "/sbin/systemctl" ] || [ -e "/usr/bin/systemctl" ] || [ -e "/usr/sbin/systemctl" ] || [ -e "/usr/bin/systemctl" ]' + if: '[ "$(kairos-agent state get kairos.init)" == "systemd" ]' systemctl: enable: - multi-user.target @@ -34,7 +34,7 @@ stages: commands: - ssh-keygen -A - name: "Create systemd services" - if: '[ -e "/sbin/systemctl" ] || [ -e "/usr/bin/systemctl" ] || [ -e "/usr/sbin/systemctl" ] || [ -e "/usr/bin/systemctl" ]' + if: '[ "$(kairos-agent state get kairos.init)" == "systemd" ]' files: - path: /etc/systemd/system/cos-setup-boot.service permissions: 0644 @@ -123,7 +123,7 @@ stages: [Install] WantedBy=multi-user.target - name: "Enable systemd services" - if: '[ -e "/sbin/systemctl" ] || [ -e "/usr/bin/systemctl" ] || [ -e "/usr/sbin/systemctl" ] || [ -e "/usr/bin/systemctl" ]' + if: '[ "$(kairos-agent state get kairos.init)" == "systemd" ]' commands: - ln -sf /etc/systemd/system/cos-setup-reconcile.timer /etc/systemd/system/multi-user.target.wants/cos-setup-reconcile.timer - ln -sf /etc/systemd/system/cos-setup-fs.service /etc/systemd/system/sysinit.target.wants/cos-setup-fs.service diff --git a/packages/static/kairos-overlay-files/files/system/oem/10_accounting.yaml b/packages/static/kairos-overlay-files/files/system/oem/10_accounting.yaml index 412de86..e9d4f7e 100644 --- a/packages/static/kairos-overlay-files/files/system/oem/10_accounting.yaml +++ b/packages/static/kairos-overlay-files/files/system/oem/10_accounting.yaml @@ -52,7 +52,7 @@ stages: # Run this in the after stage so it doesnt collide with other initramfs changes to the /etc/inittab # Otherwise this can lead to 2 steps modifying the inittab at the same time and overriding or not cleaning it properly - name: "Enable serial login for alpine" # https://wiki.alpinelinux.org/wiki/Enable_Serial_Console_on_Boot - if: '[ -e /sbin/openrc ]' + if: '[ "$(kairos-agent state get kairos.init)" == "openrc" ]' commands: - sed -i -e 's/ttyS0.*//g' /etc/inittab - echo "ttyS0::respawn:/sbin/getty -L ttyS0 115200 vt100" >> /etc/inittab diff --git a/packages/static/kairos-overlay-files/files/system/oem/24_sysext.yaml b/packages/static/kairos-overlay-files/files/system/oem/24_sysext.yaml index 141aaea..1667c05 100644 --- a/packages/static/kairos-overlay-files/files/system/oem/24_sysext.yaml +++ b/packages/static/kairos-overlay-files/files/system/oem/24_sysext.yaml @@ -2,7 +2,7 @@ name: "sysext" stages: fs.after: - name: "Default sysext extensions dirs" - if: '[ -e "/sbin/systemctl" ] || [ -e "/usr/bin/systemctl" ] || [ -e "/usr/sbin/systemctl" ] || [ -e "/usr/bin/systemctl" ]' + if: '[ "$(kairos-agent state get kairos.init)" == "systemd" ]' directories: - path: /etc/extensions - path: /run/extensions @@ -11,7 +11,7 @@ stages: - path: /usr/local/lib/extensions initramfs: - name: "systemd-sysext initramfs settings" - if: '[ -e "/sbin/systemctl" ] || [ -e "/usr/bin/systemctl" ] || [ -e "/usr/sbin/systemctl" ] || [ -e "/usr/bin/systemctl" ]' + if: '[ "$(kairos-agent state get kairos.init)" == "systemd" ]' systemctl: enable: - systemd-sysext diff --git a/packages/static/kairos-overlay-files/files/system/oem/25_autologin.yaml b/packages/static/kairos-overlay-files/files/system/oem/25_autologin.yaml index d3cf7f5..fceccc7 100644 --- a/packages/static/kairos-overlay-files/files/system/oem/25_autologin.yaml +++ b/packages/static/kairos-overlay-files/files/system/oem/25_autologin.yaml @@ -3,8 +3,7 @@ stages: initramfs: - if: | grep -qv "interactive-install" /proc/cmdline && \ - [ -f /run/cos/live_mode ] || [ -f /run/cos/uki_install_mode ] && \ - ( [ -e "/sbin/systemctl" ] || [ -e "/usr/bin/systemctl" ] || [ -e "/usr/sbin/systemctl" ] || [ -e "/usr/bin/systemctl" ] ) + [ -f /run/cos/live_mode ] || [ -f /run/cos/uki_install_mode ] && [ "$(kairos-agent state get kairos.init)" == "systemd" ] files: - path: /etc/systemd/system/serial-getty@ttyS0.service.d/override.conf content: | @@ -22,7 +21,7 @@ stages: if: | grep -qv "interactive-install" /proc/cmdline ] && \ [ -f /run/cos/live_mode ] && \ - [ -f "/sbin/openrc" ] + [ "$(kairos-agent state get kairos.init)" == "openrc" ] files: - path: /etc/motd content: | diff --git a/packages/static/kairos-overlay-files/files/system/oem/29_blacklist.yaml b/packages/static/kairos-overlay-files/files/system/oem/29_blacklist.yaml index c60508b..1c18237 100644 --- a/packages/static/kairos-overlay-files/files/system/oem/29_blacklist.yaml +++ b/packages/static/kairos-overlay-files/files/system/oem/29_blacklist.yaml @@ -1,6 +1,6 @@ stages: initramfs.before: - name: "Blacklist bpfilter on Alpine ( bug: https://github.com/kairos-io/kairos/issues/277 )" - if: '[ -e /sbin/openrc ]' + if: '[ "$(kairos-agent state get kairos.init)" == "openrc" ]' commands: - echo "install bpfilter /bin/false" > /etc/modprobe.d/blacklist_bpfilter.conf diff --git a/packages/static/kairos-overlay-files/files/system/oem/50_recovery.yaml b/packages/static/kairos-overlay-files/files/system/oem/50_recovery.yaml index a5a6f58..42144f7 100644 --- a/packages/static/kairos-overlay-files/files/system/oem/50_recovery.yaml +++ b/packages/static/kairos-overlay-files/files/system/oem/50_recovery.yaml @@ -3,15 +3,14 @@ stages: initramfs: - name: "Starts kairos-recovery and generate a temporary pass" if: | - grep -q "kairos.remote_recovery_mode" /proc/cmdline && \ - ( [ -e "/sbin/systemctl" ] || [ -e "/usr/bin/systemctl" ] || [ -e "/usr/sbin/systemctl" ] || [ -e "/usr/bin/systemctl" ] ) + grep -q "kairos.remote_recovery_mode" /proc/cmdline && [ "$(kairos-agent state get kairos.init)" == "systemd" ] commands: - systemctl disable getty@tty1 - systemctl stop getty@tty1 - systemctl mask getty@tty1 - systemctl enable kairos-recovery - name: "Starts kairos-recovery for openRC based systems" - if: grep -q "kairos.remote_recovery_mode" /proc/cmdline && [ -f "/sbin/openrc" ] + if: grep -q "kairos.remote_recovery_mode" /proc/cmdline && [ "$(kairos-agent state get kairos.init)" == "openrc" ] commands: - sed -i -e 's/tty1.*//g' /etc/inittab - echo "tty1::respawn:/usr/bin/kairos-agent recovery tty1" >> /etc/inittab diff --git a/packages/static/kairos-overlay-files/files/system/oem/51_reset.yaml b/packages/static/kairos-overlay-files/files/system/oem/51_reset.yaml index 6131665..7f6f5ab 100644 --- a/packages/static/kairos-overlay-files/files/system/oem/51_reset.yaml +++ b/packages/static/kairos-overlay-files/files/system/oem/51_reset.yaml @@ -2,14 +2,15 @@ name: "Start reset on tty1" stages: initramfs: - name: "Starts kairos-reset for systemd based systems" - if: grep -q "kairos.reset" /proc/cmdline && [ ! -f "/sbin/openrc" ] + if: | + grep -q "kairos.reset" /proc/cmdline && [ "$(kairos-agent state get kairos.init)" == "systemd" ] commands: - systemctl disable getty@tty1 - systemctl stop getty@tty1 - systemctl mask getty@tty1 - systemctl enable kairos-reset - name: "Starts kairos-reset for openRC-based systems" - if: grep -q "kairos.reset" /proc/cmdline && [ -f "/sbin/openrc" ] + if: grep -q "kairos.reset" /proc/cmdline && [ "$(kairos-agent state get kairos.init)" == "openrc" ] commands: - sed -i -e 's/tty1.*//g' /etc/inittab - echo "tty1::respawn:/usr/bin/kairos-agent reset tty1" >> /etc/inittab diff --git a/packages/static/kairos-overlay-files/files/system/oem/52_installer.yaml b/packages/static/kairos-overlay-files/files/system/oem/52_installer.yaml index ca4ce07..9cba628 100644 --- a/packages/static/kairos-overlay-files/files/system/oem/52_installer.yaml +++ b/packages/static/kairos-overlay-files/files/system/oem/52_installer.yaml @@ -1,9 +1,15 @@ name: "Start installer on tty1" stages: initramfs: + - if: grep -q "nodepair.enable" /proc/cmdline && [ "$(kairos-agent state get kairos.init)" == "systemd" ] + commands: + - systemctl disable getty@tty1 + - systemctl stop getty@tty1 + - systemctl mask getty@tty1 + - systemctl enable kairos + - systemctl enable kairos-webui - if: | - grep -q "nodepair.enable" /proc/cmdline && \ - ( [ -e "/sbin/systemctl" ] || [ -e "/usr/bin/systemctl" ] || [ -e "/usr/sbin/systemctl" ] || [ -e "/usr/bin/systemctl" ] ) + grep -q "nodepair.enable" /proc/cmdline && [ -f /run/cos/uki_install_mode ] && [ "$(kairos-agent state get kairos.init)" == "systemd" ] commands: - systemctl disable getty@tty1 - systemctl stop getty@tty1 @@ -11,31 +17,40 @@ stages: - systemctl enable kairos - systemctl enable kairos-webui # Starts installer on boot for openRC based systems - - if: grep -q "nodepair.enable" /proc/cmdline && [ -f "/sbin/openrc" ] + - if: grep -q "nodepair.enable" /proc/cmdline && [ "$(kairos-agent state get kairos.init)" == "openrc" ] commands: - sed -i -e 's/tty1.*//g' /etc/inittab - echo "tty1::respawn:/usr/bin/kairos-agent install tty1" >> /etc/inittab # Starts installer on boot for systemd based systems - if: | - grep -q "interactive-install" /proc/cmdline && \ - ( [ -e "/sbin/systemctl" ] || [ -e "/usr/bin/systemctl" ] || [ -e "/usr/sbin/systemctl" ] || [ -e "/usr/bin/systemctl" ] ) + grep -q "interactive-install" /proc/cmdline && [ "$(kairos-agent state get kairos.init)" == "systemd" ] + commands: + - systemctl disable getty@tty1 + - systemctl stop getty@tty1 + - systemctl mask getty@tty1 + - systemctl enable kairos-interactive + - if: | + grep -q "interactive-install" /proc/cmdline && [ -f /run/cos/uki_install_mode ] && [ "$(kairos-agent state get kairos.init)" == "systemd" ] commands: - systemctl disable getty@tty1 - systemctl stop getty@tty1 - systemctl mask getty@tty1 - systemctl enable kairos-interactive # Starts installer on boot for openRC based systems - - if: grep -q "interactive-install" /proc/cmdline && [ -f "/sbin/openrc" ] + - if: grep -q "interactive-install" /proc/cmdline && [ "$(kairos-agent state get kairos.init)" == "openrc" ] commands: - sed -i -e 's/tty1.*//g' /etc/inittab - echo "tty1::respawn:/usr/bin/kairos-agent interactive-install --shell tty1" >> /etc/inittab boot: - if: | - [ "$(kairos-agent state get boot)" == "livecd_boot" ] && [ -f "/sbin/rc-service" ] + [ "$(kairos-agent state get boot)" == "livecd_boot" ] && [ "$(kairos-agent state get kairos.init)" == "openrc" ] commands: - rc-service kairos-webui start - - if: | - [ "$(kairos-agent state get boot)" == "livecd_boot" ] && \ - ( [ -e "/sbin/systemctl" ] || [ -e "/usr/bin/systemctl" ] || [ -e "/usr/sbin/systemctl" ] || [ -e "/usr/bin/systemctl" ] ) + - if: | + [ "$(kairos-agent state get boot)" == "livecd_boot" ] && [ "$(kairos-agent state get kairos.init)" == "systemd" ] + commands: + - systemctl start kairos-webui + - if: | + [ -f /run/cos/uki_install_mode ] && [ "$(kairos-agent state get kairos.init)" == "systemd" ] commands: - systemctl start kairos-webui