kairos-io / kairos

The immutable Linux meta-distribution for edge Kubernetes.
https://kairos.io
Apache License 2.0
1.14k stars 97 forks source link

feat: substitute disk commands by pure golang #2772

Open Itxaka opened 3 months ago

Itxaka commented 3 months ago

Currently we require several binaries both on agent and immucore to exist in the system.

This brings packages that might not be needed after install or that are a commodity (mount can be called directly as a syscall for example)

We should have a look into substituting those by a pure golang implementation like https://github.com/diskfs/go-diskfs

That means:

Itxaka commented 3 months ago

potentially we could also build the isos with it but Im not sure it would support all of our options like hybrid isos and such

EDIT: it actually does: https://github.com/diskfs/go-diskfs/blob/master/examples/bootable_iso.go#L44

Itxaka commented 1 month ago

part of this is already done with the new partitioner but deps have not been updated.

There is also the thing that yip still requires the binaries, which means the same partitioner changes should be try to move into yip so we can drop more deps from the os images. Currently we could drop binaries from the os image but immucore which uses yip still requires them so no luck there.