SynologyOpenSource / synology-csi

Apache License 2.0
529 stars 115 forks source link

Predefined tool paths #85

Open ressu opened 6 months ago

ressu commented 6 months ago

When using minimalistic Kubernetes deployments, like Talos, the /usr/bin/env command isn't available. Instead of always relying on env, replace the chroot shell wrapper with a tool that can either invoke chroot with the env command or directly using a full path of the tool.

The change adds a new flag to define the location of chroot and the relevant tools. The node service now also check for existence of the chroot directory at the beginning of startup to warn about misconfiguration.

MartinLoeper commented 1 month ago

Fantastic! Thanks @ressu! I tested this on my Synology DS923+ and it works!

I want to add that you need the Talos iscsi-tools extension on talos to run the fork: https://github.com/siderolabs/extensions/pkgs/container/iscsi-tools#storage

Additionally I had to modify synology-csi-node daemon set to add the following args to the csi-plugin container:

- '--chroot-dir=/host'
- '--iscsiadm-path=/usr/local/sbin/iscsiadm'
avanier commented 1 week ago

I would love to see this merged. As such, I've opened https://github.com/ressu/synology-opensource-csi/pull/1 to bring @ressu 's changes up to date.

:pray: :pray: