Commit Graph

1073 Commits

Author SHA1 Message Date
Nishchay
f41675d234 fix: support empty auth config for anonymous registry
- empty username means caller wants to use no credentials, typically for anonymous registry
- Fixes https://github.com/containerd/cri/issues/1249

Signed-off-by: Nishchay Kumar <mrawesomenix@gmail.com>
2019-08-28 10:24:31 -07:00
Lantao Liu
28aef2fe38 Support CNI DNS capabilities.
Signed-off-by: Lantao Liu <lantaol@google.com>
2019-08-22 14:29:04 -07:00
Lantao Liu
10acd8e769 Fix apparmor for privileged.
Signed-off-by: Lantao Liu <lantaol@google.com>
2019-08-19 16:28:45 -07:00
Michael Crosby
3995efc7c1 Update cni and go-cni to the v0.7.1 release
Closes #1236

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2019-08-14 16:19:37 +00:00
Lantao Liu
81ca274c6f Add wildcard mirror support.
Signed-off-by: Lantao Liu <lantaol@google.com>
2019-08-13 12:02:57 -07:00
Michael Crosby
2e8ea9fd6b Allow timeouts to be configured in config
This adds a singleton `timeout` package that will allow services and user
to configure timeouts in the daemon.  When a service wants to use a
timeout, it should declare a const and register it's default value
inside an `init()` function for that package.  When the default config
is generated, we can use the `timeout` package to provide the available
timeout keys so that a user knows that they can configure.

These show up in the config as follows:

```toml
[timeouts]
  "io.containerd.timeout.shim.cleanup" = 5
  "io.containerd.timeout.shim.load" = 5
  "io.containerd.timeout.shim.shutdown" = 3
  "io.containerd.timeout.task.state" = 2

```

Timeouts in the config are specified in seconds.

Timeouts are very hard to get right and giving this power to the user to
configure things is a huge improvement.  Machines can be faster and
slower and depending on the CPU or load of the machine, a timeout may
need to be adjusted.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2019-08-13 17:36:32 +00:00
Lantao Liu
8021850e91 Merge pull request #1233 from AkihiroSuda/allow-ca-without-client-certs
allow non-mutual TLS
2019-08-11 17:07:57 -07:00
Lantao Liu
fd6c732cd7 Merge pull request #1232 from Random-Liu/avoid-schema1-roundtrip
Remove extra roundtrip for checking schema1.
2019-08-10 10:25:46 -07:00
Akihiro Suda
28e492fce0 allow non-mutual TLS
Previously, client keypair had needed to be specified even when unused.

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2019-08-10 21:48:03 +09:00
Lantao Liu
d64fa3b6b8 Remove extra roundtrip for checking schema1.
Signed-off-by: Lantao Liu <lantaol@google.com>
2019-08-09 18:47:40 -07:00
Lantao Liu
005f9f7378 Consider endpoint path when checking default host.
Signed-off-by: Lantao Liu <lantaol@google.com>
2019-08-09 18:22:08 -07:00
Lantao Liu
2fd69f0b78 Move config validation into pkg/config and add unit test.
Signed-off-by: Lantao Liu <lantaol@google.com>
2019-08-09 14:39:30 -07:00
Lantao Liu
53e94c6753 Use containerd registry mirror library.
Signed-off-by: Lantao Liu <lantaol@google.com>
2019-08-09 14:39:30 -07: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
Alex Price
3353ab76d9 Add flag to overload default privileged host device behaviour
This commit adds a flag to the runtime config that allows overloading of the default
privileged behaviour. When the flag is enabled on a runtime, host devices won't
be appended to the runtime spec if the container is run as privileged.

By default the flag is false to maintain the current behaviour of privileged.

Fixes #1213

