11 Commits

Author SHA1 Message Date
Andrey Smirnov
dc4865915d
refactor: stop using text/template in machined code paths
Reason: `text/template` uses reflect's MethodByName, disabling deadcode
linker phase.

Fixes #11299

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-08-07 19:22:23 +04:00
Dmitrii Sharshakov
2d89bcc71f
feat: bump Linux, Go and other packages
Include all core packages into SBOM, make sure Talos is built with the
same Go versions as pkgs.

Signed-off-by: Dmitrii Sharshakov <dmitry.sharshakov@siderolabs.com>
2025-07-11 11:21:04 +02:00
Andrew Rynhard
e63c882b89 refactor: split machined into phases
This change aims to standardize the boot process. It introduces the
concept of a phase, which is comprised of tasks. Phases are ran in serial and
the tasks that make up a phase are ran concurrently.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-07-29 12:40:03 -07:00
Andrew Rynhard
b7a9acbe88 refactor: move setup logic into machined
The responsibility of init should only be to mount the rootfs. This
change moves Talos specific logic into machined. This will allow us to
define a version of Talos in a single binary instead of split across
two. This will enable cleaner upgrades and helps make the codebase
easier to reason about.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-07-26 07:48:49 -07:00
Andrew Rynhard
0ec17e4169 feat: run rootfs from squashfs
This change moves the rootfs to a squashfs image.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-07-25 08:38:31 -07:00
Andrew Rynhard
0b8778d772 feat: enable missing KSPP sysctls
These were disabled in previous versions of Talos since BPF was
completely disabled. With this change, we now implement all recommended
sysctls.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-07-24 22:41:43 -07:00
Andrew Rynhard
88bdedf3e6 fix: make /etc/resolv.conf writable
We need /etc/resolv.conf to be writable so that networkd can update it.
This change achieves this by creating a symlink at /etc/resolv.conf that
points to /var/resolv.conf.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-07-19 20:37:00 -07:00
Spencer Smith
a15499d25a fix: Only generate pki from trustd if not control plane
This PR will fix a bug where the non-init nodes were not generating
their certs locally and relying on trustd instead. This broke down
because we aren't saving the CA key when we're generating with the
trustd identity function (because we don't need it for workers).

Signed-off-by: Spencer Smith <robertspencersmith@gmail.com>
2019-07-18 20:20:38 -04:00
Andrew Rynhard
75ea51633c fix: prefix file stat with rootfs prefix
Without this, the check for the existence of the symlinks created in the
rootfs preparation step will always fail. On a reboot init will fail
because it tries to create a symlink that already exists.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-07-16 22:09:30 -07:00
Andrew Rynhard
fe2b81f4b4 fix: create symlinks to /etc/ssl/certs
In order to accomodate the various ways that SSL certs are managed by
the different Linux distros, kubeadm creates control plane compoents
with volume mounts of the type DirectoryOrCreate to all well known SSL
cert locations. This change creates symlinks to /etc/ss/certs at all the
well known paths to account for the fact that the rootfs is read-only.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-07-16 16:35:59 -07:00
Andrew Rynhard
8e8aae98dd feat: add machined
This commit splits our current init into init and machined.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
2019-07-16 13:12:21 -07:00