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