Selaa lähdekoodia

pkg/rootless: remove GetRootlessKitClient, and move to daemon

This utility was only used in a single location (as part of `docker info`),
but the `pkg/rootless` package is imported in various locations, causing
rootlesskit to be a dependency for consumers of that package.

Move GetRootlessKitClient to the daemon code, which is the only location
it was used.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Sebastiaan van Stijn 2 vuotta sitten
vanhempi
commit
59b5c6075f
2 muutettua tiedostoa jossa 14 lisäystä ja 18 poistoa
  1. 13 1
      daemon/info_unix.go
  2. 1 17
      pkg/rootless/rootless.go

+ 13 - 1
daemon/info_unix.go

@@ -5,6 +5,7 @@ package daemon // import "github.com/docker/docker/daemon"
 import (
 	"context"
 	"fmt"
+	"os"
 	"os/exec"
 	"path/filepath"
 	"strings"
@@ -16,6 +17,7 @@ import (
 	"github.com/docker/docker/pkg/rootless"
 	"github.com/docker/docker/pkg/sysinfo"
 	"github.com/pkg/errors"
+	rkclient "github.com/rootless-containers/rootlesskit/pkg/api/client"
 	"github.com/sirupsen/logrus"
 )
 
@@ -218,7 +220,7 @@ func (daemon *Daemon) fillRootlessVersion(v *types.Version) {
 	if !rootless.RunningWithRootlessKit() {
 		return
 	}
-	rlc, err := rootless.GetRootlessKitClient()
+	rlc, err := getRootlessKitClient()
 	if err != nil {
 		logrus.Warnf("failed to create RootlessKit client: %v", err)
 		return
@@ -268,6 +270,16 @@ func (daemon *Daemon) fillRootlessVersion(v *types.Version) {
 	}
 }
 
+// getRootlessKitClient returns RootlessKit client
+func getRootlessKitClient() (rkclient.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 rkclient.New(apiSock)
+}
+
 func fillDriverWarnings(v *types.Info) {
 	for _, pair := range v.DriverStatus {
 		if pair[0] == "Extended file attributes" && pair[1] == "best-effort" {

+ 1 - 17
pkg/rootless/rootless.go

@@ -1,12 +1,6 @@
 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"
-)
+import "os"
 
 // RootlessKitDockerProxyBinary is the binary name of rootlesskit-docker-proxy
 const RootlessKitDockerProxyBinary = "rootlesskit-docker-proxy"
@@ -15,13 +9,3 @@ const RootlessKitDockerProxyBinary = "rootlesskit-docker-proxy"
 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)
-}