mirror of https://github.com/docker/cli.git
vendor: opencontainers/runc v1.0.0-rc92
full diff: https://github.com/opencontainers/runc/compare/v1.0.0-rc10...v1.0.0-rc92 Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
parent
dbe2f594ed
commit
5468092784
|
@ -54,7 +54,7 @@ github.com/modern-go/reflect2 4b7aa43c6742a2c18fdef89dd197
|
||||||
github.com/morikuni/aec 39771216ff4c63d11f5e604076f9c45e8be1067b # v1.0.0
|
github.com/morikuni/aec 39771216ff4c63d11f5e604076f9c45e8be1067b # v1.0.0
|
||||||
github.com/opencontainers/go-digest 279bed98673dd5bef374d3b6e4b09e2af76183bf # v1.0.0-rc1
|
github.com/opencontainers/go-digest 279bed98673dd5bef374d3b6e4b09e2af76183bf # v1.0.0-rc1
|
||||||
github.com/opencontainers/image-spec d60099175f88c47cd379c4738d158884749ed235 # v1.0.1
|
github.com/opencontainers/image-spec d60099175f88c47cd379c4738d158884749ed235 # v1.0.1
|
||||||
github.com/opencontainers/runc dc9208a3303feef5b3839f4323d9beb36df0a9dd # v1.0.0-rc10
|
github.com/opencontainers/runc ff819c7e9184c13b7c2607fe6c30ae19403a7aff # v1.0.0-rc92
|
||||||
github.com/opentracing/opentracing-go 1361b9cd60be79c4c3a7fa9841b3c132e40066a7
|
github.com/opentracing/opentracing-go 1361b9cd60be79c4c3a7fa9841b3c132e40066a7
|
||||||
github.com/pkg/errors 614d223910a179a466c1767a985424175c39b465 # v0.9.1
|
github.com/pkg/errors 614d223910a179a466c1767a985424175c39b465 # v0.9.1
|
||||||
github.com/prometheus/client_golang c5b7fccd204277076155f10851dad72b76a49317 # v0.8.0
|
github.com/prometheus/client_golang c5b7fccd204277076155f10851dad72b76a49317 # v0.8.0
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
[![Build Status](https://travis-ci.org/opencontainers/runc.svg?branch=master)](https://travis-ci.org/opencontainers/runc)
|
[![Build Status](https://travis-ci.org/opencontainers/runc.svg?branch=master)](https://travis-ci.org/opencontainers/runc)
|
||||||
[![Go Report Card](https://goreportcard.com/badge/github.com/opencontainers/runc)](https://goreportcard.com/report/github.com/opencontainers/runc)
|
[![Go Report Card](https://goreportcard.com/badge/github.com/opencontainers/runc)](https://goreportcard.com/report/github.com/opencontainers/runc)
|
||||||
[![GoDoc](https://godoc.org/github.com/opencontainers/runc?status.svg)](https://godoc.org/github.com/opencontainers/runc)
|
[![GoDoc](https://godoc.org/github.com/opencontainers/runc?status.svg)](https://godoc.org/github.com/opencontainers/runc)
|
||||||
|
[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/588/badge)](https://bestpractices.coreinfrastructure.org/projects/588)
|
||||||
|
|
||||||
## Introduction
|
## Introduction
|
||||||
|
|
||||||
|
@ -18,22 +19,23 @@ You can find official releases of `runc` on the [release](https://github.com/ope
|
||||||
|
|
||||||
Currently, the following features are not considered to be production-ready:
|
Currently, the following features are not considered to be production-ready:
|
||||||
|
|
||||||
* Support for cgroup v2
|
* [Support for cgroup v2](./docs/cgroup-v2.md)
|
||||||
|
|
||||||
## Security
|
## Security
|
||||||
|
|
||||||
The reporting process and disclosure communications are outlined in [/org/security](https://github.com/opencontainers/org/blob/master/security/).
|
The reporting process and disclosure communications are outlined [here](https://github.com/opencontainers/org/blob/master/SECURITY.md).
|
||||||
|
|
||||||
|
### Security Audit
|
||||||
|
A third party security audit was performed by Cure53, you can see the full report [here](https://github.com/opencontainers/runc/blob/master/docs/Security-Audit.pdf).
|
||||||
|
|
||||||
## Building
|
## Building
|
||||||
|
|
||||||
`runc` currently supports the Linux platform with various architecture support.
|
`runc` currently supports the Linux platform with various architecture support.
|
||||||
It must be built with Go version 1.6 or higher in order for some features to function properly.
|
It must be built with Go version 1.13 or higher.
|
||||||
|
|
||||||
In order to enable seccomp support you will need to install `libseccomp` on your platform.
|
In order to enable seccomp support you will need to install `libseccomp` on your platform.
|
||||||
> e.g. `libseccomp-devel` for CentOS, or `libseccomp-dev` for Ubuntu
|
> e.g. `libseccomp-devel` for CentOS, or `libseccomp-dev` for Ubuntu
|
||||||
|
|
||||||
Otherwise, if you do not want to build `runc` with seccomp support you can add `BUILDTAGS=""` when running make.
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# create a 'github.com/opencontainers' in your GOPATH/src
|
# create a 'github.com/opencontainers' in your GOPATH/src
|
||||||
cd github.com/opencontainers
|
cd github.com/opencontainers
|
||||||
|
@ -58,20 +60,22 @@ sudo make install
|
||||||
|
|
||||||
#### Build Tags
|
#### Build Tags
|
||||||
|
|
||||||
`runc` supports optional build tags for compiling support of various features.
|
`runc` supports optional build tags for compiling support of various features,
|
||||||
To add build tags to the make option the `BUILDTAGS` variable must be set.
|
with some of them enabled by default (see `BUILDTAGS` in top-level `Makefile`).
|
||||||
|
|
||||||
|
To change build tags from the default, set the `BUILDTAGS` variable for make,
|
||||||
|
e.g.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
make BUILDTAGS='seccomp apparmor'
|
make BUILDTAGS='seccomp apparmor'
|
||||||
```
|
```
|
||||||
|
|
||||||
| Build Tag | Feature | Dependency |
|
| Build Tag | Feature | Enabled by default | Dependency |
|
||||||
|-----------|------------------------------------|-------------|
|
|-----------|------------------------------------|--------------------|------------|
|
||||||
| seccomp | Syscall filtering | libseccomp |
|
| seccomp | Syscall filtering | yes | libseccomp |
|
||||||
| selinux | selinux process and mount labeling | <none> |
|
| selinux | selinux process and mount labeling | yes | <none> |
|
||||||
| apparmor | apparmor profile support | <none> |
|
| apparmor | apparmor profile support | yes | <none> |
|
||||||
| ambient | ambient capability support | kernel 4.3 |
|
| nokmem | disable kernel memory accounting | no | <none> |
|
||||||
| nokmem | disable kernel memory account | <none> |
|
|
||||||
|
|
||||||
|
|
||||||
### Running the test suite
|
### Running the test suite
|
||||||
|
@ -97,17 +101,30 @@ You can run a specific integration test by setting the `TESTPATH` variable.
|
||||||
# make test TESTPATH="/checkpoint.bats"
|
# make test TESTPATH="/checkpoint.bats"
|
||||||
```
|
```
|
||||||
|
|
||||||
You can run a test in your proxy environment by setting `DOCKER_BUILD_PROXY` and `DOCKER_RUN_PROXY` variables.
|
You can run a specific rootless integration test by setting the `ROOTLESS_TESTPATH` variable.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# make test DOCKER_BUILD_PROXY="--build-arg HTTP_PROXY=http://yourproxy/" DOCKER_RUN_PROXY="-e HTTP_PROXY=http://yourproxy/"
|
# make test ROOTLESS_TESTPATH="/checkpoint.bats"
|
||||||
|
```
|
||||||
|
|
||||||
|
You can run a test using your container engine's flags by setting `CONTAINER_ENGINE_BUILD_FLAGS` and `CONTAINER_ENGINE_RUN_FLAGS` variables.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# make test CONTAINER_ENGINE_BUILD_FLAGS="--build-arg http_proxy=http://yourproxy/" CONTAINER_ENGINE_RUN_FLAGS="-e http_proxy=http://yourproxy/"
|
||||||
```
|
```
|
||||||
|
|
||||||
### Dependencies Management
|
### Dependencies Management
|
||||||
|
|
||||||
`runc` uses [vndr](https://github.com/LK4D4/vndr) for dependencies management.
|
`runc` uses [Go Modules](https://github.com/golang/go/wiki/Modules) for dependencies management.
|
||||||
Please refer to [vndr](https://github.com/LK4D4/vndr) for how to add or update
|
Please refer to [Go Modules](https://github.com/golang/go/wiki/Modules) for how to add or update
|
||||||
new dependencies.
|
new dependencies. When updating dependencies, be sure that you are running Go `1.14` or newer.
|
||||||
|
|
||||||
|
```
|
||||||
|
# Update vendored dependencies
|
||||||
|
make vendor
|
||||||
|
# Verify all dependencies
|
||||||
|
make verify-dependencies
|
||||||
|
```
|
||||||
|
|
||||||
## Using runc
|
## Using runc
|
||||||
|
|
||||||
|
@ -275,6 +292,9 @@ PIDFile=/run/mycontainerid.pid
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### cgroup v2
|
||||||
|
See [`./docs/cgroup-v2.md`](./docs/cgroup-v2.md).
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
The code and docs are released under the [Apache 2.0 license](LICENSE).
|
The code and docs are released under the [Apache 2.0 license](LICENSE).
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
module github.com/opencontainers/runc
|
||||||
|
|
||||||
|
go 1.14
|
||||||
|
|
||||||
|
require (
|
||||||
|
github.com/checkpoint-restore/go-criu/v4 v4.1.0
|
||||||
|
github.com/cilium/ebpf v0.0.0-20200702112145-1c8d4c9ef775
|
||||||
|
github.com/containerd/console v1.0.0
|
||||||
|
github.com/coreos/go-systemd/v22 v22.1.0
|
||||||
|
github.com/cyphar/filepath-securejoin v0.2.2
|
||||||
|
github.com/docker/go-units v0.4.0
|
||||||
|
github.com/godbus/dbus/v5 v5.0.3
|
||||||
|
github.com/golang/protobuf v1.4.2
|
||||||
|
github.com/moby/sys/mountinfo v0.1.3
|
||||||
|
github.com/mrunalp/fileutils v0.0.0-20200520151820-abd8a0e76976
|
||||||
|
github.com/opencontainers/runtime-spec v1.0.3-0.20200728170252-4d89ac9fbff6
|
||||||
|
github.com/opencontainers/selinux v1.6.0
|
||||||
|
github.com/pkg/errors v0.9.1
|
||||||
|
github.com/seccomp/libseccomp-golang v0.9.1
|
||||||
|
github.com/sirupsen/logrus v1.6.0
|
||||||
|
github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2
|
||||||
|
// NOTE: urfave/cli must be <= v1.22.1 due to a regression: https://github.com/urfave/cli/issues/1092
|
||||||
|
github.com/urfave/cli v1.22.1
|
||||||
|
github.com/vishvananda/netlink v1.1.0
|
||||||
|
golang.org/x/sys v0.0.0-20200728102440-3e129f6d46b1
|
||||||
|
)
|
|
@ -155,8 +155,7 @@ config := &configs.Config{
|
||||||
Parent: "system",
|
Parent: "system",
|
||||||
Resources: &configs.Resources{
|
Resources: &configs.Resources{
|
||||||
MemorySwappiness: nil,
|
MemorySwappiness: nil,
|
||||||
AllowAllDevices: nil,
|
Devices: specconv.AllowedDevices,
|
||||||
AllowedDevices: configs.DefaultAllowedDevices,
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
MaskPaths: []string{
|
MaskPaths: []string{
|
||||||
|
@ -166,7 +165,7 @@ config := &configs.Config{
|
||||||
ReadonlyPaths: []string{
|
ReadonlyPaths: []string{
|
||||||
"/proc/sys", "/proc/sysrq-trigger", "/proc/irq", "/proc/bus",
|
"/proc/sys", "/proc/sysrq-trigger", "/proc/irq", "/proc/bus",
|
||||||
},
|
},
|
||||||
Devices: configs.DefaultAutoCreatedDevices,
|
Devices: specconv.AllowedDevices,
|
||||||
Hostname: "testing",
|
Hostname: "testing",
|
||||||
Mounts: []*configs.Mount{
|
Mounts: []*configs.Mount{
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,7 +1,14 @@
|
||||||
|
// SPDX-License-Identifier: Apache-2.0 OR LGPL-2.1-or-later
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2019 Aleksa Sarai <cyphar@cyphar.com>
|
* Copyright (C) 2019 Aleksa Sarai <cyphar@cyphar.com>
|
||||||
* Copyright (C) 2019 SUSE LLC
|
* Copyright (C) 2019 SUSE LLC
|
||||||
*
|
*
|
||||||
|
* This work is dual licensed under the following licenses. You may use,
|
||||||
|
* redistribute, and/or modify the work under the conditions of either (or
|
||||||
|
* both) licenses.
|
||||||
|
*
|
||||||
|
* === Apache-2.0 ===
|
||||||
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
* You may obtain a copy of the License at
|
* You may obtain a copy of the License at
|
||||||
|
@ -13,6 +20,23 @@
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
|
*
|
||||||
|
* === LGPL-2.1-or-later ===
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
* License as published by the Free Software Foundation; either
|
||||||
|
* version 2.1 of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library. If not, see
|
||||||
|
* <https://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define _GNU_SOURCE
|
#define _GNU_SOURCE
|
||||||
|
@ -95,8 +119,10 @@ static int is_self_cloned(void)
|
||||||
struct statfs fsbuf = {};
|
struct statfs fsbuf = {};
|
||||||
|
|
||||||
fd = open("/proc/self/exe", O_RDONLY|O_CLOEXEC);
|
fd = open("/proc/self/exe", O_RDONLY|O_CLOEXEC);
|
||||||
if (fd < 0)
|
if (fd < 0) {
|
||||||
|
fprintf(stderr, "you have no read access to runc binary file\n");
|
||||||
return -ENOTRECOVERABLE;
|
return -ENOTRECOVERABLE;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Is the binary a fully-sealed memfd? We don't need CLONED_BINARY_ENV for
|
* Is the binary a fully-sealed memfd? We don't need CLONED_BINARY_ENV for
|
||||||
|
|
|
@ -714,12 +714,12 @@ void nsexec(void)
|
||||||
* ready, so we can receive all possible error codes
|
* ready, so we can receive all possible error codes
|
||||||
* generated by children.
|
* generated by children.
|
||||||
*/
|
*/
|
||||||
while (!ready) {
|
|
||||||
enum sync_t s;
|
|
||||||
|
|
||||||
syncfd = sync_child_pipe[1];
|
syncfd = sync_child_pipe[1];
|
||||||
close(sync_child_pipe[0]);
|
close(sync_child_pipe[0]);
|
||||||
|
|
||||||
|
while (!ready) {
|
||||||
|
enum sync_t s;
|
||||||
|
|
||||||
if (read(syncfd, &s, sizeof(s)) != sizeof(s))
|
if (read(syncfd, &s, sizeof(s)) != sizeof(s))
|
||||||
bail("failed to sync with child: next state");
|
bail("failed to sync with child: next state");
|
||||||
|
|
||||||
|
@ -789,13 +789,13 @@ void nsexec(void)
|
||||||
|
|
||||||
/* Now sync with grandchild. */
|
/* Now sync with grandchild. */
|
||||||
|
|
||||||
|
syncfd = sync_grandchild_pipe[1];
|
||||||
|
close(sync_grandchild_pipe[0]);
|
||||||
|
|
||||||
ready = false;
|
ready = false;
|
||||||
while (!ready) {
|
while (!ready) {
|
||||||
enum sync_t s;
|
enum sync_t s;
|
||||||
|
|
||||||
syncfd = sync_grandchild_pipe[1];
|
|
||||||
close(sync_grandchild_pipe[0]);
|
|
||||||
|
|
||||||
s = SYNC_GRANDCHILD;
|
s = SYNC_GRANDCHILD;
|
||||||
if (write(syncfd, &s, sizeof(s)) != sizeof(s)) {
|
if (write(syncfd, &s, sizeof(s)) != sizeof(s)) {
|
||||||
kill(child, SIGKILL);
|
kill(child, SIGKILL);
|
||||||
|
|
|
@ -60,7 +60,7 @@ type Group struct {
|
||||||
|
|
||||||
// groupFromOS converts an os/user.(*Group) to local Group
|
// groupFromOS converts an os/user.(*Group) to local Group
|
||||||
//
|
//
|
||||||
// (This does not include Pass, Shell or Gecos)
|
// (This does not include Pass or List)
|
||||||
func groupFromOS(g *user.Group) (Group, error) {
|
func groupFromOS(g *user.Group) (Group, error) {
|
||||||
newGroup := Group{
|
newGroup := Group{
|
||||||
Name: g.Name,
|
Name: g.Name,
|
||||||
|
@ -162,10 +162,6 @@ func ParsePasswdFilter(r io.Reader, filter func(User) bool) ([]User, error) {
|
||||||
)
|
)
|
||||||
|
|
||||||
for s.Scan() {
|
for s.Scan() {
|
||||||
if err := s.Err(); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
line := strings.TrimSpace(s.Text())
|
line := strings.TrimSpace(s.Text())
|
||||||
if line == "" {
|
if line == "" {
|
||||||
continue
|
continue
|
||||||
|
@ -183,6 +179,9 @@ func ParsePasswdFilter(r io.Reader, filter func(User) bool) ([]User, error) {
|
||||||
out = append(out, p)
|
out = append(out, p)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if err := s.Err(); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
return out, nil
|
return out, nil
|
||||||
}
|
}
|
||||||
|
@ -221,10 +220,6 @@ func ParseGroupFilter(r io.Reader, filter func(Group) bool) ([]Group, error) {
|
||||||
)
|
)
|
||||||
|
|
||||||
for s.Scan() {
|
for s.Scan() {
|
||||||
if err := s.Err(); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
text := s.Text()
|
text := s.Text()
|
||||||
if text == "" {
|
if text == "" {
|
||||||
continue
|
continue
|
||||||
|
@ -242,6 +237,9 @@ func ParseGroupFilter(r io.Reader, filter func(Group) bool) ([]Group, error) {
|
||||||
out = append(out, p)
|
out = append(out, p)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if err := s.Err(); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
return out, nil
|
return out, nil
|
||||||
}
|
}
|
||||||
|
@ -532,10 +530,6 @@ func ParseSubIDFilter(r io.Reader, filter func(SubID) bool) ([]SubID, error) {
|
||||||
)
|
)
|
||||||
|
|
||||||
for s.Scan() {
|
for s.Scan() {
|
||||||
if err := s.Err(); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
line := strings.TrimSpace(s.Text())
|
line := strings.TrimSpace(s.Text())
|
||||||
if line == "" {
|
if line == "" {
|
||||||
continue
|
continue
|
||||||
|
@ -549,6 +543,9 @@ func ParseSubIDFilter(r io.Reader, filter func(SubID) bool) ([]SubID, error) {
|
||||||
out = append(out, p)
|
out = append(out, p)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if err := s.Err(); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
return out, nil
|
return out, nil
|
||||||
}
|
}
|
||||||
|
@ -586,10 +583,6 @@ func ParseIDMapFilter(r io.Reader, filter func(IDMap) bool) ([]IDMap, error) {
|
||||||
)
|
)
|
||||||
|
|
||||||
for s.Scan() {
|
for s.Scan() {
|
||||||
if err := s.Err(); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
line := strings.TrimSpace(s.Text())
|
line := strings.TrimSpace(s.Text())
|
||||||
if line == "" {
|
if line == "" {
|
||||||
continue
|
continue
|
||||||
|
@ -603,6 +596,9 @@ func ParseIDMapFilter(r io.Reader, filter func(IDMap) bool) ([]IDMap, error) {
|
||||||
out = append(out, p)
|
out = append(out, p)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if err := s.Err(); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
return out, nil
|
return out, nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,31 +0,0 @@
|
||||||
# OCI runtime-spec. When updating this, make sure you use a version tag rather
|
|
||||||
# than a commit ID so it's much more obvious what version of the spec we are
|
|
||||||
# using.
|
|
||||||
github.com/opencontainers/runtime-spec 29686dbc5559d93fb1ef402eeda3e35c38d75af4 # v1.0.1-59-g29686db
|
|
||||||
|
|
||||||
# Core libcontainer functionality.
|
|
||||||
github.com/checkpoint-restore/go-criu 17b0214f6c48980c45dc47ecb0cfd6d9e02df723 # v3.11
|
|
||||||
github.com/mrunalp/fileutils 7d4729fb36185a7c1719923406c9d40e54fb93c7
|
|
||||||
github.com/opencontainers/selinux 5215b1806f52b1fcc2070a8826c542c9d33cd3cf # v1.3.0 (+ CVE-2019-16884)
|
|
||||||
github.com/seccomp/libseccomp-golang 689e3c1541a84461afc49c1c87352a6cedf72e9c # v0.9.1
|
|
||||||
github.com/sirupsen/logrus 8bdbc7bcc01dcbb8ec23dc8a28e332258d25251f # v1.4.1
|
|
||||||
github.com/syndtr/gocapability d98352740cb2c55f81556b63d4a1ec64c5a319c2
|
|
||||||
github.com/vishvananda/netlink 1e2e08e8a2dcdacaae3f14ac44c5cfa31361f270
|
|
||||||
|
|
||||||
# systemd integration.
|
|
||||||
github.com/coreos/go-systemd 95778dfbb74eb7e4dbaf43bf7d71809650ef8076 # v19
|
|
||||||
github.com/godbus/dbus 2ff6f7ffd60f0f2410b3105864bdd12c7894f844 # v5.0.1
|
|
||||||
github.com/golang/protobuf 925541529c1fa6821df4e44ce2723319eb2be768 # v1.0.0
|
|
||||||
|
|
||||||
# Command-line interface.
|
|
||||||
github.com/cyphar/filepath-securejoin a261ee33d7a517f054effbf451841abaafe3e0fd # v0.2.2
|
|
||||||
github.com/docker/go-units 47565b4f722fb6ceae66b95f853feed578a4a51c # v0.3.3
|
|
||||||
github.com/urfave/cli cfb38830724cc34fedffe9a2a29fb54fa9169cd1 # v1.20.0
|
|
||||||
golang.org/x/sys 9eafafc0a87e0fd0aeeba439a4573537970c44c7 https://github.com/golang/sys
|
|
||||||
|
|
||||||
# console dependencies
|
|
||||||
github.com/containerd/console 0650fd9eeb50bab4fc99dceb9f2e14cf58f36e7f
|
|
||||||
github.com/pkg/errors ba968bfe8b2f7e042a574c888954fccecfa385b4 # v0.8.1
|
|
||||||
|
|
||||||
# ebpf dependencies
|
|
||||||
github.com/cilium/ebpf 95b36a581eed7b0f127306ed1d16cc0ddc06cf67
|
|
Loading…
Reference in New Issue