rootless.go 837 B

123456789101112131415161718192021222324252627
  1. package rootless // import "github.com/docker/docker/rootless"
  2. import (
  3. "os"
  4. "path/filepath"
  5. "github.com/pkg/errors"
  6. "github.com/rootless-containers/rootlesskit/pkg/api/client"
  7. )
  8. // RootlessKitDockerProxyBinary is the binary name of rootlesskit-docker-proxy
  9. const RootlessKitDockerProxyBinary = "rootlesskit-docker-proxy"
  10. // RunningWithRootlessKit returns true if running under RootlessKit namespaces.
  11. func RunningWithRootlessKit() bool {
  12. return os.Getenv("ROOTLESSKIT_STATE_DIR") != ""
  13. }
  14. // GetRootlessKitClient returns RootlessKit client
  15. func GetRootlessKitClient() (client.Client, error) {
  16. stateDir := os.Getenv("ROOTLESSKIT_STATE_DIR")
  17. if stateDir == "" {
  18. return nil, errors.New("environment variable `ROOTLESSKIT_STATE_DIR` is not set")
  19. }
  20. apiSock := filepath.Join(stateDir, "api.sock")
  21. return client.New(apiSock)
  22. }