瀏覽代碼

Add support for Kairos k3s variations

Antony Messerli 1 月之前
父節點
當前提交
a4057884d2
共有 2 個文件被更改,包括 32 次插入15 次删除
  1. 9 0
      roles/netbootxyz/defaults/main.yml
  2. 23 15
      roles/netbootxyz/templates/menu/kairos.ipxe.j2

+ 9 - 0
roles/netbootxyz/defaults/main.yml

@@ -300,6 +300,15 @@ releases:
     name: k3OS
   kairos:
     enabled: true
+    flavors:
+    - key: core
+      name: Core
+    - key: k3sv1.30.8+k3s1
+      name: k3s v1.30.8+k3s1 (Standard)
+    - key: k3sv1.31.4+k3s1
+      name: k3s v1.31.4+k3s1 (Standard)
+    - key: k3sv1.32.1+k3s1
+      name: k3s v1.32.1+k3s1 (Standard)
     menu: linux
     mirror: https://github.com/kairos-io/kairos/releases
     name: Kairos

+ 23 - 15
roles/netbootxyz/templates/menu/kairos.ipxe.j2

@@ -14,7 +14,8 @@ isset ${kairos_version} || set kairos_version {{ releases.kairos.version }}
 # isset ${kairos_mirror} || set kairos_mirror {{ releases.kairos.mirror }}
 isset ${kairos_mirror} || set kairos_mirror https://github.com/kairos-io/kairos/releases
 isset ${kairos_platform} || set kairos_platform {{ releases.kairos.platforms[0].key }}
-isset ${kairos_mode} || set kairos_mode install-mode-interactive 
+isset ${kairos_mode} || set kairos_mode install-mode-interactive
+isset ${kairos_flavor} || set kairos_flavor core
 
 menu ${os}
 item --gap Kairos:
@@ -25,6 +26,7 @@ item kairos_mode ${space} Set install mode: ${kairos_mode}
 item kairos_config_url ${space} Set config file URL: ${kairos_config_url}
 item kairos_mirror ${space} Set mirror URL: ${kairos_mirror}
 item kairos_platform ${space} Set platform: ${kairos_platform}
+item kairos_flavor ${space} Set flavor: ${kairos_flavor}
 choose --default ${menu} menu || goto kairos_exit
 echo ${cls}
 goto ${menu} ||
@@ -48,9 +50,22 @@ item kairos.remote_recovery_mode ${space} Remote Recovery Mode
 choose --default ${kairos_mode} kairos_mode  || clear menu
 goto kairos
 
-:kairos_version_latest
-set kairos_version latest
-set kairos_base_url ${kairos_mirror}/latest/download
+:kairos_platform
+menu ${os} Platforms
+item --gap Set Platform:
+{% for item in releases.kairos.platforms %}
+item {{ item.key }} ${space} {{ item.name }}
+{% endfor %}
+choose --default ${kairos_platform} kairos_platform || clear menu
+goto kairos
+
+:kairos_flavor
+menu ${os} Flavor
+item --gap Set Flavor:
+{% for item in releases.kairos.flavors %}
+item {{ item.key }} ${space} {{ item.name }}
+{% endfor %}
+choose --default ${kairos_flavor} kairos_flavor || clear menu
 goto kairos
 
 :kairos_version_custom
@@ -70,24 +85,17 @@ echo -n Set config file URL:  && read kairos_config_url
 clear menu
 goto kairos
 
-:kairos_platform
-menu ${os} Platforms
-item --gap Set Platform:
-{% for item in releases.kairos.platforms %}
-item {{ item.key }} ${space} {{ item.name }}
-{% endfor %}
-choose --default ${kairos_platform} kairos_platform || clear menu
-goto kairos
-
 :kairos_boot
 imgfree
-set release_prefix ${kairos_mirror}/download/${kairos_version}/kairos-${kairos_platform}-core-${os_arch}-generic-${kairos_version}
+iseq ${kairos_flavor} core && set kairos_flavor_family core || set kairos_flavor_family standard
+iseq ${kairos_flavor} core && set release_prefix ${kairos_mirror}/download/${kairos_version}/kairos-${kairos_platform}-${kairos_flavor_family}-${os_arch}-generic-${kairos_version} ||
+iseq ${kairos_flavor} standard && set release_prefix ${kairos_mirror}/download/${kairos_version}/kairos-${kairos_platform}-${kairos_flavor_family}-${os_arch}-generic-${kairos_version}-${kairos_flavor} ||
 kernel ${release_prefix}-kernel root=live:${release_prefix}.squashfs rd.neednet=1 ip=dhcp rd.cos.disable netboot ${kairos_mode} config_url=${kairos_config_url} selinux=0 console=tty1 console=ttyS0 ${cmdline} initrd=initrd.magic
 initrd ${release_prefix}-initrd
 
 echo
 echo MD5sums:
-md5sum kairos-${kairos_platform}-core-${os_arch}-generic-${kairos_version}-kernel kairos-${kairos_platform}-core-${os_arch}-generic-${kairos_version}-initrd
+md5sum kairos-${kairos_platform}-${kairos_flavor_family}-${os_arch}-generic-${kairos_version}-${kairos_flavor}-kernel kairos-${kairos_platform}-${kairos_flavor_family}-${os_arch}-generic-${kairos_version}-${kairos_flavor}-initrd
 boot
 
 :kairos_exit