Signed-off-by: Alex Price <aprice@atlassian.com>
2019-08-08 12:16:42 +10:00
Lantao Liu
95bd02d28f Merge pull request #1200 from jterry75/image_user
Assign ImageSpec User if SecurityContext is not set
2019-08-07 13:50:08 -07:00
Lantao Liu
8ea0cc90aa Merge pull request #1221 from jterry75/log_g
Switch to containerd/log package
2019-08-07 13:49:33 -07:00
Justin Terry (VM)
bc2cff625b Assign ImageSpec User if SecurityContext is not set
By default the SecurityContext for Container activation can contain a Username
UID, GID. The order of precedences is username, UID, GID. If none of these
options are specified as a last resort attempt to set the ImageSpec username.

Signed-off-by: Justin Terry (VM) <juterry@microsoft.com>
2019-08-07 12:20:52 -07:00
Justin Terry (VM)
193918b702 Switch to containerd/log package
Moves to the containerd/log package over logrus directly. This benefits the
traces because if using any log context such as OpenCensus on the entry gRPC
API all traces for that gRPC method will now contain the appropriate TraceID,
SpanID for easy correlation.

Signed-off-by: Justin Terry (VM) <juterry@microsoft.com>
2019-08-07 12:18:18 -07:00
Lantao Liu
eae5fc360f Infer systemd cgroup based on path suffix.
Signed-off-by: Lantao Liu <lantaol@google.com>
2019-08-06 11:00:51 -07:00
Lantao Liu
871a8b89c8 Do not deprecate no_pivot yet.
Signed-off-by: Lantao Liu <lantaol@google.com>
2019-08-05 15:12:50 -07:00
Lantao Liu
986d04aec1 Add test for disable_proc_mount.
Signed-off-by: Lantao Liu <lantaol@google.com>
2019-08-02 11:22:34 -07:00
Phil Estes
f0821348b4 Merge pull request #3475 from stefanberger/gpg2-passphrase-via-file
ECI: gpg: Pass the passphrase to the gpg2 tool using a pipe
2019-08-02 13:59:17 -04:00
Lantao Liu
b74653b821 Print warning message for deprecated options.
Signed-off-by: Lantao Liu <lantaol@google.com>
2019-08-02 01:10:11 -07:00
Lantao Liu
f636fb0519 Merge pull request #1215 from Random-Liu/update-kubernetes
Update kubernetes
2019-08-01 10:28:25 -07:00
Lantao Liu
ba8788c6b9 Update kubernetes dependency to 1.15.0.
Signed-off-by: Lantao Liu <lantaol@google.com>
2019-07-31 23:52:03 -07:00
Lantao Liu
467f9e0e8a Fix proc mount support.
Signed-off-by: Lantao Liu <lantaol@google.com>
2019-07-31 17:11:15 -07:00
Stefan Berger
5cf79913e4 gpg: Use a Pipe() rather than a file
Use a Pipe() rather than a file to pass the passphrase to the command
line tool. Pass the file descriptor to read the passphrase from as fd '3'.

Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2019-07-31 16:07:25 -04:00
Stefan Berger
6a25128791 gpg: Pass the passphrase to the gpg2 tool using a file
Rather than passing the passphrase via command line write it into
a temp. file and pass the name of the file using passphrase-file option.

Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2019-07-31 16:07:25 -04:00
Kevin Parsons
b16e7c5de1 Update pkg/ttrpcutil with improved pipe dial logic
Signed-off-by: Kevin Parsons <kevpar@microsoft.com>
2019-07-30 18:46:36 -07:00
Mike Brown
b23e2cf9d1 Merge pull request #1212 from mrIncompetent/return-annotations-bandwith-error
Return actual error when fetching the bandwidth info from annotation fails
2019-07-29 13:39:51 -05:00
Henrik Schmidt
9aec38164d Return actual error when fetching the bandwidth info from annotation fails
Signed-off-by: mrIncompetent <henrik@henrik-schmidt.de>
2019-07-28 09:47:31 +02:00
Lantao Liu
c78caf902d Add max concurrent downloads support.
Signed-off-by: Lantao Liu <lantaol@google.com>
2019-07-26 18:15:17 -07:00
Lantao Liu
d3cacff8e1 Move context cancel into defer.
Signed-off-by: Lantao Liu <lantaol@google.com>
2019-07-25 15:00:43 -07:00
Lantao Liu
74d2b6947c Merge pull request #1152 from jterry75/deadline_exceeded
Return gRPC codes.DeadlineExceeded for all timeout operations
2019-07-25 14:58:29 -07:00
Mike Brown
d2986eb5aa Merge pull request #1187 from alculquicondor/feature/tcp
Add option to register on TCP server
2019-07-25 16:36:05 -05:00
Aldo Culquicondor
4b43303203 Add option to register on TCP server
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2019-07-25 09:42:49 -04:00
Brandon Lum
3d1fa69694 Implemented constructors for both encryption and decryption
Signed-off-by: Brandon Lum <lumjjb@gmail.com>
2019-07-24 22:19:39 -04:00
Brandon Lum
05a2b63e84 Create CryptoConfig constructors in place of dcparameters
Signed-off-by: Brandon Lum <lumjjb@gmail.com>
2019-07-24 21:51:47 -04:00
Lantao Liu
fe0cb22026 Do not cache image handler.
Signed-off-by: Lantao Liu <lantaol@google.com>
2019-07-24 15:38:18 -07:00
Stefan Berger
364de4c35d Wrap creation of CryptoConfig in constructors
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2019-07-23 19:53:23 -04:00
Derek McGowan
dde436e65b Crypto library movement and changes to content helper interfaces
Signed-off-by: Derek McGowan <derek@mcgstyle.net>
2019-07-17 15:21:29 -04:00
Justin Terry (VM)
7b0c78bacd ExecSync should block unless client context is canceled
A call to ExecSync should only return if the client context was canceled or
exceeded. The Timeout parameter to ExecSyncRequest is now used to send SIGKILL
if the exec'd process does not exit within Timeout but all paths wait for the
exec to exit.

