Commit Graph

118 Commits

Author SHA1 Message Date
Markus Lehtonen
eba1048163 Update dependencies
Signed-off-by: Markus Lehtonen <markus.lehtonen@intel.com>
2022-01-04 09:27:54 +02:00
Kazuyoshi Kato
2fb739aa21 Upgrade OpenTelemetry dependencies
This commit upgrades the packages under go.opentelemetry.io/.

Signed-off-by: Kazuyoshi Kato <katokazu@amazon.com>
2021-12-16 22:35:57 +00:00
Sebastiaan van Stijn
fa12f4e696
go.mod: golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359
full diff: ed5796bab1...69cdffdb93

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-11-05 13:03:15 +01:00
Derek McGowan
cb6fb93af5
Merge pull request #6011 from crosbymichael/schedcore
add runc shim support for sched core
2021-10-08 10:42:16 -07:00
Michael Crosby
e48bbe8394 add runc shim support for sched core
In linux 5.14 and hopefully some backports, core scheduling allows processes to
be co scheduled within the same domain on SMT enabled systems.

The containerd impl sets the core sched domain when launching a shim. This
allows a clean way for each shim(container/pod) to be in its own domain and any
additional containers, (v2 pods) be be launched with the same domain as well as
any exec'd process added to the container.

kernel docs: https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/core-scheduling.html

Signed-off-by: Michael Crosby <michael@thepasture.io>
2021-10-08 16:18:09 +00:00
Daniel Canter
46b152f81b vendor: Bump hcsshim to 0.9.0
This change bumps hcsshim to 0.9.0. Main thing this tag contains is support for
Kubernetes Host Process containers
See: https://kubernetes.io/docs/tasks/configure-pod-container/create-hostprocess-pod/

Signed-off-by: Daniel Canter <dcanter@microsoft.com>
2021-10-07 21:00:35 -07:00
Sebastiaan van Stijn
2ac9968401
replace uses of os/exec with golang.org/x/sys/execabs
Go 1.15.7 contained a security fix for CVE-2021-3115, which allowed arbitrary
code to be executed at build time when using cgo on Windows. This issue also
affects Unix users who have “.” listed explicitly in their PATH and are running
“go get” outside of a module or with module mode disabled.

This issue is not limited to the go command itself, and can also affect binaries
that use `os.Command`, `os.LookPath`, etc.

