Commit graph

43459 commits

Author SHA1 Message Date
Sebastiaan van Stijn
699174347c
daemon: use RWMutex for stateCounter
Use an RWMutex to allow concurrent reads of these counters

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-02-15 18:04:18 +01:00
Akihiro Suda
67b4b032f3
Merge pull request #43236 from thaJeztah/less_replaces
vendor.mod: reduce number of `replace` rules: update some dependencies
2022-02-15 17:59:39 +09:00
Sebastiaan van Stijn
fada92c393
vendor: github.com/prometheus/common v0.10.0
Only a single change affecting the vendored code:

- Support 0 for model.Duration

full diff: https://github.com/prometheus/common/compare/v0.9.1...v0.10.0

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-02-14 21:32:12 +01:00
Sebastiaan van Stijn
147752ee05
vendor: github.com/grpc-ecosystem/go-grpc-middleware v1.3.0
removing the replace rule; no actual code changes in the vendored files (only
some changes in docs).

full diff: https://github.com/grpc-ecosystem/go-grpc-middleware/compare/v1.2.0...v1.3.0

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-02-14 21:22:28 +01:00
Sebastiaan van Stijn
f9f11050cc
vendor.mod: don't replace github.com/stretchr/testify
It's not vendored, so no changes in vendored code

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-02-14 19:33:04 +01:00
Sebastiaan van Stijn
738bd5a90e
vendor.mod: don't replace github.com/containerd/containerd
Looks like the `replace` rule was also matching what we're already vendoring,
so we can remove it:

    github.com/containerd/containerd v1.5.8 => github.com/containerd/containerd v1.5.8

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-02-14 18:51:39 +01:00
Tianon Gravi
469749947b
Merge pull request #43181 from thaJeztah/image_service_debuglogs
daemon/images.NewImageService() don't print debug logs
2022-02-14 09:45:40 -08:00
Sebastiaan van Stijn
be4144c153
vendor.mod: don't replace gopkg.in/fsnotify.v1
It's not vendored, so no changes in vendored code

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-02-14 16:33:17 +01:00
Sebastiaan van Stijn
9f7280f2d2
vendor: github.com/google/uuid v1.3.0
Remove the replace rule, and use the version as specified by (indirect) dependencies:

full diff: https://github.com/google/uuid/compare/v1.1.1...v1.3.0

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-02-14 16:27:47 +01:00
Sebastiaan van Stijn
24a7b61800
vendor.mod: don't replace github.com/hpcloud/tail
It's not vendored, so no changes in vendored code

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-02-14 16:08:37 +01:00
Sebastiaan van Stijn
c1fa01deb8
vendor.mod: don't replace github.com/onsi/ginkgo, github.com/onsi/gomega
They're not vendored, so no changes in the vendored code.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-02-14 16:06:41 +01:00
Sebastiaan van Stijn
40bf5d414e
vendor: github.com/pelletier/go-toml v1.9.1
Remove the replace rule, and use the version as specified by (indirect) dependencies:

full diff: https://github.com/pelletier/go-toml/compare/v1.8.1...v1.9.1

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-02-14 16:02:05 +01:00
Sebastiaan van Stijn
8f6d58915d
vendor: github.com/klauspost/compress v1.12.3
Remove the replace rule, and use the version as specified by (indirect) dependencies:

full diff: https://github.com/klauspost/compress/compare/v1.11.13...v1.12.3

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-02-14 15:58:01 +01:00
Sebastiaan van Stijn
40b8495735
vendor: go.etcd.io/bbolt v1.3.6
Remove the replace rule, and use the version as specified by (indirect) dependencies:

full diff: https://github.com/etcd-io/bbolt/compare/v1.3.5...v1.3.6

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-02-14 15:54:20 +01:00
Sebastiaan van Stijn
03f45fafc5
vendor: golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2
Remove the replace rule, and use the version as specified by (indirect) dependencies:

full diff: e18ecbb051...69e39bad7d

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-02-14 15:42:37 +01:00
Sebastiaan van Stijn
368d680dfe
vendor: golang.org/x/time v0.0.0-20211116232009-f0f3c7e86c11
Remove the replace rule, and use the version as specified by (indirect) dependencies:

