siderolabs / talos

Talos Linux is a modern Linux distribution built for Kubernetes.
https://www.talos.dev
Mozilla Public License 2.0
6.9k stars 555 forks source link

feat: rewrite install disk selector to use CEL expressions #9666

Closed smira closed 1 week ago

smira commented 2 weeks ago

Rewrite matcher to take out old go-blockdevice library out of the way, implementing translation from go-blockdevice format to CEL.

Implement facilities to build CEL expressions programmatically.

Now we can add a machine config disk match expression (CEL) easily.

Fixes #9647

smira commented 2 weeks ago

(I need to figure out how to bring back machine config validation).

smira commented 2 weeks ago

To add some context to this: while moving to go-blockdevice/v2, the output of talosctl get disks and talosctl disks switched to use data from go-blockdevice/v2, while install disk selector still relied on go-blockdevice library (v1) leading to various incompatibilities or surprising results.

smira commented 1 week ago

/m