Commit graph

43175 commits

Author SHA1 Message Date
Sebastiaan van Stijn
e7fb0c8201
Update Go to 1.17.2
go1.17.2 (released 2021-10-07) includes a security fix to the linker and misc/wasm
directory, as well as bug fixes to the compiler, the runtime, the go command, and
to the time and text/template packages. See the Go 1.17.2 milestone on our issue
tracker for details:

https://github.com/golang/go/issues?q=milestone%3AGo1.17.2+label%3ACherryPickApproved

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-10-08 15:12:36 +02:00
Tianon Gravi
1430d849a4
Merge pull request #42878 from thaJeztah/daemon_check_cd_once
daemon.UsingSystemd(): don't call getCD() multiple times
2021-10-06 17:28:35 -07:00
Tianon Gravi
9dd248a9e6
Merge pull request #42908 from thaJeztah/remove_unused_error
registry: remove unused registry.ErrAlreadyExists
2021-10-06 10:07:55 -07:00
Sebastiaan van Stijn
9f874e53b9
registry: remove unused registry.ErrAlreadyExists
This error was no longer in use after the v1 push code was removed
in 53dad9f027.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-10-05 14:15:32 +02:00
Akihiro Suda
306fa44b7c
Merge pull request #42881 from thaJeztah/dockerfile_rewrite
Dockerfile: move installers into Dockerfile, and update registry versions
2021-09-27 20:32:40 +09:00
Sebastiaan van Stijn
4145c81d82
Merge pull request #42880 from thaJeztah/makefile_proxy_vars
Makefile: remove passing proxy env-vars
2021-09-27 13:30:39 +02:00
Brian Goff
b9c26a56a3
Merge pull request #42882 from thaJeztah/update_swagger_docs_image
Makefile: update bfirsh/redoc to 1.14.0, and fix swagger warnings
2021-09-24 19:45:00 -07:00
Sebastiaan van Stijn
ce715505bd
Dockerfile: update test-registries to released versions
- using v2.1.0 for the "v1" registry (last release with only v1)
- using v2.3.0 as "current" version (was v2.3.0-rc.0)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-09-24 18:23:07 +02:00
Sebastiaan van Stijn
25381123d3
Makefile: update bfirsh/redoc to 1.14.0, and fix swagger warnings
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-09-24 17:23:55 +02:00
Sebastiaan van Stijn
b954e4793b
Dockerfile: move installers into Dockerfile
This moves installers that are only used during CI into the Dockerfile. Some
installers are still used in the release-pipeline, so keeping thos for now.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-09-24 16:43:59 +02:00
Sebastiaan van Stijn
ec9c8545f8
Makefile: remove passing proxy env-vars
Docker 17.07 and up allow the CLI to be configured to set default proxy
env-vars to be used (both as build-arg and as env for docker run), see
docker/cli#93, so setting these here should be redundant. If someone
needs these env-vars set, they should be configured in the cli's
`~/.docker/config.json` instead.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-09-24 15:55:56 +02:00
Akihiro Suda
30413e5efb
Merge pull request #42736 from thaJeztah/cap_net_raw_usens_detection
daemon.WithCommonOptions() fix detection of user-namespaces
2021-09-24 22:40:59 +09:00
Sebastiaan van Stijn
3ce1dcc25d
daemon.UsingSystemd(): don't call getCD() multiple times
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-09-24 13:51:39 +02:00
Sebastiaan van Stijn
ed83e2e20e
Merge pull request #42089 from cpuguy83/windows_containerd
Allow switching Windows runtimes.
2021-09-23 21:08:07 +02:00
Brian Goff
7ccf750daa Allow switching Windows runtimes.
This adds support for 2 runtimes on Windows, one that uses the built-in
HCSv1 integration and another which uses containerd with the runhcs
shim.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2021-09-23 17:44:04 +00:00
Akihiro Suda
8dd2a3ca50
Merge pull request #42866 from akhramov/feature/pkg-system-port-to-FreeBSD
Port pkg/system/mknod.go to FreeBSD
2021-09-23 23:08:35 +09:00
Artem Khramov
f3d3994a4b
Port pkg/system/mknod.go to FreeBSD
Because FreeBSD uses 64-bit device nodes (see
https://reviews.freebsd.org/rS318736), Linux implementation of
`system.Mknod` & `system.Mkdev` is not sufficient.

This change adds freebsd-specific implementations for `Mknod` and
Mkdev`.

Signed-off-by: Artem Khramov <akhramov@pm.me>
2021-09-22 09:47:35 +03:00
Akihiro Suda
6014c1e29d
Merge pull request #41759 from giuseppe/zstd-compression
compression: add support for the zstd algorithm
2021-09-17 17:01:45 +09:00
Sebastiaan van Stijn
e952346c99
Merge pull request #42851 from thaJeztah/namesgenerator_nosprintf
pkg/namesgenerator: replace uses of fmt.Sprintf()
2021-09-16 21:26:12 +02:00
Sebastiaan van Stijn
0d654d103c
Merge pull request #42855 from thaJeztah/bump_go_1.17.1
Update Go to 1.17.1
2021-09-16 21:09:16 +02:00
Giuseppe Scrivano
e187eb2bb5
compression: add support for the zstd algorithm
zstd is a compression algorithm that has a very fast decoder, while
providing also good compression ratios.  The fast decoder makes it
suitable for container images, as decompressing the tarballs is a very
expensive operation.

https://github.com/opencontainers/image-spec/pull/788 added support
for zstd to the OCI image specs.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2021-09-16 17:03:47 +02:00
Sebastiaan van Stijn
0050ddd43b
Update Go to 1.17.1
This includes additional fixes for CVE-2021-39293.

go1.17.1 (released 2021-09-09) includes a security fix to the archive/zip package,
as well as bug fixes to the compiler, linker, the go command, and to the crypto/rand,
embed, go/types, html/template, and net/http packages. See the Go 1.17.1 milestone
on the issue tracker for details:

https://github.com/golang/go/issues?q=milestone%3AGo1.17.1+label%3ACherryPickApproved

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-09-15 13:34:59 +02:00
Sebastiaan van Stijn
f586a473cf
pkg/namesgenerator: replace uses of fmt.Sprintf()
Looks like we don't need sprintf for how it's used. Replacing sprintf makes it
more performant (~2.4x as fast), and less memory, allocations:

    BenchmarkGetRandomName-8      	 8203230	       142.4 ns/op	      37 B/op	       2 allocs/op
    BenchmarkGetRandomNameOld-8   	 3499509	       342.9 ns/op	      85 B/op	       5 allocs/op

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-09-14 15:15:29 +02:00
Sebastiaan van Stijn
5176095455
Merge pull request #42674 from thaJeztah/bump_gotestsum
Dockerfile: simplify utility-install script, and update gotestsum to v1.7.0
2021-09-02 23:24:14 +02:00
Sebastiaan van Stijn
772e25fa9f
Merge pull request #42769 from thaJeztah/swagger_event_type
swagger: assorted fixes and updates
2021-09-02 23:23:49 +02:00
Sebastiaan van Stijn
1b8db06785
Dockerfile: update gotestsum to v1.7.0
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-09-02 21:23:26 +02:00
Sebastiaan van Stijn
14ff070469
Dockerfile: use "go install" to install utilities
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-09-02 21:23:24 +02:00
Sebastiaan van Stijn
a7a7c732c0
Dockerfile: use version for some utilities instead of commit-sha
The golangci-lint, gotestsum, shfmt, and vndr utilities should generally
be ok to be pinned by version instead of a specific sha. Also rename
the corresponding env-vars / build-args accordingly:

- GOLANGCI_LINT_COMMIT -> GOLANGCI_LINT_VERSION
- GOTESTSUM_COMMIT -> GOTESTSUM_VERSION
- SHFMT_COMMIT -> SHFMT_VERSION
- VNDR_COMMIT -> VNDR_VERSION
- CONTAINERD_COMMIT -> CONTAINERD_VERSION
- RUNC_COMMIT -> RUNC_VERSION
- ROOTLESS_COMMIT -> ROOTLESS_VERSION

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-09-02 21:23:20 +02:00
Sebastiaan van Stijn
3cec4b8cd4
Dockerfile: remove GOPROXY override (was for go < 1.14)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-09-02 21:22:30 +02:00
Sebastiaan van Stijn
3c7c18a499
remove deprecated "nokmem" build-tag for runc
This build-tag was removed in 52390d6804,
which is part of runc v1.0.0-rc94 and up, so no longer relevant.

the kmem options are now always disabled in runc.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-09-02 21:22:24 +02:00
Sebastiaan van Stijn
1de1d26eda
api/swagger: move DistributionInspect to definitions
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-09-02 21:13:22 +02:00
Sebastiaan van Stijn
9c0ca67e95
api/swagger: rename PluginPrivilegeItem to PluginPrivilege
To match the name in Go

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-09-02 21:06:47 +02:00
Sebastiaan van Stijn
a207eea6a4
api/swagger: fix up event-types and move to definitions
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-09-02 21:06:44 +02:00
Sebastiaan van Stijn
8fa6126f75
Merge pull request #42543 from rainrambler/patch-1
use defer to unlock mutex
2021-09-01 13:26:30 +02:00
Brian Goff
94e00d09da
Merge pull request #42797 from thaJeztah/go116_compat
pkg/plugins: fix compatibility with go1.16
2021-08-31 08:19:59 -07:00
Sebastiaan van Stijn
303ea8e820
pkg/plugins: fix compatibility with go1.16
commit c55a4ac779 changed the ioutil utilities
to use the new os variants, per recommendation from the go 1.16 release notes:
https://golang.org/doc/go1.16#ioutil

> we encourage new code to use the new definitions in the io and os packages.
> Here is a list of the new locations of the names exported by io/ioutil:

However, the devil is in the detail, and io.ReadDir() is not a direct
replacement for ioutil.ReadDir();

> ReadDir => os.ReadDir (note: returns a slice of os.DirEntry rather than a slice of fs.FileInfo)

go1.16 added a io.FileInfoToDirEntry() utility to concert a DirEntry to
a FileInfo, but it's not available in go1.16

This patch copies the FileInfoToDirEntry code, and uses it for go1.16.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-08-31 15:42:54 +02:00
Sebastiaan van Stijn
a826ca3aef
daemon.WithCommonOptions() fix detection of user-namespaces
Commit dae652e2e5 added support for non-privileged
containers to use ICMP_PROTO (used for `ping`). This option cannot be set for
containers that have user-namespaces enabled.

However, the detection looks to be incorrect; HostConfig.UsernsMode was added
in 6993e891d1 / ee2183881b,
and the property only has meaning if the daemon is running with user namespaces
enabled. In other situations, the property has no meaning.
As a result of the above, the sysctl would only be set for containers running
with UsernsMode=host on a daemon running with user-namespaces enabled.

This patch adds a check if the daemon has user-namespaces enabled (RemappedRoot
having a non-empty value), or if the daemon is running inside a user namespace
(e.g. rootless mode) to fix the detection.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-08-30 19:48:29 +02:00
Sebastiaan van Stijn
8684f482e4
Merge pull request #42782 from dkkb/McGrady/code_improvement
Remove platform argument from Puller interface.
2021-08-30 13:19:08 +02:00
Akihiro Suda
fecf45b09a
Merge pull request #42796 from thaJeztah/containerd_seccomp_check
pkg/sysinfo: use containerd/pkg/seccomp.IsEnabled()
2021-08-29 03:05:59 +09:00
Sebastiaan van Stijn
abd7966165
Merge pull request #42794 from thaJeztah/remove_libnetwork_api
libnetwork: remove API, as it's no longer used
2021-08-28 04:41:21 +02:00
Sebastiaan van Stijn
7bdf98276c
Merge pull request #42787 from thaJeztah/libnetwork_fix_lint
libnetwork: fix some linting issues
2021-08-28 01:18:13 +02:00
Sebastiaan van Stijn
175dc09491
Merge pull request #42795 from thaJeztah/libnetwork_cleanup
libnetwork/types: remove unused functions
2021-08-27 19:43:34 +02:00
Akihiro Suda
0cd1bd42b4
Merge pull request #42770 from thaJeztah/eventtype_enums
api/types/events: add "Type" type for event-type enum
2021-08-28 00:23:56 +09:00
Akihiro Suda
9e7bbdb9ba
Merge pull request #40084 from thaJeztah/hostconfig_const_cleanup
api/types: hostconfig: add some constants/enums and minor code cleanup
2021-08-28 00:21:31 +09:00
Sebastiaan van Stijn
c23eae3114
libnetwork/ipamapi: godoc fixes
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-08-27 16:52:46 +02:00
Sebastiaan van Stijn
92ea7df3d1
libnetwork: fix some linting issues
- fix incorrectly formatted GoDoc and comments
- rename a variable that collided with the `cap` built-in

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-08-27 16:52:44 +02:00
Sebastiaan van Stijn
c425188bc0
libnetwork: remove API, as it's no longer used
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-08-27 16:50:33 +02:00
Sebastiaan van Stijn
085c6a98d5
Merge pull request #42792 from Juneezee/deprecate-ioutil
refactor: move from io/ioutil to io and os package
2021-08-27 16:49:20 +02:00
Sebastiaan van Stijn
ae0795a99c
Merge pull request #42765 from thaJeztah/windows_2022_ltsc
Jenkinsfile: windows 2022 LTSC mcr.microsoft.com/windows/servercore:ltsc2022
2021-08-27 15:52:58 +02:00
Sebastiaan van Stijn
c4040417b6
Merge pull request #42791 from AkihiroSuda/cmd-dockerd-rootless-doc
cmd/dockerd: add the link of "the documentation"
2021-08-27 15:50:15 +02:00