From 9e1dbfc5d372c69abbbbb7a9b311c7fa90981b06 Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Tue, 16 Jun 2026 09:29:49 +0200 Subject: [PATCH 01/19] shiftfs: go mod tidy Signed-off-by: Sebastiaan van Stijn --- shiftfs/go.mod | 2 +- shiftfs/go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/shiftfs/go.mod b/shiftfs/go.mod index 94e79a9..5ff6703 100644 --- a/shiftfs/go.mod +++ b/shiftfs/go.mod @@ -7,7 +7,7 @@ require ( github.com/nestybox/sysbox-libs/mount v0.0.0-00010101000000-000000000000 github.com/nestybox/sysbox-libs/utils v0.0.0-00010101000000-000000000000 github.com/opencontainers/runtime-spec v1.0.2 - github.com/sirupsen/logrus v1.9.0 + github.com/sirupsen/logrus v1.9.3 golang.org/x/sys v0.20.0 gopkg.in/hlandau/service.v1 v1.0.7 ) diff --git a/shiftfs/go.sum b/shiftfs/go.sum index 565b457..2ddb2ca 100644 --- a/shiftfs/go.sum +++ b/shiftfs/go.sum @@ -8,8 +8,8 @@ github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINE github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= -github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= +github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/spf13/afero v1.4.1 h1:asw9sl74539yqavKaglDM5hFpdJVK0Y5Dr/JOgQ89nQ= github.com/spf13/afero v1.4.1/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= From bb452cba30cc1995dc41a14522c04ab3d362500b Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Tue, 16 Jun 2026 08:56:56 +0200 Subject: [PATCH 02/19] formatter: migrate to use moby/client remove the deprecated github.com/docker/docker dependency Signed-off-by: Sebastiaan van Stijn --- formatter/containerID.go | 2 +- formatter/go.mod | 6 ++---- formatter/go.sum | 4 ++-- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/formatter/containerID.go b/formatter/containerID.go index 07a236f..12b2760 100644 --- a/formatter/containerID.go +++ b/formatter/containerID.go @@ -1,6 +1,6 @@ package formatter -import "github.com/docker/docker/pkg/stringid" +import "github.com/moby/moby/client/pkg/stringid" type ContainerID struct { ID string diff --git a/formatter/go.mod b/formatter/go.mod index db2a8be..ead1155 100644 --- a/formatter/go.mod +++ b/formatter/go.mod @@ -1,7 +1,5 @@ module github.com/nestybox/sysbox-libs/formatter -go 1.21 +go 1.24 -toolchain go1.21.0 - -require github.com/docker/docker v20.10.2+incompatible +require github.com/moby/moby/client v0.4.1 diff --git a/formatter/go.sum b/formatter/go.sum index 78cc06f..714519a 100644 --- a/formatter/go.sum +++ b/formatter/go.sum @@ -1,2 +1,2 @@ -github.com/docker/docker v20.10.2+incompatible h1:vFgEHPqWBTp4pTjdLwjAA4bSo3gvIGOYwuJTlEjVBCw= -github.com/docker/docker v20.10.2+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/moby/moby/client v0.4.1 h1:DMQgisVoMkmMs7fp3ROSdiBnoAu8+vo3GggFl06M/wY= +github.com/moby/moby/client v0.4.1/go.mod h1:z52C9O2POPOsnxZAy//WtKcQ32P+jT/NGeXu/7nfjGQ= From e4478a7d3e01795ac258f1b7671d3d2fa91f6d08 Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Tue, 16 Jun 2026 09:18:12 +0200 Subject: [PATCH 03/19] dockerUtils: migrate to github.com/moby/moby remove the deprecated github.com/docker/docker dependency Signed-off-by: Sebastiaan van Stijn --- dockerUtils/dockerUtils.go | 53 ++++------- dockerUtils/dockerUtils_test.go | 6 +- dockerUtils/go.mod | 42 ++++---- dockerUtils/go.sum | 163 ++++++++++---------------------- 4 files changed, 90 insertions(+), 174 deletions(-) diff --git a/dockerUtils/dockerUtils.go b/dockerUtils/dockerUtils.go index f18fad0..30f102c 100644 --- a/dockerUtils/dockerUtils.go +++ b/dockerUtils/dockerUtils.go @@ -14,10 +14,8 @@ import ( "github.com/nestybox/sysbox-libs/utils" - "github.com/docker/docker/api/types/container" - "github.com/docker/docker/api/types/filters" - "github.com/docker/docker/api/types/volume" - "github.com/docker/docker/client" + "github.com/moby/moby/api/types/volume" + "github.com/moby/moby/client" ) // Set to true during testing only @@ -61,26 +59,18 @@ type Docker struct { // DockerConnect establishes a session with the Docker daemon. func DockerConnect() (*Docker, error) { - // Profiling shows Docker takes on average ~10ms to respond to a single // client; with up to 1000 concurrent clients, it takes ~400ms to respond on // average (see the TestDockerConnectDelay() test in dockerUtils_test.go). // Thus we set the timeout to 1 sec; if it doesn't respond in this time, it // likely means Docker is not present. - timeout := time.Duration(1 * time.Second) - - cli, err := client.NewClientWithOpts( - client.FromEnv, - client.WithTimeout(timeout), - client.WithAPIVersionNegotiation(), - ) - + cli, err := client.New(client.FromEnv, client.WithTimeout(1*time.Second)) if err != nil { return nil, newDockerErr(DockerConnErr, fmt.Sprintf("failed to connect to Docker API: %v", err)) } // Get the docker data root dir (usually /var/lib/docker) - info, err := cli.Info(context.Background()) + res, err := cli.Info(context.Background(), client.InfoOptions{}) if err != nil { err2 := cli.Close() if err2 != nil { @@ -91,7 +81,7 @@ func DockerConnect() (*Docker, error) { return &Docker{ cli: cli, - dataRoot: info.DockerRootDir, + dataRoot: res.Info.DockerRootDir, }, nil } @@ -111,21 +101,17 @@ func (d *Docker) GetDataRoot() string { // ContainerGetImageID returns the image ID of the given container; may be // called during container creation. func (d *Docker) ContainerGetImageID(containerID string) (string, error) { - - filter := filters.NewArgs() - filter.Add("id", containerID) - - containers, err := d.cli.ContainerList(context.Background(), container.ListOptions{ + res, err := d.cli.ContainerList(context.Background(), client.ContainerListOptions{ All: true, // required since container may not yet be running - Filters: filter, + Filters: make(client.Filters).Add("id", containerID), }) - if err != nil { return "", newDockerErr(DockerContInfoErr, err.Error()) } + containers := res.Items if len(containers) == 0 { - return "", newDockerErr(DockerContInfoErr, fmt.Sprintf("container %s found", containerID)) + return "", newDockerErr(DockerContInfoErr, fmt.Sprintf("container %s not found", containerID)) } else if len(containers) > 1 { return "", newDockerErr(DockerContInfoErr, fmt.Sprintf("more than one container matches ID %s: %v", containerID, containers)) } @@ -136,14 +122,14 @@ func (d *Docker) ContainerGetImageID(containerID string) (string, error) { // ContainerGetInfo returns info for the given container. Must be called // after the container is created. func (d *Docker) ContainerGetInfo(containerID string) (*ContainerInfo, error) { - - info, err := d.cli.ContainerInspect(context.Background(), containerID) + res, err := d.cli.ContainerInspect(context.Background(), containerID, client.ContainerInspectOptions{}) if err != nil { return nil, err } + info := res.Container rootfs := "" - if info.GraphDriver.Name == "overlay2" { + if info.GraphDriver != nil && info.GraphDriver.Name == "overlay2" { rootfs = info.GraphDriver.Data["MergedDir"] } @@ -156,21 +142,18 @@ func (d *Docker) ContainerGetInfo(containerID string) (*ContainerInfo, error) { // ListVolumesAt lists Docker volumes with the given host mount point (which implies // volumes using the "local" driver only). func (d *Docker) ListVolumesAt(mountPoint string) ([]volume.Volume, error) { - - filterArgs := filters.NewArgs() - filterArgs.Add("driver", "local") - - // List volumes using the filter - volumeList, err := d.cli.VolumeList(context.Background(), volume.ListOptions{Filters: filterArgs}) + res, err := d.cli.VolumeList(context.Background(), client.VolumeListOptions{ + Filters: make(client.Filters).Add("driver", "local"), + }) if err != nil { return nil, err } // Filter volumes by mount point var filteredVolumes []volume.Volume - for _, vol := range volumeList.Volumes { + for _, vol := range res.Items { if vol.Mountpoint == mountPoint { - filteredVolumes = append(filteredVolumes, *vol) + filteredVolumes = append(filteredVolumes, vol) break } } @@ -188,7 +171,7 @@ func ContainerIsDocker(id, rootfs string) (bool, error) { if err == nil { defer docker.Disconnect() _, err := docker.ContainerGetImageID(id) - return (err == nil), nil + return err == nil, nil } // The connection to Docker can fail when containers are restarted diff --git a/dockerUtils/dockerUtils_test.go b/dockerUtils/dockerUtils_test.go index ba17152..a864886 100644 --- a/dockerUtils/dockerUtils_test.go +++ b/dockerUtils/dockerUtils_test.go @@ -15,7 +15,7 @@ import ( "testing" "time" - "github.com/docker/docker/api/types/volume" + "github.com/moby/moby/client" "github.com/stretchr/testify/assert" ) @@ -107,12 +107,12 @@ func TestListVolumesAt(t *testing.T) { // Prepare by creating a volume to test against volName := "testvolume" ctx := context.Background() - _, err = docker.cli.VolumeCreate(ctx, volume.CreateOptions{Name: volName, Driver: "local"}) + _, err = docker.cli.VolumeCreate(ctx, client.VolumeCreateOptions{Name: volName, Driver: "local"}) assert.NoError(t, err, "should be able to create a volume") // Clean up after test defer func() { - err := docker.cli.VolumeRemove(ctx, volName, true) + _, err := docker.cli.VolumeRemove(ctx, volName, client.VolumeRemoveOptions{Force: true}) assert.NoError(t, err, "should be able to remove the volume") }() diff --git a/dockerUtils/go.mod b/dockerUtils/go.mod index 851d227..c7f871e 100644 --- a/dockerUtils/go.mod +++ b/dockerUtils/go.mod @@ -1,46 +1,38 @@ module github.com/nestybox/sysbox-libs/dockerUtils -go 1.21 - -toolchain go1.21.3 +go 1.24 require ( - github.com/docker/docker v26.0.0+incompatible + github.com/moby/moby/api v1.54.2 + github.com/moby/moby/client v0.4.1 github.com/nestybox/sysbox-libs/utils v0.0.0-00010101000000-000000000000 - github.com/stretchr/testify v1.9.0 + github.com/stretchr/testify v1.10.0 ) require ( - github.com/Microsoft/go-winio v0.4.16 // indirect - github.com/containerd/log v0.1.0 // indirect + github.com/Microsoft/go-winio v0.6.2 // indirect + github.com/containerd/errdefs v1.0.0 // indirect + github.com/containerd/errdefs/pkg v0.3.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect - github.com/docker/go-connections v0.4.0 // indirect - github.com/docker/go-units v0.4.0 // indirect + github.com/docker/go-connections v0.7.0 // indirect + github.com/docker/go-units v0.5.0 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect - github.com/go-logr/logr v1.4.1 // indirect + github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/gogo/protobuf v1.3.2 // indirect github.com/moby/docker-image-spec v1.3.1 // indirect - github.com/moby/term v0.0.0-20201216013528-df9cb8a40635 // indirect - github.com/morikuni/aec v1.0.0 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect - github.com/opencontainers/image-spec v1.0.2 // indirect + github.com/opencontainers/image-spec v1.1.1 // indirect github.com/opencontainers/runtime-spec v1.0.2 // indirect - github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/sirupsen/logrus v1.9.3 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.51.0 // indirect - go.opentelemetry.io/otel v1.26.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.26.0 // indirect - go.opentelemetry.io/otel/metric v1.26.0 // indirect - go.opentelemetry.io/otel/sdk v1.26.0 // indirect - go.opentelemetry.io/otel/trace v1.26.0 // indirect - golang.org/x/net v0.23.0 // indirect - golang.org/x/sys v0.19.0 // indirect - golang.org/x/time v0.0.0-20201208040808-7e3f01d25324 // indirect + go.opentelemetry.io/auto/sdk v1.1.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0 // indirect + go.opentelemetry.io/otel v1.35.0 // indirect + go.opentelemetry.io/otel/metric v1.35.0 // indirect + go.opentelemetry.io/otel/trace v1.35.0 // indirect + golang.org/x/sys v0.33.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - gotest.tools/v3 v3.0.3 // indirect ) replace github.com/nestybox/sysbox-libs/utils => ../utils diff --git a/dockerUtils/go.sum b/dockerUtils/go.sum index 8b8e91b..e5d7a41 100644 --- a/dockerUtils/go.sum +++ b/dockerUtils/go.sum @@ -1,138 +1,79 @@ -github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78 h1:w+iIsaOQNcT7OZ575w+acHgRric5iCyQh+xv+KJ4HB8= -github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= -github.com/Microsoft/go-winio v0.4.16 h1:FtSW/jqD+l4ba5iPBj9CODVtgfYAD8w2wS923g/cFDk= -github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= -github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= -github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= -github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= -github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= +github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= +github.com/containerd/errdefs v1.0.0 h1:tg5yIfIlQIrxYtu9ajqY42W3lpS19XqdxRQeEwYG8PI= +github.com/containerd/errdefs v1.0.0/go.mod h1:+YBYIdtsnF4Iw6nWZhJcqGSg/dwvV7tyJ/kCkyJ2k+M= +github.com/containerd/errdefs/pkg v0.3.0 h1:9IKJ06FvyNlexW690DXuQNx2KA2cUJXx151Xdx3ZPPE= +github.com/containerd/errdefs/pkg v0.3.0/go.mod h1:NJw6s9HwNuRhnjJhM7pylWwMyAkmCQvQ4GpJHEqRLVk= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk= github.com/distribution/reference v0.6.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= -github.com/docker/docker v26.0.0+incompatible h1:Ng2qi+gdKADUa/VM+6b6YaY2nlZhk/lVJiKR/2bMudU= -github.com/docker/docker v26.0.0+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= -github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= -github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw= -github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/docker/go-connections v0.7.0 h1:6SsRfJddP22WMrCkj19x9WKjEDTB+ahsdiGYf0mN39c= +github.com/docker/go-connections v0.7.0/go.mod h1:no1qkHdjq7kLMGUXYAduOhYPSJxxvgWBh7ogVvptn3Q= +github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= +github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= -github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= +github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.1 h1:/c3QmbOGMGTOumP2iT/rCwB7b0QDGLKzqOmktBjT+Is= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.1/go.mod h1:5SN9VR2LTsRFsrEC6FHgRbTWrTHu6tqPeKxEQv15giM= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= +github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0= github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo= -github.com/moby/term v0.0.0-20201216013528-df9cb8a40635 h1:rzf0wL0CHVc8CEsgyygG0Mn9CNCCPZqOPaz8RiiHYQk= -github.com/moby/term v0.0.0-20201216013528-df9cb8a40635/go.mod h1:FBS0z0QWA44HXygs7VXDUOGoN/1TV3RuWkLO04am3wc= -github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A= -github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= +github.com/moby/moby/api v1.54.2 h1:wiat9QAhnDQjA7wk1kh/TqHz2I1uUA7M7t9SAl/JNXg= +github.com/moby/moby/api v1.54.2/go.mod h1:+RQ6wluLwtYaTd1WnPLykIDPekkuyD/ROWQClE83pzs= +github.com/moby/moby/client v0.4.1 h1:DMQgisVoMkmMs7fp3ROSdiBnoAu8+vo3GggFl06M/wY= +github.com/moby/moby/client v0.4.1/go.mod h1:z52C9O2POPOsnxZAy//WtKcQ32P+jT/NGeXu/7nfjGQ= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= -github.com/opencontainers/image-spec v1.0.2 h1:9yCKha/T5XdGtO0q9Q9a6T5NUCsTn/DrBg0D7ufOcFM= -github.com/opencontainers/image-spec v1.0.2/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= +github.com/opencontainers/image-spec v1.1.1 h1:y0fUlFfIZhPF1W537XOLg0/fcx6zcHCJwooC2xJA040= +github.com/opencontainers/image-spec v1.1.1/go.mod h1:qpqAh3Dmcf36wStyyWU+kCeDgrGnAve2nCC8+7h8Q0M= github.com/opencontainers/runtime-spec v1.0.2 h1:UfAcuLBJB9Coz72x1hgl8O5RVzTdNiaglX6v2DM6FI0= github.com/opencontainers/runtime-spec v1.0.2/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= -github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= -github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= +github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= +github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= -github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= -github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.51.0 h1:Xs2Ncz0gNihqu9iosIZ5SkBbWo5T8JhhLJFMQL1qmLI= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.51.0/go.mod h1:vy+2G/6NvVMpwGX/NyLqcC41fxepnuKHk16E6IZUcJc= -go.opentelemetry.io/otel v1.26.0 h1:LQwgL5s/1W7YiiRwxf03QGnWLb2HW4pLiAhaA5cZXBs= -go.opentelemetry.io/otel v1.26.0/go.mod h1:UmLkJHUAidDval2EICqBMbnAd0/m2vmpf/dAM+fvFs4= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.26.0 h1:1u/AyyOqAWzy+SkPxDpahCNZParHV8Vid1RnI2clyDE= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.26.0/go.mod h1:z46paqbJ9l7c9fIPCXTqTGwhQZ5XoTIsfeFYWboizjs= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.26.0 h1:1wp/gyxsuYtuE/JFxsQRtcCDtMrO2qMvlfXALU5wkzI= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.26.0/go.mod h1:gbTHmghkGgqxMomVQQMur1Nba4M0MQ8AYThXDUjsJ38= -go.opentelemetry.io/otel/metric v1.26.0 h1:7S39CLuY5Jgg9CrnA9HHiEjGMF/X2VHvoXGgSllRz30= -go.opentelemetry.io/otel/metric v1.26.0/go.mod h1:SY+rHOI4cEawI9a7N1A4nIg/nTQXe1ccCNWYOJUrpX4= -go.opentelemetry.io/otel/sdk v1.26.0 h1:Y7bumHf5tAiDlRYFmGqetNcLaVUZmh4iYfmGxtmz7F8= -go.opentelemetry.io/otel/sdk v1.26.0/go.mod h1:0p8MXpqLeJ0pzcszQQN4F0S5FVjBLgypeGSngLsmirs= -go.opentelemetry.io/otel/trace v1.26.0 h1:1ieeAUb4y0TE26jUFrCIXKpTuVK7uJGN9/Z/2LP5sQA= -go.opentelemetry.io/otel/trace v1.26.0/go.mod h1:4iDxvGDQuUkHve82hJJ8UqrwswHYsZuWCBllGV2U2y0= -go.opentelemetry.io/proto/otlp v1.2.0 h1:pVeZGk7nXDC9O2hncA6nHldxEjm6LByfA2aN8IOkz94= -go.opentelemetry.io/proto/otlp v1.2.0/go.mod h1:gGpR8txAl5M03pDhMC79G6SdqNV26naRm/KDsgaHD8A= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= -golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= +github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= +go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0 h1:sbiXRNDSWJOTobXh5HyQKjq6wUC5tNybqjIqDpAY4CU= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0/go.mod h1:69uWxva0WgAA/4bu2Yy70SLDBwZXuQ6PbBpbsa5iZrQ= +go.opentelemetry.io/otel v1.35.0 h1:xKWKPxrxB6OtMCbmMY021CqC45J+3Onta9MqjhnusiQ= +go.opentelemetry.io/otel v1.35.0/go.mod h1:UEqy8Zp11hpkUrL73gSlELM0DupHoiq72dR+Zqel/+Y= +go.opentelemetry.io/otel/metric v1.35.0 h1:0znxYu2SNyuMSQT4Y9WDWej0VpcsxkuklLa4/siN90M= +go.opentelemetry.io/otel/metric v1.35.0/go.mod h1:nKVFgxBZ2fReX6IlyW28MgZojkoAkJGaE8CpgeAU3oE= +go.opentelemetry.io/otel/sdk v1.35.0 h1:iPctf8iprVySXSKJffSS79eOjl9pvxV9ZqOWT0QejKY= +go.opentelemetry.io/otel/sdk v1.35.0/go.mod h1:+ga1bZliga3DxJ3CQGg3updiaAJoNECOgJREo9KHGQg= +go.opentelemetry.io/otel/sdk/metric v1.35.0 h1:1RriWBmCKgkeHEhM7a2uMjMUfP7MsOF5JpUCaEqEI9o= +go.opentelemetry.io/otel/sdk/metric v1.35.0/go.mod h1:is6XYCUMpcKi+ZsOvfluY5YstFnhW0BidkR+gL+qN+w= +go.opentelemetry.io/otel/trace v1.35.0 h1:dPpEfJu1sDIqruz7BHFG3c7528f6ddfSWfFDVt/xgMs= +go.opentelemetry.io/otel/trace v1.35.0/go.mod h1:WUk7DtFp1Aw2MkvqGdwiXYDZZNvA/1J8o6xRXLrIkyc= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o= -golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/time v0.0.0-20201208040808-7e3f01d25324 h1:Hir2P/De0WpUhtrKGGjvSb2YxUgyZ7EFOSLIcSSpiwE= -golang.org/x/time v0.0.0-20201208040808-7e3f01d25324/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de h1:jFNzHPIeuzhdRwVhbZdiym9q0ory/xY3sA+v2wPg8I0= -google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:5iCWqnniDlqZHrd3neWVTOwvh/v6s3232omMecelax8= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240401170217-c3f982113cda h1:LI5DOvAxUPMv/50agcLLoo+AdWc1irS9Rzz4vPuD1V4= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240401170217-c3f982113cda/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY= -google.golang.org/grpc v1.63.2 h1:MUeiw1B2maTVZthpU5xvASfTh3LDbxHd6IJ6QQVU+xM= -google.golang.org/grpc v1.63.2/go.mod h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA= -google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= -google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= +golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw= +golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= -gotest.tools/v3 v3.0.3 h1:4AuOwCGf4lLR9u3YOe2awrHygurzhO/HeQ6laiA6Sx0= -gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= +gotest.tools/v3 v3.5.2 h1:7koQfIKdy+I8UTetycgUqXWSDwpgv193Ka+qRsmBY8Q= +gotest.tools/v3 v3.5.2/go.mod h1:LtdLGcnqToBH83WByAAi/wiwSFCArdFIUV/xxN4pcjA= +pgregory.net/rapid v1.2.0 h1:keKAYRcjm+e1F0oAuU5F5+YPAWcyxNNRK2wud503Gnk= +pgregory.net/rapid v1.2.0/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= From 309474f4212442239987da3b05c5abe77184fcfa Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Tue, 16 Jun 2026 09:27:58 +0200 Subject: [PATCH 04/19] dockerUtils: use stdlib slices.Contains Signed-off-by: Sebastiaan van Stijn --- dockerUtils/dockerUtils.go | 5 ++--- dockerUtils/go.mod | 5 ----- dockerUtils/go.sum | 9 --------- 3 files changed, 2 insertions(+), 17 deletions(-) diff --git a/dockerUtils/dockerUtils.go b/dockerUtils/dockerUtils.go index 30f102c..a1dfc2b 100644 --- a/dockerUtils/dockerUtils.go +++ b/dockerUtils/dockerUtils.go @@ -9,11 +9,10 @@ import ( "fmt" "os" "path/filepath" + "slices" "strings" "time" - "github.com/nestybox/sysbox-libs/utils" - "github.com/moby/moby/api/types/volume" "github.com/moby/moby/client" ) @@ -219,7 +218,7 @@ func isDockerRootfs(rootfs string) (bool, error) { isDocker := true for _, dockerDir := range dockerDirs { - if !utils.StringSliceContains(filenames, dockerDir) { + if !slices.Contains(filenames, dockerDir) { isDocker = false } } diff --git a/dockerUtils/go.mod b/dockerUtils/go.mod index c7f871e..381776f 100644 --- a/dockerUtils/go.mod +++ b/dockerUtils/go.mod @@ -5,7 +5,6 @@ go 1.24 require ( github.com/moby/moby/api v1.54.2 github.com/moby/moby/client v0.4.1 - github.com/nestybox/sysbox-libs/utils v0.0.0-00010101000000-000000000000 github.com/stretchr/testify v1.10.0 ) @@ -23,9 +22,7 @@ require ( github.com/moby/docker-image-spec v1.3.1 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opencontainers/image-spec v1.1.1 // indirect - github.com/opencontainers/runtime-spec v1.0.2 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/sirupsen/logrus v1.9.3 // indirect go.opentelemetry.io/auto/sdk v1.1.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0 // indirect go.opentelemetry.io/otel v1.35.0 // indirect @@ -34,5 +31,3 @@ require ( golang.org/x/sys v0.33.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) - -replace github.com/nestybox/sysbox-libs/utils => ../utils diff --git a/dockerUtils/go.sum b/dockerUtils/go.sum index e5d7a41..671df60 100644 --- a/dockerUtils/go.sum +++ b/dockerUtils/go.sum @@ -4,7 +4,6 @@ github.com/containerd/errdefs v1.0.0 h1:tg5yIfIlQIrxYtu9ajqY42W3lpS19XqdxRQeEwYG github.com/containerd/errdefs v1.0.0/go.mod h1:+YBYIdtsnF4Iw6nWZhJcqGSg/dwvV7tyJ/kCkyJ2k+M= github.com/containerd/errdefs/pkg v0.3.0 h1:9IKJ06FvyNlexW690DXuQNx2KA2cUJXx151Xdx3ZPPE= github.com/containerd/errdefs/pkg v0.3.0/go.mod h1:NJw6s9HwNuRhnjJhM7pylWwMyAkmCQvQ4GpJHEqRLVk= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk= @@ -38,16 +37,10 @@ github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8 github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.1.1 h1:y0fUlFfIZhPF1W537XOLg0/fcx6zcHCJwooC2xJA040= github.com/opencontainers/image-spec v1.1.1/go.mod h1:qpqAh3Dmcf36wStyyWU+kCeDgrGnAve2nCC8+7h8Q0M= -github.com/opencontainers/runtime-spec v1.0.2 h1:UfAcuLBJB9Coz72x1hgl8O5RVzTdNiaglX6v2DM6FI0= -github.com/opencontainers/runtime-spec v1.0.2/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= -github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= -github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= @@ -64,13 +57,11 @@ go.opentelemetry.io/otel/sdk/metric v1.35.0 h1:1RriWBmCKgkeHEhM7a2uMjMUfP7MsOF5J go.opentelemetry.io/otel/sdk/metric v1.35.0/go.mod h1:is6XYCUMpcKi+ZsOvfluY5YstFnhW0BidkR+gL+qN+w= go.opentelemetry.io/otel/trace v1.35.0 h1:dPpEfJu1sDIqruz7BHFG3c7528f6ddfSWfFDVt/xgMs= go.opentelemetry.io/otel/trace v1.35.0/go.mod h1:WUk7DtFp1Aw2MkvqGdwiXYDZZNvA/1J8o6xRXLrIkyc= -golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw= golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools/v3 v3.5.2 h1:7koQfIKdy+I8UTetycgUqXWSDwpgv193Ka+qRsmBY8Q= From 2036da6bc90c8a7acdcb86cfdbee52701c4a3286 Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Tue, 16 Jun 2026 09:38:29 +0200 Subject: [PATCH 05/19] dockerUtils: go fix Signed-off-by: Sebastiaan van Stijn --- dockerUtils/dockerUtils.go | 2 +- dockerUtils/dockerUtils_test.go | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/dockerUtils/dockerUtils.go b/dockerUtils/dockerUtils.go index a1dfc2b..13b7255 100644 --- a/dockerUtils/dockerUtils.go +++ b/dockerUtils/dockerUtils.go @@ -203,7 +203,7 @@ func isDockerRootfs(rootfs string) (bool, error) { maxFilesPerDir := 30 // the docker data root dir has typically 10->20 subdirs in it path := rootfs - for i := 0; i < searchLevels; i++ { + for range searchLevels { path = filepath.Dir(path) dir, err := os.Open(path) diff --git a/dockerUtils/dockerUtils_test.go b/dockerUtils/dockerUtils_test.go index a864886..aea8dab 100644 --- a/dockerUtils/dockerUtils_test.go +++ b/dockerUtils/dockerUtils_test.go @@ -138,7 +138,7 @@ func TestDockerConnectDelay(t *testing.T) { maxDelay := 500 * time.Millisecond delayCh := make(chan time.Duration, numWorkers) - for i := 0; i < numWorkers; i++ { + for range numWorkers { wg.Add(1) go dockerConnectWorker(&wg, delayCh) } @@ -146,7 +146,7 @@ func TestDockerConnectDelay(t *testing.T) { wg.Wait() sum := 0 * time.Second - for i := 0; i < numWorkers; i++ { + for range numWorkers { sum += <-delayCh } avg := sum / time.Duration(numWorkers) From 60ec2767def6d453a378b9e9854585e11617b7d5 Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Tue, 16 Jun 2026 09:41:11 +0200 Subject: [PATCH 06/19] fileMonitor: use stdlib slices.Contains Signed-off-by: Sebastiaan van Stijn --- fileMonitor/fileMon_test.go | 8 ++++---- fileMonitor/go.mod | 12 ++---------- fileMonitor/go.sum | 2 -- 3 files changed, 6 insertions(+), 16 deletions(-) diff --git a/fileMonitor/fileMon_test.go b/fileMonitor/fileMon_test.go index 0dc6991..ff0d609 100644 --- a/fileMonitor/fileMon_test.go +++ b/fileMonitor/fileMon_test.go @@ -19,15 +19,15 @@ package fileMonitor import ( "fmt" "os" + "slices" "testing" "time" - "github.com/nestybox/sysbox-libs/utils" log "github.com/sirupsen/logrus" ) func init() { - //log.SetLevel(log.DebugLevel) + // log.SetLevel(log.DebugLevel) } func TestOneRemovalPerInterval(t *testing.T) { @@ -146,7 +146,7 @@ func TestMultiRemovalPerInterval(t *testing.T) { } for _, e := range events { - if !utils.StringSliceContains(tmpFiles, e.Filename) { + if !slices.Contains(tmpFiles, e.Filename) { t.Fatalf("event %+v does not match a removed file", e) } if e.Err != nil { @@ -293,7 +293,7 @@ func TestEventRemoval(t *testing.T) { if e.Filename == lastFile { t.Fatalf("event %+v should not have been received", e) } - if !utils.StringSliceContains(tmpFiles, e.Filename) { + if !slices.Contains(tmpFiles, e.Filename) { t.Fatalf("event %+v does not match a removed file", e) } if e.Err != nil { diff --git a/fileMonitor/go.mod b/fileMonitor/go.mod index 8a274df..82a632f 100644 --- a/fileMonitor/go.mod +++ b/fileMonitor/go.mod @@ -4,14 +4,6 @@ go 1.21 toolchain go1.21.0 -require ( - github.com/nestybox/sysbox-libs/utils v0.0.0-00010101000000-000000000000 - github.com/sirupsen/logrus v1.9.1 -) +require github.com/sirupsen/logrus v1.9.1 -require ( - github.com/opencontainers/runtime-spec v1.0.2 // indirect - golang.org/x/sys v0.19.0 // indirect -) - -replace github.com/nestybox/sysbox-libs/utils => ../utils +require golang.org/x/sys v0.19.0 // indirect diff --git a/fileMonitor/go.sum b/fileMonitor/go.sum index 7c38b0b..8213d83 100644 --- a/fileMonitor/go.sum +++ b/fileMonitor/go.sum @@ -1,8 +1,6 @@ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/opencontainers/runtime-spec v1.0.2 h1:UfAcuLBJB9Coz72x1hgl8O5RVzTdNiaglX6v2DM6FI0= -github.com/opencontainers/runtime-spec v1.0.2/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/sirupsen/logrus v1.9.1 h1:Ou41VVR3nMWWmTiEUnj0OlsgOSCUFgsPAOl6jRIcVtQ= From 6f100ff1e0efa4628a58568d073092bc996f6fbf Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Tue, 16 Jun 2026 09:26:21 +0200 Subject: [PATCH 07/19] utils: rewrite using stdlib slices.Contains Signed-off-by: Sebastiaan van Stijn --- utils/filepath_test.go | 7 +++++-- utils/slices.go | 29 +++++++++++++---------------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/utils/filepath_test.go b/utils/filepath_test.go index 923ca6b..fa92732 100644 --- a/utils/filepath_test.go +++ b/utils/filepath_test.go @@ -16,7 +16,10 @@ package utils -import "testing" +import ( + "slices" + "testing" +) func TestFilepathSort(t *testing.T) { @@ -38,7 +41,7 @@ func TestFilepathSort(t *testing.T) { "/w/x/y/z", } - if !StringSliceEqual(paths, want) { + if !slices.Equal(paths, want) { t.Errorf("FilepathSort() failed: want %v, got %v", want, paths) } } diff --git a/utils/slices.go b/utils/slices.go index 1efec28..273352d 100644 --- a/utils/slices.go +++ b/utils/slices.go @@ -17,30 +17,27 @@ package utils import ( + "slices" + "github.com/opencontainers/runtime-spec/specs-go" ) // StringSliceContains returns true if x is in a +// +// Deprecated: use [slices.Contains]. +// +//go:fix: inline func StringSliceContains(a []string, x string) bool { - for _, n := range a { - if x == n { - return true - } - } - return false + return slices.Contains(a, x) } // StringSliceEqual compares two slices and returns true if they match +// +// Deprecated: use [slices.Equal] +// +//go:fix inline func StringSliceEqual(a, b []string) bool { - if len(a) != len(b) { - return false - } - for i, v := range a { - if v != b[i] { - return false - } - } - return true + return slices.Equal(a, b) } // StringSliceRemove removes from slice 's' any elements which occur on slice 'db'. @@ -109,7 +106,7 @@ func MountSliceEqual(a, b []specs.Mount) bool { if m.Destination != b[i].Destination || m.Source != b[i].Source || m.Type != b[i].Type || - !StringSliceEqual(m.Options, b[i].Options) { + !slices.Equal(m.Options, b[i].Options) { return false } } From 895ca95128d94034a6fbee69a4d021c2e0e3004d Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Tue, 16 Jun 2026 10:02:53 +0200 Subject: [PATCH 08/19] fileMonitor: update logrus to reduce transitive deps Signed-off-by: Sebastiaan van Stijn --- fileMonitor/go.mod | 2 +- fileMonitor/go.sum | 16 ++++++---------- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/fileMonitor/go.mod b/fileMonitor/go.mod index 82a632f..81a5801 100644 --- a/fileMonitor/go.mod +++ b/fileMonitor/go.mod @@ -4,6 +4,6 @@ go 1.21 toolchain go1.21.0 -require github.com/sirupsen/logrus v1.9.1 +require github.com/sirupsen/logrus v1.9.4 require golang.org/x/sys v0.19.0 // indirect diff --git a/fileMonitor/go.sum b/fileMonitor/go.sum index 8213d83..d97075b 100644 --- a/fileMonitor/go.sum +++ b/fileMonitor/go.sum @@ -1,16 +1,12 @@ -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/sirupsen/logrus v1.9.1 h1:Ou41VVR3nMWWmTiEUnj0OlsgOSCUFgsPAOl6jRIcVtQ= -github.com/sirupsen/logrus v1.9.1/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +github.com/sirupsen/logrus v1.9.4 h1:TsZE7l11zFCLZnZ+teH4Umoq5BhEIfIzfRDZ1Uzql2w= +github.com/sirupsen/logrus v1.9.4/go.mod h1:ftWc9WdOfJ0a92nsE2jF5u5ZwH8Bv2zdeOC42RjbV2g= +github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= +github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o= golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= From 117737a55c2550c67d9555dc111ba1b2ea19c466 Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Tue, 16 Jun 2026 10:04:39 +0200 Subject: [PATCH 09/19] idShiftUtils: update logrus to reduce transitive deps Signed-off-by: Sebastiaan van Stijn --- idShiftUtils/go.mod | 4 +--- idShiftUtils/go.sum | 17 ++++++----------- 2 files changed, 7 insertions(+), 14 deletions(-) diff --git a/idShiftUtils/go.mod b/idShiftUtils/go.mod index 0c66537..0431675 100644 --- a/idShiftUtils/go.mod +++ b/idShiftUtils/go.mod @@ -8,12 +8,10 @@ require ( github.com/deckarep/golang-set v1.7.1 github.com/joshlf/go-acl v0.0.0-20200411065538-eae00ae38531 github.com/karrick/godirwalk v1.16.1 - github.com/sirupsen/logrus v1.7.0 + github.com/sirupsen/logrus v1.9.4 golang.org/x/sys v0.19.0 ) -require github.com/stretchr/testify v1.4.0 // indirect - require github.com/joshlf/testutil v0.0.0-20170608050642-b5d8aa79d93d // indirect replace github.com/nestybox/sysbox-libs/utils => ../utils diff --git a/idShiftUtils/go.sum b/idShiftUtils/go.sum index 25ce254..3e91a0b 100644 --- a/idShiftUtils/go.sum +++ b/idShiftUtils/go.sum @@ -1,4 +1,3 @@ -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/deckarep/golang-set v1.7.1 h1:SCQV0S6gTtp6itiFrTqI+pfmJ4LN85S1YzhDf9rTHJQ= @@ -11,15 +10,11 @@ github.com/karrick/godirwalk v1.16.1 h1:DynhcF+bztK8gooS0+NDJFrdNZjJ3gzVzC545UNA github.com/karrick/godirwalk v1.16.1/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/sirupsen/logrus v1.7.0 h1:ShrD1U9pZB12TX0cVy0DtePoCH97K8EtX+mg7ZARUtM= -github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= -github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +github.com/sirupsen/logrus v1.9.4 h1:TsZE7l11zFCLZnZ+teH4Umoq5BhEIfIzfRDZ1Uzql2w= +github.com/sirupsen/logrus v1.9.4/go.mod h1:ftWc9WdOfJ0a92nsE2jF5u5ZwH8Bv2zdeOC42RjbV2g= +github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= +github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o= golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= From 68dca56999b2a552b8af5c5c7acedfaad5893e31 Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Tue, 16 Jun 2026 10:06:13 +0200 Subject: [PATCH 10/19] linuxUtils: update logrus to reduce transitive deps Signed-off-by: Sebastiaan van Stijn --- linuxUtils/go.mod | 2 +- linuxUtils/go.sum | 13 ++++++------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/linuxUtils/go.mod b/linuxUtils/go.mod index b9d06e6..bbf41e6 100644 --- a/linuxUtils/go.mod +++ b/linuxUtils/go.mod @@ -4,7 +4,7 @@ go 1.21 require ( github.com/opencontainers/runtime-spec v1.0.2 - github.com/sirupsen/logrus v1.9.3 + github.com/sirupsen/logrus v1.9.4 github.com/spf13/afero v1.4.1 golang.org/x/sys v0.19.0 gopkg.in/hlandau/service.v1 v1.0.7 diff --git a/linuxUtils/go.sum b/linuxUtils/go.sum index ad32245..81efea5 100644 --- a/linuxUtils/go.sum +++ b/linuxUtils/go.sum @@ -8,20 +8,19 @@ github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINE github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= -github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/sirupsen/logrus v1.9.4 h1:TsZE7l11zFCLZnZ+teH4Umoq5BhEIfIzfRDZ1Uzql2w= +github.com/sirupsen/logrus v1.9.4/go.mod h1:ftWc9WdOfJ0a92nsE2jF5u5ZwH8Bv2zdeOC42RjbV2g= github.com/spf13/afero v1.4.1 h1:asw9sl74539yqavKaglDM5hFpdJVK0Y5Dr/JOgQ89nQ= github.com/spf13/afero v1.4.1/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= +github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o= golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -33,5 +32,5 @@ gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/hlandau/service.v1 v1.0.7 h1:16G5AJ1Cp8Vr65QItJXpyAIzf/FWAWCZBsTgsc6eyA8= gopkg.in/hlandau/service.v1 v1.0.7/go.mod h1:sZw6ksxcoafC04GoZtw32UeqqEuPSABX35lVBaJP/bE= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= From e4eebd8b40479391bec481b25a3a255b3bc710aa Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Tue, 16 Jun 2026 10:07:28 +0200 Subject: [PATCH 11/19] pidmonitor: update logrus to reduce transitive deps Signed-off-by: Sebastiaan van Stijn --- pidmonitor/go.mod | 7 ++----- pidmonitor/go.sum | 17 ++++++++--------- 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/pidmonitor/go.mod b/pidmonitor/go.mod index 66fcb1e..fde0e26 100644 --- a/pidmonitor/go.mod +++ b/pidmonitor/go.mod @@ -4,9 +4,6 @@ go 1.21 toolchain go1.21.0 -require github.com/sirupsen/logrus v1.4.2 +require github.com/sirupsen/logrus v1.9.4 -require ( - github.com/konsorten/go-windows-terminal-sequences v1.0.1 // indirect - golang.org/x/sys v0.0.0-20190422165155-953cdadca894 // indirect -) +require golang.org/x/sys v0.13.0 // indirect diff --git a/pidmonitor/go.sum b/pidmonitor/go.sum index 706fe8d..9e91db8 100644 --- a/pidmonitor/go.sum +++ b/pidmonitor/go.sum @@ -1,13 +1,12 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4= -github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -golang.org/x/sys v0.0.0-20190422165155-953cdadca894 h1:Cz4ceDQGXuKRnVBDTS23GTn/pU5OE2C0WrNTOYK1Uuc= -golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +github.com/sirupsen/logrus v1.9.4 h1:TsZE7l11zFCLZnZ+teH4Umoq5BhEIfIzfRDZ1Uzql2w= +github.com/sirupsen/logrus v1.9.4/go.mod h1:ftWc9WdOfJ0a92nsE2jF5u5ZwH8Bv2zdeOC42RjbV2g= +github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= +github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE= +golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= From 3fde228927cfac66ad9697059ffb75687038506d Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Tue, 16 Jun 2026 10:08:27 +0200 Subject: [PATCH 12/19] shiftfs: update logrus to reduce transitive deps Signed-off-by: Sebastiaan van Stijn --- shiftfs/go.mod | 2 +- shiftfs/go.sum | 13 ++++++------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/shiftfs/go.mod b/shiftfs/go.mod index 5ff6703..eb5f7a7 100644 --- a/shiftfs/go.mod +++ b/shiftfs/go.mod @@ -7,7 +7,7 @@ require ( github.com/nestybox/sysbox-libs/mount v0.0.0-00010101000000-000000000000 github.com/nestybox/sysbox-libs/utils v0.0.0-00010101000000-000000000000 github.com/opencontainers/runtime-spec v1.0.2 - github.com/sirupsen/logrus v1.9.3 + github.com/sirupsen/logrus v1.9.4 golang.org/x/sys v0.20.0 gopkg.in/hlandau/service.v1 v1.0.7 ) diff --git a/shiftfs/go.sum b/shiftfs/go.sum index 2ddb2ca..5ad4101 100644 --- a/shiftfs/go.sum +++ b/shiftfs/go.sum @@ -8,20 +8,19 @@ github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINE github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= -github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/sirupsen/logrus v1.9.4 h1:TsZE7l11zFCLZnZ+teH4Umoq5BhEIfIzfRDZ1Uzql2w= +github.com/sirupsen/logrus v1.9.4/go.mod h1:ftWc9WdOfJ0a92nsE2jF5u5ZwH8Bv2zdeOC42RjbV2g= github.com/spf13/afero v1.4.1 h1:asw9sl74539yqavKaglDM5hFpdJVK0Y5Dr/JOgQ89nQ= github.com/spf13/afero v1.4.1/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= +github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -33,5 +32,5 @@ gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/hlandau/service.v1 v1.0.7 h1:16G5AJ1Cp8Vr65QItJXpyAIzf/FWAWCZBsTgsc6eyA8= gopkg.in/hlandau/service.v1 v1.0.7/go.mod h1:sZw6ksxcoafC04GoZtw32UeqqEuPSABX35lVBaJP/bE= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= From a5c200e80605be277e9c83b0e7e919f1c6711561 Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Tue, 16 Jun 2026 10:09:15 +0200 Subject: [PATCH 13/19] utils: update logrus to reduce transitive deps Signed-off-by: Sebastiaan van Stijn --- utils/go.mod | 2 +- utils/go.sum | 16 ++++++---------- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/utils/go.mod b/utils/go.mod index 28645a1..5ac877a 100644 --- a/utils/go.mod +++ b/utils/go.mod @@ -4,6 +4,6 @@ go 1.21 require ( github.com/opencontainers/runtime-spec v1.0.2 - github.com/sirupsen/logrus v1.9.0 + github.com/sirupsen/logrus v1.9.4 golang.org/x/sys v0.19.0 ) diff --git a/utils/go.sum b/utils/go.sum index 72fab8e..6fd3d81 100644 --- a/utils/go.sum +++ b/utils/go.sum @@ -1,18 +1,14 @@ -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/opencontainers/runtime-spec v1.0.2 h1:UfAcuLBJB9Coz72x1hgl8O5RVzTdNiaglX6v2DM6FI0= github.com/opencontainers/runtime-spec v1.0.2/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= -github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +github.com/sirupsen/logrus v1.9.4 h1:TsZE7l11zFCLZnZ+teH4Umoq5BhEIfIzfRDZ1Uzql2w= +github.com/sirupsen/logrus v1.9.4/go.mod h1:ftWc9WdOfJ0a92nsE2jF5u5ZwH8Bv2zdeOC42RjbV2g= +github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= +github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o= golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= From 239e9f949187380fd5b1fee8d358aa207346f54b Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Tue, 16 Jun 2026 10:15:36 +0200 Subject: [PATCH 14/19] containerdUtils: migrate to github.com/pelletier/go-toml/v2 containerd switch to use this module in v1.5.0; switch to use the same module here. Signed-off-by: Sebastiaan van Stijn --- containerdUtils/containerdUtils.go | 4 ++-- containerdUtils/go.mod | 2 +- containerdUtils/go.sum | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/containerdUtils/containerdUtils.go b/containerdUtils/containerdUtils.go index 8256192..b6af226 100644 --- a/containerdUtils/containerdUtils.go +++ b/containerdUtils/containerdUtils.go @@ -7,7 +7,7 @@ import ( "fmt" "os" - "github.com/BurntSushi/toml" + "github.com/pelletier/go-toml/v2" ) // Location of containerd config file @@ -53,7 +53,7 @@ func parseDataRoot(path string) (string, error) { defer f.Close() // parse the "root" - if _, err := toml.NewDecoder(f).Decode(&config); err != nil { + if err := toml.NewDecoder(f).Decode(&config); err != nil { return "", fmt.Errorf("could not decode %s: %w", path, err) } diff --git a/containerdUtils/go.mod b/containerdUtils/go.mod index 0051d4d..b2fe5b2 100644 --- a/containerdUtils/go.mod +++ b/containerdUtils/go.mod @@ -2,4 +2,4 @@ module github.com/nestybox/sysbox-libs/containerdUtils go 1.21.3 -require github.com/BurntSushi/toml v1.4.0 +require github.com/pelletier/go-toml/v2 v2.3.1 diff --git a/containerdUtils/go.sum b/containerdUtils/go.sum index 8bc10f6..4937c97 100644 --- a/containerdUtils/go.sum +++ b/containerdUtils/go.sum @@ -1,2 +1,2 @@ -github.com/BurntSushi/toml v1.4.0 h1:kuoIxZQy2WRRk1pttg9asf+WVv6tWQuBNVmK8+nqPr0= -github.com/BurntSushi/toml v1.4.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho= +github.com/pelletier/go-toml/v2 v2.3.1 h1:MYEvvGnQjeNkRF1qUuGolNtNExTDwct51yp7olPtrEc= +github.com/pelletier/go-toml/v2 v2.3.1/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY= From 951f96a152556e262ebd89ba2614e01e40b36eaf Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Tue, 16 Jun 2026 10:20:51 +0200 Subject: [PATCH 15/19] containerdUtils: gofmt Signed-off-by: Sebastiaan van Stijn --- containerdUtils/containerdUtils.go | 1 + containerdUtils/containerdUtils_test.go | 14 +++++++------- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/containerdUtils/containerdUtils.go b/containerdUtils/containerdUtils.go index b6af226..f0ceadc 100644 --- a/containerdUtils/containerdUtils.go +++ b/containerdUtils/containerdUtils.go @@ -1,6 +1,7 @@ // // Copyright: (C) 2024 Nestybox Inc. All rights reserved. // + package containerdUtils import ( diff --git a/containerdUtils/containerdUtils_test.go b/containerdUtils/containerdUtils_test.go index 4343974..624ecc5 100644 --- a/containerdUtils/containerdUtils_test.go +++ b/containerdUtils/containerdUtils_test.go @@ -8,14 +8,14 @@ import ( func TestGetDataRoot(t *testing.T) { tests := []struct { - name string - configPath string - configContent string - expectedRoot string - expectError bool + name string + configPath string + configContent string + expectedRoot string + expectError bool }{ { - name: "Config with root entry", + name: "Config with root entry", configPath: "/etc/containerd/containerd.toml", configContent: ` version = 2 @@ -41,7 +41,7 @@ imports = ["/etc/containerd/runtime_*.toml", "./debug.toml"] expectError: false, }, { - name: "Config without root entry", + name: "Config without root entry", configPath: "/etc/containerd/config.toml", configContent: ` version = 2 From 4457144e6e538b1d5cd116aae8e2f9dd0ab579c6 Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Tue, 16 Jun 2026 10:21:11 +0200 Subject: [PATCH 16/19] containerdUtils: remove uses of deprecated io/ioutil Signed-off-by: Sebastiaan van Stijn --- containerdUtils/containerdUtils_test.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/containerdUtils/containerdUtils_test.go b/containerdUtils/containerdUtils_test.go index 624ecc5..49ba2c3 100644 --- a/containerdUtils/containerdUtils_test.go +++ b/containerdUtils/containerdUtils_test.go @@ -1,7 +1,6 @@ package containerdUtils import ( - "io/ioutil" "os" "testing" ) @@ -74,7 +73,7 @@ imports = ["/etc/containerd/runtime_*.toml", "./debug.toml"] // Create a temporary config file if content is provided if tt.configContent != "" { - tmpFile, err := ioutil.TempFile("", "config-*.toml") + tmpFile, err := os.CreateTemp("", "config-*.toml") if err != nil { t.Fatalf("Failed to create temp file: %v", err) } From d3859d47c22dd95b29b604e2832d94a21b23a716 Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Tue, 16 Jun 2026 10:23:08 +0200 Subject: [PATCH 17/19] utils: remove uses of deprecated io/ioutil Signed-off-by: Sebastiaan van Stijn --- utils/pidfile.go | 5 ++--- utils/pidfile_test.go | 3 +-- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/utils/pidfile.go b/utils/pidfile.go index 667c3e4..64b7135 100644 --- a/utils/pidfile.go +++ b/utils/pidfile.go @@ -18,7 +18,6 @@ package utils import ( "fmt" - "io/ioutil" "os" "path/filepath" "strconv" @@ -52,7 +51,7 @@ func CreatePidFile(program string, pidFile string) error { } pidStr := fmt.Sprintf("%d\n", os.Getpid()) - if err := ioutil.WriteFile(pidFile, []byte(pidStr), 0400); err != nil { + if err := os.WriteFile(pidFile, []byte(pidStr), 0400); err != nil { return fmt.Errorf("failed to write %s pid to file %s: %s", program, pidFile, err) } @@ -65,7 +64,7 @@ func DestroyPidFile(pidFile string) error { func readPidFile(pidFile string) (int, error) { - bs, err := ioutil.ReadFile(pidFile) + bs, err := os.ReadFile(pidFile) if err != nil { return 0, err } diff --git a/utils/pidfile_test.go b/utils/pidfile_test.go index 457ff23..77df0f5 100644 --- a/utils/pidfile_test.go +++ b/utils/pidfile_test.go @@ -17,7 +17,6 @@ package utils import ( - "io/ioutil" "os" "path/filepath" "testing" @@ -25,7 +24,7 @@ import ( func TestSysboxPidFile(t *testing.T) { - testDir, err := ioutil.TempDir("", "sysbox-mgr-test") + testDir, err := os.MkdirTemp("", "sysbox-mgr-test") if err != nil { t.Errorf(err.Error()) } From 82a33f5c7924583d3ced98b9b4e3d205b60a2e09 Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Tue, 16 Jun 2026 10:23:50 +0200 Subject: [PATCH 18/19] linuxUtils: remove uses of deprecated io/ioutil Signed-off-by: Sebastiaan van Stijn --- linuxUtils/linux.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/linuxUtils/linux.go b/linuxUtils/linux.go index 5f9fdf4..7006f07 100644 --- a/linuxUtils/linux.go +++ b/linuxUtils/linux.go @@ -21,7 +21,6 @@ import ( "bytes" "errors" "fmt" - "io/ioutil" "os" "os/exec" "path/filepath" @@ -362,7 +361,7 @@ func CreateUsernsProcess(idMap *specs.LinuxIDMapping, execFunc func(), cwd strin // Write the user-ns mappings (the child is waiting for them) writeMapping := func(fname string, idmap *specs.LinuxIDMapping) error { mapping := fmt.Sprintf("%d %d %d\n", idmap.ContainerID, idmap.HostID, idmap.Size) - return ioutil.WriteFile(fmt.Sprintf("/proc/%d/%s", pid, fname), []byte(mapping), 0600) + return os.WriteFile(fmt.Sprintf("/proc/%d/%s", pid, fname), []byte(mapping), 0600) } if err := writeMapping("uid_map", idMap); err != nil { From f03493105204d93e82c2bde5a9c54c034b2ce93a Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Tue, 16 Jun 2026 10:27:40 +0200 Subject: [PATCH 19/19] dockerUtils: use stdlib for testing Only a single test was using testify for trivial asserts; use stdlib to reduce (indirect) dependencies. Signed-off-by: Sebastiaan van Stijn --- dockerUtils/dockerUtils_test.go | 21 +++++++++++++++------ dockerUtils/go.mod | 4 ---- dockerUtils/go.sum | 9 --------- 3 files changed, 15 insertions(+), 19 deletions(-) diff --git a/dockerUtils/dockerUtils_test.go b/dockerUtils/dockerUtils_test.go index aea8dab..66aa4de 100644 --- a/dockerUtils/dockerUtils_test.go +++ b/dockerUtils/dockerUtils_test.go @@ -16,7 +16,6 @@ import ( "time" "github.com/moby/moby/client" - "github.com/stretchr/testify/assert" ) func TestGetContainer(t *testing.T) { @@ -108,19 +107,27 @@ func TestListVolumesAt(t *testing.T) { volName := "testvolume" ctx := context.Background() _, err = docker.cli.VolumeCreate(ctx, client.VolumeCreateOptions{Name: volName, Driver: "local"}) - assert.NoError(t, err, "should be able to create a volume") + if err != nil { + t.Fatalf("should be able to create a volume: %v", err) + } // Clean up after test defer func() { _, err := docker.cli.VolumeRemove(ctx, volName, client.VolumeRemoveOptions{Force: true}) - assert.NoError(t, err, "should be able to remove the volume") + if err != nil { + t.Fatalf("should be able to remove the volume: %v", err) + } }() // Test the function mountPoint := filepath.Join("/var/lib/docker/volumes/", volName, "_data") volumes, err := docker.ListVolumesAt(mountPoint) - assert.NoError(t, err, "should not have an error listing volumes") - assert.True(t, len(volumes) > 0, "should find at least one volume") + if err != nil { + t.Fatalf("should not have an error listing volumes: %v", err) + } + if len(volumes) == 0 { + t.Fatalf("should have at least one volume") + } found := false for _, vol := range volumes { if vol.Name == volName && vol.Mountpoint == mountPoint { @@ -128,7 +135,9 @@ func TestListVolumesAt(t *testing.T) { break } } - assert.True(t, found, "should find the test volume in the filtered list") + if !found { + t.Fatalf("should have found volume %s in %s", volName, mountPoint) + } } func TestDockerConnectDelay(t *testing.T) { diff --git a/dockerUtils/go.mod b/dockerUtils/go.mod index 381776f..13dfc2d 100644 --- a/dockerUtils/go.mod +++ b/dockerUtils/go.mod @@ -5,14 +5,12 @@ go 1.24 require ( github.com/moby/moby/api v1.54.2 github.com/moby/moby/client v0.4.1 - github.com/stretchr/testify v1.10.0 ) require ( github.com/Microsoft/go-winio v0.6.2 // indirect github.com/containerd/errdefs v1.0.0 // indirect github.com/containerd/errdefs/pkg v0.3.0 // indirect - github.com/davecgh/go-spew v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/go-connections v0.7.0 // indirect github.com/docker/go-units v0.5.0 // indirect @@ -22,12 +20,10 @@ require ( github.com/moby/docker-image-spec v1.3.1 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opencontainers/image-spec v1.1.1 // indirect - github.com/pmezard/go-difflib v1.0.0 // indirect go.opentelemetry.io/auto/sdk v1.1.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0 // indirect go.opentelemetry.io/otel v1.35.0 // indirect go.opentelemetry.io/otel/metric v1.35.0 // indirect go.opentelemetry.io/otel/trace v1.35.0 // indirect golang.org/x/sys v0.33.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/dockerUtils/go.sum b/dockerUtils/go.sum index 671df60..531b7ee 100644 --- a/dockerUtils/go.sum +++ b/dockerUtils/go.sum @@ -23,10 +23,6 @@ github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0= github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo= github.com/moby/moby/api v1.54.2 h1:wiat9QAhnDQjA7wk1kh/TqHz2I1uUA7M7t9SAl/JNXg= @@ -39,8 +35,6 @@ github.com/opencontainers/image-spec v1.1.1 h1:y0fUlFfIZhPF1W537XOLg0/fcx6zcHCJw github.com/opencontainers/image-spec v1.1.1/go.mod h1:qpqAh3Dmcf36wStyyWU+kCeDgrGnAve2nCC8+7h8Q0M= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= -github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= @@ -59,9 +53,6 @@ go.opentelemetry.io/otel/trace v1.35.0 h1:dPpEfJu1sDIqruz7BHFG3c7528f6ddfSWfFDVt go.opentelemetry.io/otel/trace v1.35.0/go.mod h1:WUk7DtFp1Aw2MkvqGdwiXYDZZNvA/1J8o6xRXLrIkyc= golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw= golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools/v3 v3.5.2 h1:7koQfIKdy+I8UTetycgUqXWSDwpgv193Ka+qRsmBY8Q=