| package rootless // import "github.com/docker/docker/pkg/rootless" |
| |
| import ( |
| "os" |
| "path/filepath" |
| |
| "github.com/pkg/errors" |
| "github.com/rootless-containers/rootlesskit/pkg/api/client" |
| ) |
| |
| // RootlessKitDockerProxyBinary is the binary name of rootlesskit-docker-proxy |
| const RootlessKitDockerProxyBinary = "rootlesskit-docker-proxy" |
| |
| // RunningWithRootlessKit returns true if running under RootlessKit namespaces. |
| func RunningWithRootlessKit() bool { |
| return os.Getenv("ROOTLESSKIT_STATE_DIR") != "" |
| } |
| |
| // GetRootlessKitClient returns RootlessKit client |
| func GetRootlessKitClient() (client.Client, error) { |
| stateDir := os.Getenv("ROOTLESSKIT_STATE_DIR") |
| if stateDir == "" { |
| return nil, errors.New("environment variable `ROOTLESSKIT_STATE_DIR` is not set") |
| } |
| apiSock := filepath.Join(stateDir, "api.sock") |
| return client.New(apiSock) |
| } |