Signed-off-by: Justin Terry (VM) <juterry@microsoft.com>
2019-07-16 09:47:55 -07:00
Justin Terry (VM)
71cecedc44 StopContainer should block unless client context is canceled
A call to StopContainer should only return if the client context is canceled or
its deadline was exceeded. The Timeout parameter on StopContainerRequest is now
used as the time AFTER sending the stop signal before the SIGKILL is delivered.
The call will remain until the container has exited or the client context has
finished.

Signed-off-by: Justin Terry (VM) <juterry@microsoft.com>
2019-07-16 09:44:23 -07:00
Justin Terry (VM)
d7c3ecd0fb RunPodSandbox should block unless client context is canceled
A call to RunPodSandbox should only return timeout if the operation has timed
out because the clients context deadline was exceeded. On client cancelation
it should return gRPC Canceled otherwise it should block until the sandbox has
exited.

Signed-off-by: Justin Terry (VM) <juterry@microsoft.com>
2019-07-16 09:35:56 -07:00
Maksym Pavlenko
ef7f46eb7b Fix linter errors
Signed-off-by: Maksym Pavlenko <makpav@amazon.com>
2019-07-14 20:49:40 -07:00
Michael Crosby
6601b406b7 Refactor runtime code for code sharing
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2019-07-08 11:47:53 -04:00
Justin Terry (VM)
cfeb2fed81 Return gRPC errors from instrumetedService
Signed-off-by: Justin Terry (VM) <juterry@microsoft.com>
2019-06-19 10:11:18 -07:00
Lantao Liu
bb020275cb Merge pull request #1170 from Random-Liu/remove-ctr-cri-load
Remove ctr cri load
2019-06-12 14:41:49 -07:00
Lantao Liu
4a417fb083 Merge pull request #1171 from Random-Liu/add-http-proxy-support
Fix http proxy ENV when TLS is enabled.
2019-06-12 14:40:58 -07:00