Currently we use the rootfsBullder interface (https://github.com/urunc-dev/urunc/blob/main/pkg/unikontainers/rootfs.go#L35) to drive the creation of the host rootfs for the monitor execution. However, some of the actions in this interface also include the mounting of devices, files, etc.
In order for the refactor and the use of libcontainers to properly function, we need to move the logic of new mounts and retrieving information for the host rootfs to the urunc create operation. This is important because we need to use the libcontainers for all the mounts and after we create the execution environment for the monitor, we will not be able to mount anything outside the mount namespace.
Currently we use the
rootfsBullderinterface (https://github.com/urunc-dev/urunc/blob/main/pkg/unikontainers/rootfs.go#L35) to drive the creation of the host rootfs for the monitor execution. However, some of the actions in this interface also include the mounting of devices, files, etc.In order for the refactor and the use of libcontainers to properly function, we need to move the logic of new mounts and retrieving information for the host rootfs to the
urunc createoperation. This is important because we need to use the libcontainers for all the mounts and after we create the execution environment for the monitor, we will not be able to mount anything outside the mount namespace.