From the related blogpost (ttps://blog.golang.org/path-security):

> Are your own programs affected?
>
> If you use exec.LookPath or exec.Command in your own programs, you only need to
> be concerned if you (or your users) run your program in a directory with untrusted
> contents. If so, then a subprocess could be started using an executable from dot
> instead of from a system directory. (Again, using an executable from dot happens
> always on Windows and only with uncommon PATH settings on Unix.)
>
> If you are concerned, then we’ve published the more restricted variant of os/exec
> as golang.org/x/sys/execabs. You can use it in your program by simply replacing

This patch replaces all uses of `os/exec` with `golang.org/x/sys/execabs`. While
some uses of `os/exec` should not be problematic (e.g. part of tests), it is
probably good to be consistent, in case code gets moved around.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-08-25 18:11:09 +02:00
Daniel Canter
e634f04d8c go.mod: update kubernetes to v1.22.0
This brings in some cri api changes for cgroups, Windows pod sandbox security
context changes and some new fields for the Windows version of a privileged
container.

This also unfortunately bumps the prometheus client, grpc middleware, bolt
and klog :(

Signed-off-by: Daniel Canter <dcanter@microsoft.com>
2021-08-09 16:16:54 -04:00
Kazuyoshi Kato
1d3d08026d Support SIGRTMIN+n signals
systemd uses SIGRTMIN+n signals, but containerd didn't support the signals
since Go's sys/unix doesn't support them.

This change introduces SIGRTMIN+n handling by utilizing moby/sys/signal.

Fixes #5402.

https://www.freedesktop.org/software/systemd/man/systemd.html#Signals

Signed-off-by: Kazuyoshi Kato <katokazu@amazon.com>
2021-07-26 09:36:43 -07:00
Ben Hutchings
b538d8f1a1 Update golang.org/x/sys to add linux/ppc support
This package as recently updated to add support for Linux on
32-bit PowerPC (ppc), implemented by gccgo.

Signed-off-by: Ben Hutchings <ben.hutchings@essensium.com>
2021-05-03 00:48:09 +02:00
Sebastiaan van Stijn
ce116d4c59
go.mod: github.com/containerd/imgcrypt v1.1.1-0.20210412181126-0bed51b9522c
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-04-13 01:06:38 +02:00
Sebastiaan van Stijn
36bf3f0e8a
go.mod: github.com/Microsoft/hcsshim v0.8.16
full diff: https://github.com/microsoft/hcsshim/compare/v0.8.15...v0.8.16

also updating github.com/Microsoft/hcsshim/test to current master

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-04-09 09:12:12 +02:00
Davanum Srinivas
c3eecf4f75
Update to newest imgcrypt, aufs and zfs
Older versions transitively dragged in k8s.io/kubernetes, the newer
versions do not.

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2021-03-01 12:23:03 -05:00
Sebastiaan van Stijn
04d061fa6a
update runc to v1.0.0-rc93
full diff: https://github.com/opencontainers/runc/compare/v1.0.0-rc92...v1.0.0-rc93

also removes dependency on libcontainer/configs

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-02-04 16:13:30 +01:00
Davanum Srinivas
378c119245
Bump k8s deps to v1.20.1
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2021-01-12 16:44:20 -05:00
Derek McGowan
41da96d670
Update continuity
Pickup usage calculation fix

Signed-off-by: Derek McGowan <derek@mcg.dev>
2020-12-04 11:49:26 -08:00
Shengjing Zhu
7e46676e7c Go mod vendor
Signed-off-by: Shengjing Zhu <zhsj@debian.org>
2020-12-01 01:41:25 +08:00
Davanum Srinivas
4044ca9a57
trying docker v19.03.13
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-10-13 10:36:42 -04:00
Sebastiaan van Stijn
8b5cc2e1dc
vendor: containerd/console v1.0.1
full diff: https://github.com/containerd/consolve/compare/v1.0.0...v1.0.1

vendor golang.org/x/sys 2334cc1a136f0a5b4384f1a27e3634457be08553

full diff: ed371f2e16...2334cc1a13

- unix: add Darwin support for clonefile syscalls
- Adds openat2 for linux
  openat2 is a new syscall added to Linux 5.6. It provides a superset of
  openat(2) functionality, extending it with flags telling the kernel how
  to resolve the paths.

  For more info, see https://lwn.net/Articles/803237/

  NOTE that this is a second attempt to add the call; the previous one
  (https://golang.org/cl/227280) was reverted
  (https://golang.org/cl/227846) due to the test case failure on ARM
  (https://golang.org/issue/38357).

  This CL has the test case reworked to be less assumptive to the testing
  environment. In particular, it first tries if the most simplistic
  openat2() call succeeds, and skips the test otherwise. It is done that
  way because CI can be under under different kernels and in various
  envrionments -- in particular, Docker+seccomp can result in EPERM from a
  system call (which is not expected otherwise).

  For previous discussions about the test case, see
  https://golang.org/cl/227865.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-09-24 23:34:18 +02:00
Sebastiaan van Stijn
4a0ac319ca
vendor: golang.org/x/sys v0.0.0-20200622214017-ed371f2e16b4
full diff: 9dae0f8f57...ed371f2e16

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-08-11 09:57:43 +02:00
Sebastiaan van Stijn
f80b4dc586
vendor: golang.org/x/net v0.0.0-20200707034311-ab3426394381
full diff: f3200d17e0...ab34263943

Worth mentioning that there's a comment updated in golang.org/x/net/websocket:

    This package currently lacks some features found in alternative
    and more actively maintained WebSocket packages:
        https://godoc.org/github.com/gorilla/websocket
        https://godoc.org/nhooyr.io/websocket

It's used in k8s.io/apiserver/pkg/util/wsstream/stream.go, so perhaps that should
be reviewed if the alternatives are better for how it's used.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-08-11 09:57:41 +02:00
Sebastiaan van Stijn
5a9a6a145e
vendor: golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9
full diff: bac4c82f69...75b288015a

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-08-11 09:57:39 +02:00
Davanum Srinivas
963625d7bc
Update runc to v1.0.0-rc91
https://github.com/opencontainers/runc/releases/tag/v1.0.0-rc91

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-07-04 14:46:03 -04:00
Sebastiaan van Stijn
ea06877696
vendor: golang.org/x/text v0.3.3
full diff: 19e51611da...v0.3.3

includes a fix for [CVE-2020-14040][1]

[1]: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-14040

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-06-17 13:15:11 +02:00
Sebastiaan van Stijn
1b7d1e81be
vendor: golang.org/x/sys 5c8b2ff67527cb88b770f693cebf3799036d8bc0
full diff: 52ab431487...5c8b2ff675

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-03-09 10:07:33 +01:00
Sebastiaan van Stijn
b78dfbdfbe
vendor: golang.org/x/sys 52ab431487773bc9dd1b0766228b1cf3944126bf
full diff: c990c680b6...52ab431487

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-03-07 14:35:36 +01:00
Sebastiaan van Stijn
12c7d69769
vendor: update containerd/cri 1a00c06886
full diff: c0294ebfe0...1a00c06886

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-03-07 14:35:14 +01:00
Sebastiaan van Stijn
f3652d0682
vendor: golang.org/x/crypto 1d94cc7ab1c630336ab82ccb9c9cda72a875c382
full diff: 69ecbb4d6d...1d94cc7ab1

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-02-19 12:47:59 +01:00
Sebastiaan van Stijn
2002411638
vendor: update golang.org/x/crypto 69ecbb4d6d5dab05e49161c6e77ea40a030884e1
full diff: 60c769a6c5...69ecbb4d6d

Includes 69ecbb4d6d
(forward-port of 8b5121be2f),
to address CVE-2020-7919:

Panic in crypto/x509 certificate parsing and golang.org/x/crypto/cryptobyte
On 32-bit architectures, a malformed input to crypto/x509 or the ASN.1 parsing
functions of golang.org/x/crypto/cryptobyte can lead to a panic.
The malformed certificate can be delivered via a crypto/tls connection to a
client, or to a server that accepts client certificates. net/http clients can
be made to crash by an HTTPS server, while net/http servers that accept client
certificates will recover the panic and are unaffected.
Thanks to Project Wycheproof for providing the test cases that led to the
discovery of this issue. The issue is CVE-2020-7919 and Go issue golang.org/issue/36837.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-01-28 18:46:31 +01:00
Davanum Srinivas
0dc69620b8
update dependencies of containerd/cri
List generated by running:
`git diff c9d45e6526 19589b4bf9 vendor.conf`

in the containerd/cri repositoru

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-01-25 14:20:17 -05:00
Phil Estes
11ef041ff4
Update golang.org/x/sys to recent commit
This prepares us to be able to update docker/docker vendoring to a
recent commit.

Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
2019-11-22 19:34:38 -05:00
Michael Crosby
8ff5827e98 Update cri and cgroup packages
This change includes a cri master bump and a cgroup bump for windows support
with cgroup stats and reusing the cgroup metric types.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2019-10-01 10:19:56 -04:00
Lantao Liu
fc31fa176d Update cri to 4ea022f82a55c449bf15bfc62ac8b0de968d81be.
Signed-off-by: Lantao Liu <lantaol@google.com>
2019-09-23 17:51:26 -07:00
Kevin Parsons
64a0b2eb26 Revendor to remove unused dependencies
Signed-off-by: Kevin Parsons <kevpar@microsoft.com>
2019-08-19 11:23:34 -07:00
Lantao Liu
9cbd18ac76 Update cri to f1d492b0cd.
Signed-off-by: Lantao Liu <lantaol@google.com>
2019-08-16 16:38:22 -07:00
Phil Estes
b77e25dade
Merge pull request #3516 from crosbymichael/remote-enc
Remove encryption code from containerd core
2019-08-13 10:52:48 -04:00
CarlosEDP
3ef26cd87c bump x/sys to fix riscv64 epoll
Signed-off-by: CarlosEDP <me@carlosedp.com>
2019-08-12 11:43:53 -03:00
Michael Crosby
d085d9b464 Remove encryption code from containerd core
We are separating out the encryption code and have designed a few new
interfaces and APIs for processing content streams.  This keep the core
clean of encryption code but enables not only encryption but support of
multiple content types ( custom media types ).

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2019-08-09 15:01:16 +00:00
Stefan Berger
30c3443947 Add crypto dependencies/vendoring
Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
2019-07-17 15:19:28 -04:00
CarlosEDP
fb6b0ae4c6 Update x/sys, x/net and bbolt modules to support Risc-V
Signed-off-by: CarlosEDP <me@carlosedp.com>
2019-06-07 17:54:32 -03:00
msg555
c7f067f278 Update vendor/ with new required vndr go.mod files
Signed-off-by: msg555 <msg555@gmail.com>
2019-04-28 18:20:43 -04:00
Sebastiaan van Stijn
a333dbcfb4
Update x/crypto to 88737f569e3a9c7ab309cdc09a07fe7fc87233c3
full diff: 49796115aa...88737f569e

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-04-18 19:01:11 +02:00
Shengjing Zhu
1745951bad Vendor golang.org/x/sys d455e41777fca6e8a5a79e34a14b8368bc11d9ba
Signed-off-by: Shengjing Zhu <zhsj@debian.org>
2019-03-03 21:35:46 +08:00
Sebastiaan van Stijn
14eaad0cd9
Update runc to 6635b4f0c6af3810594d2770f662f34ddc15b40d (CVE-2019-5736)
Includes 6635b4f0c6,
which fixes a vulnerability in runc that allows a container escape (CVE-2019-5736)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-02-11 15:18:59 +01:00
Lantao Liu
d7ed403072 Add image pull concurrency limit.
Signed-off-by: Lantao Liu <lantaol@google.com>
2019-01-29 10:27:05 -08:00
John Howard
40d898a820 Windows: Allow running as a service
Signed-off-by: John Howard <jhoward@microsoft.com>

Allows containerd.exe to run as a Windows service. eg

Register: `.\containerd.exe --register-service`

Start: `net start containerd`
...
Stop: `net stop containerd`

Unregister: `.\containerd.exe --unregister-service`

When running as a service, logs will go to the Windows application
event log.
2018-11-27 17:28:04 -08:00
Lantao Liu
ab9942cbf9 Update cri to 9f39e32895.
Signed-off-by: Lantao Liu <lantaol@google.com>
2018-09-17 11:37:24 -07:00
Derek McGowan
0c0c271b54
Update golang.org/x/sys
Signed-off-by: Derek McGowan <derek@mcgstyle.net>
2018-07-12 15:14:35 -07:00
Ian Campbell
623407a399 Re-vndr with newest vndr
This seems to pickup a bunch of *.c files and some other changes which follow
from having included some new packages because of that.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2018-05-01 00:18:17 +01:00
Kir Kolyshkin
f337075620 Bump golang.org/x/net
This version includes "x/net/context" which is fully compatible with
the standard Go "context" package, so the two can be mixed together.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2018-04-24 14:33:20 -07:00
Lantao Liu
8958b489ba Update to cri v1.0.0-rc.0
Signed-off-by: Lantao Liu <lantaol@google.com>
2018-03-26 22:24:25 +00:00
Lantao Liu
fa91b905e9 Update vendors.
Signed-off-by: Lantao Liu <lantaol@google.com>
2018-02-16 23:23:47 +00:00
Tobias Klauser
e789135aa3 vendor: update golang.org/x/sys
Update golang.org/x/sys to 314a259e304ff91bd6985da2a7149bbf91237993

Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
2017-10-02 14:51:12 +02:00
Michael Crosby
f7dc0ab9e1 Update golang/sys to 7ddbeae9ae08c6a06a59597f0c9ed
ref #1422

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-09-05 15:39:46 -04:00
Edward Pilatowicz
949d4903ee vendor: update golang.org/x/sys
Signed-off-by: Edward Pilatowicz <edward.pilatowicz@oracle.com>
2017-08-02 17:25:29 -07:00
Ian Campbell
412d455374 Rerun vndr with newest version
This excludes things marked with "// +build ignore".

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-07-12 11:01:45 +01:00
Michael Crosby
d46b562043 Update containerd dependencies
sys/unix
cgroups
go-runc
console

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-07-10 11:05:51 -07:00
Michael Crosby
49f9dc494f Update runc and runtime-spec dependencies
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-06-27 11:44:38 -07:00
Stephen J Day
b626757d06
vendor: update grpc dependencies
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2017-05-25 17:20:23 -07:00
Michael Crosby
9e1acba19f Update deps with sys/unix changes
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-04-10 13:07:41 -07:00
Akihiro Suda
40d966f00e clean up unused nats code
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-02-20 05:28:09 +00:00
Michael Crosby
c869eb0c61 Update vendored packages for changes
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-02-15 15:10:30 -08:00
Derek McGowan
aa3be3b0fe Vendor errgroup
Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2017-02-03 11:28:06 -08:00
Stephen J Day
19eecaab12
cmd/dist: POC implementation of dist fetch
With this changeset we introduce several new things. The first is the
top-level dist command. This is a toolkit that implements various
distribution primitives, such as fetching, unpacking and ingesting.

The first component to this is a simple `fetch` command. It is a
low-level command that takes a "remote", identified by a `locator`, and
an object identifier. Keyed by the locator, this tool can identify a
remote implementation to fetch the content and write it back to standard
out. By allowing this to be the unit of pluggability in fetching
content, we can have quite a bit of flexibility in how we retrieve
images.

The current `fetch` implementation provides anonymous access to docker
hub images, through the namespace `docker.io`. As an example, one can
fetch the manifest for `redis` with the following command:

```
$ ./dist fetch docker.io/library/redis latest mediatype:application/vnd.docker.distribution.manifest.v2+json
```

Note that we have provided a mediatype "hint", nudging the fetch
implementation to grab the correct endpoint. We can hash the output of
that to fetch the same content by digest:

```
$ ./dist fetch docker.io/library/redis sha256:$(./dist fetch docker.io/library/redis latest mediatype:application/vnd.docker.distribution.manifest.v2+json | shasum -a256)
```

Note that the hint is now elided, since we have affixed the content to a
particular hash.

If you are not yet entertained, let's bring `jq` and `xargs` into the
mix for maximum fun. The following incantation fetches the same manifest
and downloads all layers into the convenience of `/dev/null`:

```
$ ./dist fetch docker.io/library/redis sha256:a027a470aa2b9b41cc2539847a97b8a14794ebd0a4c7c5d64e390df6bde56c73 | jq -r '.layers[] | .digest' | xargs -n1 -P10 ./dist fetch docker.io/library/redis > /dev/null
```

This is just the beginning. We should be able to centralize
configuration around fetch to implement a number of distribution
methodologies that have been challenging or impossible up to this point.
The `locator`, mentioned earlier, is a schemaless URL that provides a
host and path that can be used to resolve the remote. By dispatching on
this common identifier, we should be able to support almost any protocol
and discovery mechanism imaginable.

When this is more solidified, we can roll these up into higher-level
operations that can be orchestrated through the `dist` tool or via GRPC.

What a time to be alive!

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2017-01-23 13:27:07 -08:00
Kenfe-Mickael Laventure
478f50fb2e Vendor golang.org/x/sys/unix
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2017-01-12 11:21:06 -08:00
Phil Estes
dd9309c15e
Add vendoring to containerd master
Initial vendor list validated with empty $GOPATH
and only master checked out; followed by `make`
and verified that all binaries build properly.
Updates require github.com/LK4D4/vndr tool.

Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
2017-01-11 16:59:06 -05:00
Michael Crosby
b4c901f34a Revert "Switch to new vendor directory layout"
This reverts commit d5742209d3.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-03-17 16:10:24 -07:00
Marcos Lilljedahl
d5742209d3 Switch to new vendor directory layout
Fixes #113

Signed-off-by: Marcos Lilljedahl <marcosnils@gmail.com>
2016-03-16 01:56:22 -03:00