diff --git a/nodes/_defaults.yaml b/nodes/_defaults.yaml index 99e821b..29031e8 100644 --- a/nodes/_defaults.yaml +++ b/nodes/_defaults.yaml @@ -20,6 +20,7 @@ dns: - 8.8.8.8 ntp: nl.pool.ntp.org install: true +autoInstall: false patches: - !patch hostname - !patch install-disk diff --git a/nodes/testing/_defaults.yaml b/nodes/testing/_defaults.yaml index 69ecfd6..d54d604 100644 --- a/nodes/testing/_defaults.yaml +++ b/nodes/testing/_defaults.yaml @@ -1,6 +1,7 @@ netmask: 255.255.255.0 gateway: 192.168.1.1 installDisk: /dev/vda +autoInstall: true cluster: name: testing controlPlaneIp: 192.168.1.100 diff --git a/templates/boot.ipxe b/templates/boot.ipxe index d0da639..504ee81 100644 --- a/templates/boot.ipxe +++ b/templates/boot.ipxe @@ -12,9 +12,12 @@ goto node_${serial} || exit # {{ node.filename }} :node_{{ node.serial }} {% set ipArg = "ip=" ~ [node.ip, "" , node.gateway, node.netmask, node.hostname, node.interface, "", node.dns[0], node.dns[1], node.ntp]|join(":") -%} -{% set kernelArgs = [ipArg, node.kernelArgs|join(" "), node.extraKernelArgs|join(" ")]|join(" ") -%} +{% set kernelArgs = [ipArg, node.kernelArgs|join(" "), node.extraKernelArgs|join(" ")] -%} +{% if node.autoInstall %} +{% do kernelArgs.append("talos.config=" ~ config.server.httpUrl ~ "/configs/" ~ node.filename ~ ".yaml") %} +{% endif %} imgfree -kernel https://pxe.factory.talos.dev/image/{{ node.schematicId }}/{{ node.talosVersion }}/kernel-{{ node.arch }} {{ kernelArgs }} +kernel https://pxe.factory.talos.dev/image/{{ node.schematicId }}/{{ node.talosVersion }}/kernel-{{ node.arch }} {{ kernelArgs|join(" ") }} initrd https://pxe.factory.talos.dev/image/{{ node.schematicId }}/{{ node.talosVersion }}/initramfs-{{ node.arch }}.xz boot {% endif %}