full diff: 3af7569d3a...f0f3c7e86c

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-02-14 15:39:04 +01:00
Sebastiaan van Stijn
ce4ca67d52
vendor: golang.org/x/text v0.3.6:
to match the version used by golang.org/x/crypto

full diff: https://github.com/golang/text/compare/v0.3.3...v0.3.6

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-02-14 15:35:01 +01:00
Tianon Gravi
12ba4848b2
Merge pull request #43230 from sheabot/bugfix/check-config-os-release
fix(check-config.sh): Check for existence of /etc/os-release before sourcing
2022-02-11 13:01:58 -08:00
Ryan Shea
2deec80dba fix(check-config.sh): Check for existence of /etc/os-release before sourcing
Signed-off-by: Ryan Shea <sheabot03@gmail.com>
2022-02-11 11:40:32 -07:00
Akihiro Suda
3b02526c1e
Merge pull request #42224 from thaJeztah/more_client_opts
client: extract FromEnv parts to separate WithXX options
2022-02-11 13:17:05 +09:00
Sebastiaan van Stijn
ea5b4765d9
Merge pull request #43195 from thaJeztah/update_golangci_lint
Dockerfile: update golangci-lint v1.44.0
2022-02-10 21:02:36 +01:00
Sebastiaan van Stijn
5c8d50a132
Merge pull request #43210 from tianon/frozen-names-generator
Freeze the namesgenerator package against new additions
2022-02-10 20:38:44 +01:00
Tianon Gravi
624b3cfbe8 Freeze the namesgenerator package against new additions
See the added comment/documentation within the package for more details.

Signed-off-by: Tianon Gravi <admwiggin@gmail.com>
2022-02-10 09:56:08 -08:00
Sebastiaan van Stijn
eae20b1a1b
client: extract FromEnv parts to separate WithXX options
Implements three options;

- WithTLSClientConfigFromEnv()
- WithHostFromEnv()
- WithVersionFromEnv()

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-02-10 17:15:40 +01:00
Sebastiaan van Stijn
646ace6ee3
Dockerfile: update golangci-lint v1.44.0
Looks like this may be needed for Go 1.18

