Originally, PMEM-CSI images contained a single pmem-csi-driver
binary which served two different purposes (node and controller part). Later, pmem-csi-operator
was added.
Building one Go binary per image makes the image smaller because the Go runtime only needs to be included once. Therefore it might make sense to merge the operator functionality into the pmem-csi-driver
binary, potentially in combination with renaming it to pmem-csi
.
On the other hand, command line options become more confusing when they only apply in some modes. One way to address that is by having a command line syntax of pmem-csi <common options> <operation> <per operation options>
(as in other tools which also combine multiple different operations in the same binary).