Allow additional Rootless CopyUpDirs through K3S_ROOTLESS_COPYUPDIRS env variable (#11043)

Signed-off-by: Ludo Stellingwerff <ludo.stellingwerff@gmail.com>
Signed-off-by: Derek Nola <derek.nola@suse.com>
Co-authored-by: Ludo Stellingwerff <ludo@almende.org>
pull/11074/head
Derek Nola 2024-10-10 13:13:48 -07:00 committed by GitHub
parent 7ed28c08cb
commit 74ce150ee7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 4 additions and 0 deletions

View File

@ -32,6 +32,7 @@ var (
enableIPv6Env = "K3S_ROOTLESS_ENABLE_IPV6"
portDriverEnv = "K3S_ROOTLESS_PORT_DRIVER"
disableLoopbackEnv = "K3S_ROOTLESS_DISABLE_HOST_LOOPBACK"
copyUpDirsEnv = "K3S_ROOTLESS_COPYUPDIRS"
)
func Rootless(stateDir string, enableIPv6 bool) error {
@ -218,6 +219,9 @@ func createChildOpt(driver portDriver) (*child.Opt, error) {
opt.NetworkDriver = slirp4netns.NewChildDriver()
opt.PortDriver = driver.NewChildDriver()
opt.CopyUpDirs = []string{"/etc", "/var/run", "/run", "/var/lib"}
if copyUpDirs := os.Getenv(copyUpDirsEnv); copyUpDirs != "" {
opt.CopyUpDirs = append(opt.CopyUpDirs, strings.Split(copyUpDirs, ",")...)
}
opt.CopyUpDriver = tmpfssymlink.NewChildDriver()
opt.MountProcfs = true
opt.Reaper = true