Also updating the golangci-lint configuration to account for updated
exclusion rules.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-02-08 09:43:30 +01:00
Sebastiaan van Stijn
89f63f476b
integration-cli: SA5011: possible nil pointer dereference (staticcheck)
I think the original intent here was to make passing t optional (62a856e912),
but it looks like that's not done anywhere, so let's remove it.

    integration-cli/docker_utils_test.go:81:2: SA5011: possible nil pointer dereference (staticcheck)
        c.Helper()
        ^
    integration-cli/docker_utils_test.go:84:5: SA5011(related information): this check suggests that the pointer can be nil (staticcheck)
        if c != nil {
           ^
    integration-cli/docker_utils_test.go:106:2: SA5011: possible nil pointer dereference (staticcheck)
        c.Helper()
        ^
    integration-cli/docker_utils_test.go:108:5: SA5011(related information): this check suggests that the pointer can be nil (staticcheck)
        if c != nil {
           ^
    integration-cli/docker_utils_test.go:116:2: SA5011: possible nil pointer dereference (staticcheck)
        c.Helper()
        ^
    integration-cli/docker_utils_test.go:118:5: SA5011(related information): this check suggests that the pointer can be nil (staticcheck)
        if c != nil {
           ^
    integration-cli/docker_utils_test.go:126:2: SA5011: possible nil pointer dereference (staticcheck)
        c.Helper()
        ^
    integration-cli/docker_utils_test.go:128:5: SA5011(related information): this check suggests that the pointer can be nil (staticcheck)
        if c != nil {
           ^

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-02-08 09:43:28 +01:00
Sebastiaan van Stijn
85ed9b8746
libnetwork: fix unhandled errors in tests (ineffassign)
libnetwork/libnetwork_test.go:1014:8: ineffectual assignment to err (ineffassign)
        sbx1, err := controller.NewSandbox(containerID,
              ^
    libnetwork/libnetwork_test.go:1024:8: ineffectual assignment to err (ineffassign)
        sbx2, err := controller.NewSandbox("c2")
              ^

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-02-08 09:43:27 +01:00
Sebastiaan van Stijn
99935ff803
client.NewClientWithOpts(): remove redundant type assertion (gosimple)
As caught by gosimple:

    client/client.go:138:14: S1040: type assertion to the same type: c.client.Transport already has type http.RoundTripper (gosimple)
        if _, ok := c.client.Transport.(http.RoundTripper); !ok {
                    ^

This check was originally added in dc9f5c2ca3, to
check if the passed option was a `http.Transport`, and later changed in
e345cd12f9 to check for `http.RoundTripper` instead.

Client.client is a http.Client, for which the Transport field is a RoundTripper,
so this check is redundant.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-02-08 09:43:25 +01:00
Sebastiaan van Stijn
b88f4e2604
daemon/logger/awslogs: suppress false positive on hardcoded creds (gosec)
daemon/logger/awslogs/cloudwatchlogs.go:42:2: G101: Potential hardcoded credentials (gosec)
        credentialsEndpointKey = "awslogs-credentials-endpoint"
        ^
    daemon/logger/awslogs/cloudwatchlogs.go:67:2: G101: Potential hardcoded credentials (gosec)
        credentialsEndpoint = "http://169.254.170.2"
        ^

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-02-08 09:43:22 +01:00
Sebastiaan van Stijn
a5c7575550
Merge pull request #43176 from thaJeztah/update_distribution
vendor: github.com/docker/distribution v2.8.0
2022-02-08 09:40:23 +01:00
Tianon Gravi
9bf647c375
Merge pull request #43202 from thaJeztah/skip_temporary_error_check
client/request.go:157:8: SA1019: err.Temporary is deprecated (staticcheck)
2022-02-07 16:42:05 -08:00
Sebastiaan van Stijn
be63b7d7f6
vendor: github.com/docker/distribution v2.8.0
full diff: http://github.com/docker/distribution/compare/0d3efadf0154...v2.8.0

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-02-07 18:34:47 +01:00
Justin Cormack
4b3471ddc0
Merge pull request #43200 from thaJeztah/fix_overlay_fuse_permissions
daemon/graphdriver/fuse-overlayfs: Init(): fix directory permissions (staticcheck)
2022-02-07 14:59:10 +00:00
Sebastiaan van Stijn
af4babd657
Merge pull request #43083 from AkihiroSuda/runc-1.1.0
update runc to v1.1.0
2022-02-06 11:40:31 +01:00
Akihiro Suda
b79dec8138
vendor: github.com/opencontainers/runc v1.1.0
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2022-02-06 17:16:23 +09:00
Akihiro Suda
0d04359ec2
vendor: golang.org/x/sys v0.0.0-20220114195835-da31bd327af9
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2022-02-06 16:28:59 +09:00
Akihiro Suda
c55eb6b824
update runc binary to v1.1.0
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2022-02-06 16:23:38 +09:00
Sebastiaan van Stijn
36313c4bdb
Merge pull request #43212 from thaJeztah/fix_vendor
hack/vendor.sh: run "go mod tidy" before vendoring
2022-02-05 19:55:40 +01:00
Sebastiaan van Stijn
325c3a457b
hack/vendor.sh: run "go mod tidy" before vendoring
The hack/vendor.sh script is used to (re)vendor dependencies. However, it did
not run `go mod tidy` before doing so, wheras the vendor _validation_ script
did.

This could result in vendor validation failing if go mod tidy resulted in
changes (which could be in `vendor.sum`).

In "usual" situations, this could be easily done by the user (`go mod tidy`
before running `go mod vendor`), but due to our (curent) uses of `vendor.mod`,
and having to first set up a (dummy) `go.mod`, this is more complicated.

Instead, just make the script do this, so that `hack/vendor.sh` will always
produce the expected result.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-02-05 11:25:23 +01:00
Tianon Gravi
f0e057f0e5
Merge pull request #43211 from thaJeztah/remove_names_generator_binary
pkg/namesgenerator: remove names-generator binary
2022-02-04 06:46:18 -08:00
Sebastiaan van Stijn
347a85787b
pkg/namesgenerator: remove names-generator binary
This binary was added in 0800650665, but no motivation,
other than "this could be nice". Searching if it's used by anyone, I found only
two occurrences, both of which were just examples, or indexing results;

- eae845e40e/tree-examples/docker.txt (L1229)
- 8b1e0b89c7/sync/cache/librariesioGoGo.json (L2200)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-02-04 10:37:19 +01:00
Tianon Gravi
21981800a2
Merge pull request #43189 from thaJeztah/remove_unused_win32k
pkg/system: remove unused HasWin32KSupport() and rewrite IsWindowsClient()
2022-02-03 12:03:18 -08:00
Sebastiaan van Stijn
2cff05e960
client/request.go:157:8: SA1019: err.Temporary is deprecated (staticcheck)
It's deprecated in Go 1.18:

    client/request.go:157:8: SA1019: err.Temporary is deprecated: Temporary errors are not well-defined. Most "temporary" errors are timeouts, and the few exceptions are surprising. Do not use this method. (staticcheck)
        if !err.Temporary() {
            ^

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-01-31 15:59:51 +01:00
Sebastiaan van Stijn
f9fb5d4f25
daemon/graphdriver/fuse-overlayfs: Init(): fix directory permissions (staticcheck)
daemon/graphdriver/fuse-overlayfs/fuseoverlayfs.go:101:63: SA9002: file mode '700' evaluates to 01274; did you mean '0700'? (staticcheck)
        if err := idtools.MkdirAllAndChown(path.Join(home, linkDir), 700, currentID); err != nil {
                                                                     ^

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-01-28 12:50:30 +01:00
Sebastiaan van Stijn
ab9796b0e9
pkg/system: rewrite IsWindowsClient() using golang.org/x/sys/windows
Looks like we should be able to use the implementation from x/sys/windows.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-01-26 13:39:03 +01:00
Sebastiaan van Stijn
be463cbd6c
pkg/system: remove unused HasWin32KSupport()
This was added in 194eaa5c0f to check image
compatibility based on Platform.Features;

    // For now, hard code that all base images except nanoserver depend on win32k support
    if imageData.Name != "nanoserver" {
        imageData.OSFeatures = append(imageData.OSFeatures, "win32k")
    }

But no longer used since 1f59bc8c03 and
d231260868

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-01-26 13:11:58 +01:00
Sebastiaan van Stijn
3c06ebd876
Merge pull request #43168 from thaJeztah/skip_dockerpy_devices
docker-py: skip CreateContainerTest::test_create_with_device_cgroup_rules
2022-01-26 12:04:25 +01:00
Akihiro Suda
65b8bcc321
Merge pull request #43174 from thaJeztah/move_platformcheck
distribution: remove RootFSDownloadManager interface, and remove "os" argument from Download()
2022-01-26 14:08:44 +09:00
Sebastiaan van Stijn
559ff0ac66
Merge pull request #43103 from thaJeztah/image_import_platform
Add support for platform (os and architecture) on image import
2022-01-24 20:29:27 +01:00
Sebastiaan van Stijn
01ae9525dd
Add support for platform (os and architecture) on image import
Commit 0380fbff37 added the ability to pass a
--platform flag on `docker import` when importing an archive. The intent
of that commit was to allow importing a Linux rootfs on a Windows daemon
(as part of the experimental LCOW feature).

A later commit (337ba71fc1) changed some
of this code to take both OS and Architecture into account (for `docker build`
and `docker pull`), but did not yet update the `docker image import`.

This patch updates the import endpoitn to allow passing both OS and
Architecture. Note that currently only matching OSes are accepted,
and an error will be produced when (e.g.) specifying `linux` on Windows
and vice-versa.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-01-24 18:24:51 +01:00