Skip to content

Commit

Permalink
Expose rootless containerd socket directories for external access
Browse files Browse the repository at this point in the history
Signed-off-by: Edgar Lee <[email protected]>
  • Loading branch information
hinshun authored and brandond committed Feb 9, 2024
1 parent 14c6c63 commit 0ac4c6a
Showing 1 changed file with 19 additions and 0 deletions.
19 changes: 19 additions & 0 deletions pkg/rootless/mounts.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ package rootless
import (
"fmt"
"os"
"os/user"
"path/filepath"
"strings"

Expand All @@ -25,11 +26,17 @@ func setupMounts(stateDir string) error {
_ = os.RemoveAll(f)
}

runDir, err := resolveRunDir()
if err != nil {
return err
}

mountMap := [][]string{
{"/var/log", filepath.Join(stateDir, "logs")},
{"/var/lib/cni", filepath.Join(stateDir, "cni")},
{"/var/lib/kubelet", filepath.Join(stateDir, "kubelet")},
{"/etc/rancher", filepath.Join(stateDir, "etc", "rancher")},
{"/run/k3s/containerd", filepath.Join(runDir, "k3s", "containerd")},
}

for _, v := range mountMap {
Expand Down Expand Up @@ -91,3 +98,15 @@ func setupMount(target, dir string) error {
logrus.Debug("Mounting ", dir, target, " none bind")
return unix.Mount(dir, target, "none", unix.MS_BIND, "")
}

func resolveRunDir() (string, error) {
runDir := os.Getenv("XDG_RUNTIME_DIR")
if runDir == "" {
u, err := user.Lookup(os.Getenv("USER"))
if err != nil {
return "", err
}
runDir = filepath.Join("/run/user", u.Uid)
}
return runDir, nil
}

0 comments on commit 0ac4c6a

Please sign in to comment.