diff --git a/agent/go.mod b/agent/go.mod index 57ac4c8690c..dbbbb050113 100644 --- a/agent/go.mod +++ b/agent/go.mod @@ -13,7 +13,7 @@ require ( github.com/deniswernert/udev v0.0.0-20170418162847-a12666f7b5a1 github.com/docker/docker v20.10.24+incompatible github.com/docker/go-connections v0.4.0 - github.com/docker/go-units v0.4.0 + github.com/docker/go-units v0.5.0 github.com/fsnotify/fsnotify v1.6.0 github.com/golang/mock v1.4.1 github.com/gorilla/mux v1.8.0 diff --git a/agent/go.sum b/agent/go.sum index 80009465128..19fe10ee422 100644 --- a/agent/go.sum +++ b/agent/go.sum @@ -91,8 +91,9 @@ github.com/docker/docker v20.10.24+incompatible h1:Ugvxm7a8+Gz6vqQYQQ2W7GYq5EUPa github.com/docker/docker v20.10.24+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= -github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw= github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= +github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= diff --git a/agent/vendor/github.com/aws/amazon-ecs-agent/ecs-agent/tcs/handler/handler.go b/agent/vendor/github.com/aws/amazon-ecs-agent/ecs-agent/tcs/handler/handler.go index 7abfb2700c7..529c8d791b8 100644 --- a/agent/vendor/github.com/aws/amazon-ecs-agent/ecs-agent/tcs/handler/handler.go +++ b/agent/vendor/github.com/aws/amazon-ecs-agent/ecs-agent/tcs/handler/handler.go @@ -54,7 +54,7 @@ type telemetrySession struct { agentHash string containerRuntimeVersion string endpoint string - disableContainerHealthMetrics bool + disableMetrics bool credentialsProvider *credentials.Credentials cfg *wsclient.WSClientMinAgentConfig deregisterInstanceEventStream *eventstream.EventStream @@ -75,7 +75,7 @@ func NewTelemetrySession( agentHash string, containerRuntimeVersion string, endpoint string, - disableContainerHealthMetrics bool, + disableMetrics bool, credentialsProvider *credentials.Credentials, cfg *wsclient.WSClientMinAgentConfig, deregisterInstanceEventStream *eventstream.EventStream, @@ -95,7 +95,7 @@ func NewTelemetrySession( agentHash: agentHash, containerRuntimeVersion: containerRuntimeVersion, endpoint: endpoint, - disableContainerHealthMetrics: disableContainerHealthMetrics, + disableMetrics: disableMetrics, credentialsProvider: credentialsProvider, cfg: cfg, deregisterInstanceEventStream: deregisterInstanceEventStream, @@ -130,11 +130,6 @@ func (session *telemetrySession) Start(ctx context.Context) error { // StartTelemetrySession creates a session with the backend and handles requests. func (session *telemetrySession) StartTelemetrySession(ctx context.Context, endpoint string) error { - if session.disableContainerHealthMetrics { - logger.Warn("Metrics were disabled, not starting the telemetry session") - return nil - } - wsRWTimeout := 2*session.heartbeatTimeout + session.heartbeatJitterMax var containerRuntime string @@ -144,7 +139,7 @@ func (session *telemetrySession) StartTelemetrySession(ctx context.Context, endp tcsEndpointUrl := formatURL(endpoint, session.cluster, session.containerInstanceArn, session.agentVersion, session.agentHash, containerRuntime, session.containerRuntimeVersion) - client := tcsclient.New(tcsEndpointUrl, session.cfg, session.doctor, session.disableContainerHealthMetrics, tcsclient.DefaultContainerMetricsPublishInterval, + client := tcsclient.New(tcsEndpointUrl, session.cfg, session.doctor, session.disableMetrics, tcsclient.DefaultContainerMetricsPublishInterval, session.credentialsProvider, wsRWTimeout, session.metricsChannel, session.healthChannel) defer client.Close() diff --git a/agent/vendor/github.com/docker/go-units/size.go b/agent/vendor/github.com/docker/go-units/size.go index 85f6ab07155..c245a89513f 100644 --- a/agent/vendor/github.com/docker/go-units/size.go +++ b/agent/vendor/github.com/docker/go-units/size.go @@ -2,7 +2,6 @@ package units import ( "fmt" - "regexp" "strconv" "strings" ) @@ -26,16 +25,17 @@ const ( PiB = 1024 * TiB ) -type unitMap map[string]int64 +type unitMap map[byte]int64 var ( - decimalMap = unitMap{"k": KB, "m": MB, "g": GB, "t": TB, "p": PB} - binaryMap = unitMap{"k": KiB, "m": MiB, "g": GiB, "t": TiB, "p": PiB} - sizeRegex = regexp.MustCompile(`^(\d+(\.\d+)*) ?([kKmMgGtTpP])?[iI]?[bB]?$`) + decimalMap = unitMap{'k': KB, 'm': MB, 'g': GB, 't': TB, 'p': PB} + binaryMap = unitMap{'k': KiB, 'm': MiB, 'g': GiB, 't': TiB, 'p': PiB} ) -var decimapAbbrs = []string{"B", "kB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"} -var binaryAbbrs = []string{"B", "KiB", "MiB", "GiB", "TiB", "PiB", "EiB", "ZiB", "YiB"} +var ( + decimapAbbrs = []string{"B", "kB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"} + binaryAbbrs = []string{"B", "KiB", "MiB", "GiB", "TiB", "PiB", "EiB", "ZiB", "YiB"} +) func getSizeAndUnit(size float64, base float64, _map []string) (float64, string) { i := 0 @@ -89,20 +89,66 @@ func RAMInBytes(size string) (int64, error) { // Parses the human-readable size string into the amount it represents. func parseSize(sizeStr string, uMap unitMap) (int64, error) { - matches := sizeRegex.FindStringSubmatch(sizeStr) - if len(matches) != 4 { + // TODO: rewrite to use strings.Cut if there's a space + // once Go < 1.18 is deprecated. + sep := strings.LastIndexAny(sizeStr, "01234567890. ") + if sep == -1 { + // There should be at least a digit. return -1, fmt.Errorf("invalid size: '%s'", sizeStr) } + var num, sfx string + if sizeStr[sep] != ' ' { + num = sizeStr[:sep+1] + sfx = sizeStr[sep+1:] + } else { + // Omit the space separator. + num = sizeStr[:sep] + sfx = sizeStr[sep+1:] + } - size, err := strconv.ParseFloat(matches[1], 64) + size, err := strconv.ParseFloat(num, 64) if err != nil { return -1, err } + // Backward compatibility: reject negative sizes. + if size < 0 { + return -1, fmt.Errorf("invalid size: '%s'", sizeStr) + } + + if len(sfx) == 0 { + return int64(size), nil + } - unitPrefix := strings.ToLower(matches[3]) - if mul, ok := uMap[unitPrefix]; ok { + // Process the suffix. + + if len(sfx) > 3 { // Too long. + goto badSuffix + } + sfx = strings.ToLower(sfx) + // Trivial case: b suffix. + if sfx[0] == 'b' { + if len(sfx) > 1 { // no extra characters allowed after b. + goto badSuffix + } + return int64(size), nil + } + // A suffix from the map. + if mul, ok := uMap[sfx[0]]; ok { size *= float64(mul) + } else { + goto badSuffix + } + + // The suffix may have extra "b" or "ib" (e.g. KiB or MB). + switch { + case len(sfx) == 2 && sfx[1] != 'b': + goto badSuffix + case len(sfx) == 3 && sfx[1:] != "ib": + goto badSuffix } return int64(size), nil + +badSuffix: + return -1, fmt.Errorf("invalid suffix: '%s'", sfx) } diff --git a/agent/vendor/modules.txt b/agent/vendor/modules.txt index 79dee8990d6..f2786e351fd 100644 --- a/agent/vendor/modules.txt +++ b/agent/vendor/modules.txt @@ -205,7 +205,7 @@ github.com/docker/docker/pkg/system github.com/docker/go-connections/nat github.com/docker/go-connections/sockets github.com/docker/go-connections/tlsconfig -# github.com/docker/go-units v0.4.0 +# github.com/docker/go-units v0.5.0 ## explicit github.com/docker/go-units # github.com/fsnotify/fsnotify v1.6.0 diff --git a/ecs-agent/go.mod b/ecs-agent/go.mod index 5477eafb697..c5d04ad6652 100644 --- a/ecs-agent/go.mod +++ b/ecs-agent/go.mod @@ -6,7 +6,7 @@ require ( github.com/aws/aws-sdk-go v1.36.0 github.com/cihub/seelog v0.0.0-20170130134532-f561c5e57575 github.com/didip/tollbooth v4.0.2+incompatible - github.com/docker/docker v24.0.2+incompatible + github.com/docker/docker v20.10.24+incompatible github.com/golang/mock v1.4.1 github.com/gorilla/mux v1.8.0 github.com/gorilla/websocket v1.5.0 @@ -34,8 +34,8 @@ require ( golang.org/x/mod v0.8.0 // indirect golang.org/x/text v0.8.0 // indirect golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e // indirect + golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect google.golang.org/protobuf v1.23.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - gotest.tools/v3 v3.4.0 // indirect ) diff --git a/ecs-agent/go.sum b/ecs-agent/go.sum index ea1be54e2f8..5bda8519617 100644 --- a/ecs-agent/go.sum +++ b/ecs-agent/go.sum @@ -17,8 +17,8 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/didip/tollbooth v4.0.2+incompatible h1:fVSa33JzSz0hoh2NxpwZtksAzAgd7zjmGO20HCZtF4M= github.com/didip/tollbooth v4.0.2+incompatible/go.mod h1:A9b0665CE6l1KmzpDws2++elm/CsuWBMa5Jv4WY0PEY= -github.com/docker/docker v24.0.2+incompatible h1:eATx+oLz9WdNVkQrr0qjQ8HvRJ4bOOxfzEo8R+dA3cg= -github.com/docker/docker v24.0.2+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v20.10.24+incompatible h1:Ugvxm7a8+Gz6vqQYQQ2W7GYq5EUPaAiuPgIfVyI3dYE= +github.com/docker/docker v20.10.24+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= @@ -114,12 +114,9 @@ github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UV github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.8.0 h1:LUYupSeNrTNCGzR/hVBk2NHZO4hXcVaW1k4Qx7rjPx8= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -128,9 +125,7 @@ golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73r golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.8.0 h1:Zrh2ngAOFYneWTAIAPethzeaQLuHwhuBkuV6ZiRnUaQ= golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= @@ -139,7 +134,6 @@ golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -150,7 +144,6 @@ golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -162,12 +155,8 @@ golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e h1:EHBhcS0mlXEAVwNyO2dLfjTo golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.6.0 h1:BOw41kyTf3PuCW1pVQf8+Cyg8pMlkYB1oo9iJ6D/lKM= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -194,7 +183,5 @@ gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gotest.tools/v3 v3.4.0 h1:ZazjZUfuVeZGLAmlKKuyv3IKP5orXcwtOwDQH6YVr6o= -gotest.tools/v3 v3.4.0/go.mod h1:CtbdzLSsqVhDgMtKsx03ird5YTGB3ar27v0u/yKBW5g= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= diff --git a/ecs-agent/vendor/github.com/docker/docker/AUTHORS b/ecs-agent/vendor/github.com/docker/docker/AUTHORS index b3141819258..dffacff1120 100644 --- a/ecs-agent/vendor/github.com/docker/docker/AUTHORS +++ b/ecs-agent/vendor/github.com/docker/docker/AUTHORS @@ -1,6 +1,5 @@ -# File @generated by hack/generate-authors.sh. DO NOT EDIT. -# This file lists all contributors to the repository. -# See hack/generate-authors.sh to make modifications. +# This file lists all individuals having contributed content to the repository. +# For how it is generated, see `hack/generate-authors.sh`. Aanand Prasad Aaron Davidson @@ -8,17 +7,16 @@ Aaron Feng Aaron Hnatiw Aaron Huslage Aaron L. Xu -Aaron Lehmann +Aaron Lehmann Aaron Welch +Aaron.L.Xu Abel Muiño Abhijeet Kasurde -Abhinandan Prativadi +Abhinandan Prativadi Abhinav Ajgaonkar Abhishek Chanda Abhishek Sharma Abin Shahab -Abirdcfly -Ada Mancini Adam Avilla Adam Dobrawy Adam Eijdenberg @@ -28,8 +26,6 @@ Adam Mills Adam Pointer Adam Singer Adam Walz -Adam Williams -AdamKorcz Addam Hardy Aditi Rajagopal Aditya @@ -55,7 +51,6 @@ Akihiro Suda Akim Demaille Akira Koyasu Akshay Karle -Akshay Moghe Al Tobey alambike Alan Hoyle @@ -63,11 +58,9 @@ Alan Scherger Alan Thompson Albert Callarisa Albert Zhang -Albin Kerouanton -Alec Benson +Albin Kerouanton Alejandro González Hevia Aleksa Sarai -Aleksandr Chebotov Aleksandrs Fadins Alena Prokharchyk Alessandro Boch @@ -79,17 +72,14 @@ Alex Crawford Alex Ellis Alex Gaynor Alex Goodman -Alex Nordlund Alex Olshansky Alex Samorukov -Alex Stockinger Alex Warhawk Alexander Artemenko Alexander Boyd Alexander Larsson Alexander Midlash -Alexander Morozov -Alexander Polakov +Alexander Morozov Alexander Shopov Alexandre Beslic Alexandre Garnier @@ -100,8 +90,7 @@ Alexei Margasov Alexey Guskov Alexey Kotlyarov Alexey Shamrin -Alexis Ries -Alexis Thomas +Alexis THOMAS Alfred Landrum Ali Dehghani Alicia Lauerman @@ -114,7 +103,6 @@ Alvin Deng Alvin Richards amangoel Amen Belayneh -Ameya Gawde Amir Goldstein Amit Bakshi Amit Krishnan @@ -138,7 +126,6 @@ Andreas Köhler Andreas Savvides Andreas Tiefenthaler Andrei Gherzan -Andrei Ushakov Andrei Vagin Andrew C. Bodine Andrew Clay Shafer @@ -148,7 +135,6 @@ Andrew Gerrand Andrew Guenther Andrew He Andrew Hsu -Andrew Kim Andrew Kuklewicz Andrew Macgregor Andrew Macpherson @@ -164,17 +150,15 @@ Andrey Kolomentsev Andrey Petrov Andrey Stolbovsky André Martins +andy Andy Chambers andy diller Andy Goldstein Andy Kipp -Andy Lindeman Andy Rothfusz Andy Smith Andy Wilson -Andy Zhang Anes Hasicic -Angel Velazquez Anil Belur Anil Madhavapeddy Ankit Jain @@ -195,25 +179,20 @@ Antonio Murdaca Antonis Kalipetis Antony Messerli Anuj Bahuguna -Anuj Varma Anusha Ragunathan -Anyu Wang apocas Arash Deshmeh -arcosx ArikaChen -Arko Dasgupta +Arko Dasgupta Arnaud Lefebvre -Arnaud Porterie +Arnaud Porterie Arnaud Rebillout -Artem Khramov Arthur Barr Arthur Gautier Artur Meyster Arun Gupta Asad Saeeduddin Asbjørn Enge -Austin Vazquez averagehuman Avi Das Avi Kivity @@ -221,21 +200,17 @@ Avi Miller Avi Vaid ayoshitake Azat Khuyiyakhmetov -Bao Yonglei Bardia Keyoumarsi Barnaby Gray Barry Allard Bartłomiej Piotrowski Bastiaan Bakker -Bastien Pascard bdevloed -Bearice Ren Ben Bonnefoy Ben Firshman Ben Golub Ben Gould Ben Hall -Ben Langfeld Ben Sargent Ben Severson Ben Toews @@ -243,8 +218,6 @@ Ben Wiklund Benjamin Atkin Benjamin Baker Benjamin Boudreau -Benjamin Böhmke -Benjamin Wang Benjamin Yolken Benny Ng Benoit Chesneau @@ -258,15 +231,12 @@ Bhiraj Butala Bhumika Bayani Bilal Amarni Bill Wang -Billy Ridgway Bily Zhang Bin Liu Bingshen Wang -Bjorn Neergaard Blake Geno Boaz Shuster bobby abbott -Bojun Zhu Boqin Qin Boris Pruessmann Boshi Lian @@ -282,7 +252,6 @@ Brendan Dixon Brent Salisbury Brett Higgins Brett Kochendorfer -Brett Milford Brett Randall Brian (bex) Exelbierd Brian Bland @@ -313,7 +282,6 @@ Byung Kang Caleb Spare Calen Pennington Cameron Boehmer -Cameron Sparr Cameron Spear Campbell Allen Candid Dauth @@ -348,7 +316,6 @@ Charlie Drage Charlie Lewis Chase Bolt ChaYoung You -Chee Hau Lim Chen Chao Chen Chuanliang Chen Hanxiao @@ -358,7 +325,6 @@ Chen Qiu Cheng-mean Liu Chengfei Shang Chengguang Xu -Chenyang Yan chenyuzhu Chetan Birajdar Chewey @@ -373,7 +339,6 @@ Chris Fordham Chris Gavin Chris Gibson Chris Khoo -Chris Kreussling (Flatbush Gardener) Chris McKinnel Chris McKinnel Chris Price @@ -386,7 +351,6 @@ Chris Telfer Chris Wahl Chris Weyl Chris White -Christian Becker Christian Berendt Christian Brauner Christian Böhme @@ -395,7 +359,6 @@ Christian Persson Christian Rotzoll Christian Simon Christian Stefanescu -Christoph Ziebuhr Christophe Mehay Christophe Troestler Christophe Vidal @@ -409,9 +372,7 @@ Christy Norman Chun Chen Ciro S. Costa Clayton Coleman -Clint Armstrong Clinton Kitson -clubby789 Cody Roseborough Coenraad Loubser Colin Dunklau @@ -422,23 +383,19 @@ Colin Walters Collin Guarino Colm Hally companycy -Conor Evans Corbin Coleman Corey Farrell Cory Forsyth -Cory Snider cressie176 +CrimsonGlory Cristian Ariza Cristian Staretu cristiano balducci Cristina Yenyxe Gonzalez Garcia Cruceru Calin-Cristian CUI Wei -cuishuang -Cuong Manh Le Cyprian Gracz Cyril F -Da McGrady Daan van Berkel Daehyeok Mun Dafydd Crosby @@ -456,7 +413,6 @@ Dan Hirsch Dan Keder Dan Levy Dan McPherson -Dan Plamadeala Dan Stine Dan Williams Dani Hodovic @@ -477,7 +433,6 @@ Daniel Mizyrycki Daniel Nephin Daniel Norberg Daniel Nordberg -Daniel P. Berrangé Daniel Robinson Daniel S Daniel Sweet @@ -486,7 +441,6 @@ Daniel Watkins Daniel X Moore Daniel YC Lin Daniel Zhang -Daniele Rondina Danny Berger Danny Milosavljevic Danny Yates @@ -502,7 +456,6 @@ Dave Henderson Dave MacDonald Dave Tucker David Anderson -David Bellotti David Calavera David Chung David Corking @@ -517,11 +470,9 @@ David Lawrence David Lechner David M. Karr David Mackey -David Manouchehri David Mat David Mcanulty David McKay -David O'Rourke David P Hilton David Pelaez David R. Jenni @@ -552,14 +503,14 @@ Dennis Docter Derek Derek Derek Ch -Derek McGowan +Derek McGowan Deric Crago Deshi Xiao +devmeyster Devon Estes Devvyn Murphy Dharmit Shah Dhawal Yogesh Bhanushali -Dhilip Kumars Diego Romero Diego Siqueira Dieter Reuter @@ -571,11 +522,9 @@ Dimitris Rozakis Dimitry Andric Dinesh Subhraveti Ding Fei -dingwei Diogo Monica DiuDiugirl Djibril Koné -Djordje Lukic dkumor Dmitri Logvinenko Dmitri Shuralyov @@ -587,8 +536,6 @@ Dmitry Shyshkin Dmitry Smirnov Dmitry V. Krivenok Dmitry Vorobev -Dmytro Iakovliev -docker-unir[bot] Dolph Mathews Dominic Tubach Dominic Yin @@ -622,9 +569,8 @@ Eivind Uggedal Elan Ruusamäe Elango Sivanandam Elena Morozova -Eli Uriegas +Eli Uriegas Elias Faxö -Elias Koromilas Elias Probst Elijah Zupancic eluck @@ -634,17 +580,14 @@ Emil Hernvall Emily Maier Emily Rose Emir Ozer -Eng Zer Jun Enguerran Eohyung Lee epeterso -er0k Eric Barch Eric Curtin Eric G. Noriega Eric Hanchrow Eric Lee -Eric Mountain Eric Myhre Eric Paris Eric Rafaloff @@ -654,21 +597,17 @@ Eric Soderstrom Eric Yang Eric-Olivier Lamey Erica Windisch -Erich Cordoba Erik Bray Erik Dubbelboer Erik Hollensbe Erik Inge Bolsø Erik Kristensen -Erik Sipsma Erik St. Martin Erik Weathers Erno Hopearuoho Erwin van der Koogh -Espen Suenson Ethan Bell Ethan Mosbaugh -Euan Harris Euan Kemp Eugen Krizo Eugene Yakubovich @@ -718,7 +657,6 @@ Fengtu Wang Ferenc Szabo Fernando Fero Volar -Feroz Salam Ferran Rodenas Filipe Brandenburger Filipe Oliveira @@ -735,7 +673,6 @@ Florin Patan fonglh Foysal Iqbal Francesc Campoy -Francesco Degrassi Francesco Mari Francis Chuang Francisco Carriedo @@ -744,24 +681,18 @@ Frank Groeneveld Frank Herrmann Frank Macreery Frank Rosquin -Frank Yang +frankyang Fred Lifton Frederick F. Kautz IV -Frederico F. de Oliveira Frederik Loeffert Frederik Nordahl Jul Sabroe Freek Kalter Frieder Bluemle -frobnicaty <92033765+frobnicaty@users.noreply.github.com> -Frédéric Dalleau Fu JinLin Félix Baylac-Jacqué Félix Cantournet Gabe Rosenhouse Gabor Nagy -Gabriel Adrian Samfira -Gabriel Goller -Gabriel L. Somlo Gabriel Linder Gabriel Monroy Gabriel Nicolas Avellaneda @@ -776,14 +707,12 @@ Gaurav Singh Gaël PORTAY Genki Takiuchi GennadySpb -Geoff Levand Geoffrey Bachelet Geon Kim George Kontridze George MacRorie George Xie Georgi Hristozov -Georgy Yakovlev Gereon Frey German DZ Gert van Valkenhoef @@ -795,7 +724,6 @@ Gildas Cuisinier Giovan Isa Musthofa gissehel Giuseppe Mazzotta -Giuseppe Scrivano Gleb Fotengauer-Malinovskiy Gleb M Borisov Glyn Normington @@ -818,8 +746,6 @@ Guilhem Lettron Guilherme Salgado Guillaume Dufour Guillaume J. Charmes -Gunadhya S. <6939749+gunadhya@users.noreply.github.com> -Guoqiang QI guoxiuyan Guri Gurjeet Singh @@ -829,13 +755,12 @@ gwx296173 Günter Zöchbauer Haichao Yang haikuoliu -haining.cao Hakan Özler Hamish Hutchings Hannes Ljungberg Hans Kristian Flaatten Hans Rødtang -Hao Shu Wei +Hao Shu Wei Hao Zhang <21521210@zju.edu.cn> Harald Albers Harald Niesche @@ -861,23 +786,21 @@ Hongbin Lu Hongxu Jia Honza Pokorny Hsing-Hui Hsu -Hsing-Yu (David) Chen hsinko <21551195@zju.edu.cn> Hu Keping Hu Tao HuanHuan Ye Huanzhong Zhang Huayi Zhang -Hugo Barrera Hugo Duncan Hugo Marisco <0x6875676f@gmail.com> -Hui Kang Hunter Blanks huqun Huu Nguyen -Hyeongkyu Lee +hyeongkyu.lee Hyzhou Zhy Iago López Galeiras +Ian Babrou Ian Bishop Ian Bull Ian Calvert @@ -894,8 +817,6 @@ Igor Dolzhikov Igor Karpovich Iliana Weller Ilkka Laukkanen -Illia Antypenko -Illo Abdulrahim Ilya Dmitrichenko Ilya Gusev Ilya Khlopotov @@ -926,8 +847,7 @@ Jaivish Kothari Jake Champlin Jake Moshenko Jake Sanders -Jakub Drahos -Jakub Guzik +jakedt James Allen James Carey James Carr @@ -939,15 +859,11 @@ James Lal James Mills James Nesbitt James Nugent -James Sanders James Turnbull James Watkins-Harvey Jamie Hannaford Jamshid Afshar -Jan Breig Jan Chren -Jan Garcia -Jan Götte Jan Keromnes Jan Koprowski Jan Pazdziora @@ -960,6 +876,7 @@ Januar Wayong Jared Biel Jared Hocutt Jaroslaw Zabiello +jaseg Jasmine Hegman Jason A. Donenfeld Jason Divock @@ -974,11 +891,10 @@ Jason Shepherd Jason Smith Jason Sommer Jason Stangroome -Javier Bassi jaxgeller +Jay Jay Jay Kamat -Jay Lim Jean Rouge Jean-Baptiste Barth Jean-Baptiste Dalido @@ -996,14 +912,12 @@ Jeff Minard Jeff Nickoloff Jeff Silberman Jeff Welch -Jeff Zvier Jeffrey Bolle Jeffrey Morgan Jeffrey van Gogh Jenny Gebske Jeremy Chambers Jeremy Grosser -Jeremy Huntwork Jeremy Price Jeremy Qian Jeremy Unruh @@ -1019,16 +933,13 @@ Ji.Zhilong Jian Liao Jian Zhang Jiang Jinyang -Jianyong Wu Jie Luo Jie Ma Jihyun Hwang Jilles Oldenbeuving Jim Alateras -Jim Carroll Jim Ehrismann Jim Galasyn -Jim Lin Jim Minter Jim Perrin Jimmy Cuadra @@ -1040,7 +951,6 @@ Jiri Appl Jiri Popelka Jiuyue Ma Jiří Župka -Joakim Roubert Joao Fernandes Joao Trindade Joe Beda @@ -1102,7 +1012,6 @@ Joost Cassee Jordan Arentsen Jordan Jennings Jordan Sissel -Jordi Massaguer Pla Jorge Marin Jorit Kleine-Möllhoff Jose Diaz-Gonzalez @@ -1135,15 +1044,12 @@ Julien Pervillé Julien Pivotto Julio Guerra Julio Montes -Jun Du Jun-Ru Chang -junxu Jussi Nummelin Justas Brazauskas Justen Martin Justin Cormack Justin Force -Justin Keller <85903732+jk-vb@users.noreply.github.com> Justin Menga Justin Plock Justin Simonelis @@ -1156,7 +1062,6 @@ Jörg Thalheim K. Heller Kai Blin Kai Qiang Wu (Kennan) -Kaijie Chen Kamil Domański Kamjar Gerami Kanstantsin Shautsou @@ -1177,7 +1082,6 @@ Kawsar Saiyeed Kay Yan kayrus Kazuhiro Sera -Kazuyoshi Kato Ke Li Ke Xu Kei Ohmura @@ -1192,7 +1096,6 @@ Kenjiro Nakayama Kent Johnson Kenta Tada Kevin "qwazerty" Houdebert -Kevin Alvarez Kevin Burke Kevin Clark Kevin Feyrer @@ -1215,27 +1118,24 @@ Kimbro Staken Kir Kolyshkin Kiran Gangadharan Kirill SIbirev -Kirk Easterson knappe Kohei Tsuruta Koichi Shiraishi Konrad Kleine -Konrad Ponichtera Konstantin Gribov Konstantin L Konstantin Pelykh -Kostadin Plachkov Krasi Georgiev Krasimir Georgiev Kris-Mikael Krister Kristian Haugene Kristina Zabunova Krystian Wojcicki +Kun Zhang Kunal Kushwaha Kunal Tyagi Kyle Conroy Kyle Linden -Kyle Squizzato Kyle Wuolle kyu Lachlan Coote @@ -1250,28 +1150,21 @@ Lars Kellogg-Stedman Lars R. Damerow Lars-Magnus Skog Laszlo Meszaros -Laura Brehm Laura Frank -Laurent Bernaille Laurent Erignoux Laurie Voss -Leandro Motta Barros Leandro Siqueira -Lee Calcote Lee Chao <932819864@qq.com> Lee, Meng-Han +leeplay Lei Gong Lei Jitang -Leiiwang Len Weincier Lennie Leo Gallucci -Leonardo Nodari -Leonardo Taccari Leszek Kowalski Levi Blackstone Levi Gross -Levi Harrison Lewis Daly Lewis Marshall Lewis Peckover @@ -1280,12 +1173,11 @@ Liam Macgillavry Liana Lo Liang Mingqiang Liang-Chi Hsieh -liangwei Liao Qingwei Lifubang Lihua Tang Lily Guo -limeidan +limsy Lin Lu LingFaKe Linus Heckemann @@ -1315,7 +1207,6 @@ Lucas Chi Lucas Molas Lucas Silvestre Luciano Mores -Luis Henrique Mulinari Luis Martínez de Bartolomé Izquierdo Luiz Svoboda Lukas Heeren @@ -1331,7 +1222,7 @@ Ma Shimiao Mabin Madhan Raj Mookkandy Madhav Puri -Madhu Venugopal +Madhu Venugopal Mageee Mahesh Tiyyagura malnick @@ -1364,14 +1255,12 @@ Marius Gundersen Marius Sturm Marius Voila Mark Allen -Mark Feit Mark Jeromin Mark McGranaghan Mark McKinstry Mark Milstein Mark Oates Mark Parker -Mark Vainomaa Mark West Markan Patel Marko Mikulicic @@ -1380,14 +1269,11 @@ Markus Fix Markus Kortlang Martijn Dwars Martijn van Oosterhout -Martin Braun -Martin Dojcak Martin Honermeyer Martin Kelly Martin Mosegaard Amdisen Martin Muzatko Martin Redmond -Maru Newby Mary Anthony Masahito Zembutsu Masato Ohba @@ -1398,16 +1284,13 @@ Mathias Monnerville Mathieu Champlon Mathieu Le Marec - Pasquet Mathieu Parent -Mathieu Paturel Matt Apperson Matt Bachmann -Matt Bajor Matt Bentley Matt Haggard Matt Hoyle Matt McCormick Matt Moore -Matt Morrison <3maven@gmail.com> Matt Richardson Matt Rickard Matt Robenolt @@ -1422,14 +1305,12 @@ Matthew Riley Matthias Klumpp Matthias Kühnle Matthias Rampke -Matthieu Fronton Matthieu Hauglustaine Mattias Jernberg Mauricio Garavaglia mauriyouth Max Harmathy Max Shytikov -Max Timchenko Maxim Fedchyshyn Maxim Ivanov Maxim Kulkin @@ -1443,16 +1324,14 @@ Megan Kostick Mehul Kar Mei ChunTao Mengdi Gao -Menghui Chen Mert Yazıcıoğlu mgniu Micah Zoltu Michael A. Smith -Michael Beskin Michael Bridgen Michael Brown Michael Chiang -Michael Crosby +Michael Crosby Michael Currie Michael Friis Michael Gorsuch @@ -1461,7 +1340,6 @@ Michael Holzheu Michael Hudson-Doyle Michael Huettermann Michael Irwin -Michael Kuehn Michael Käufl Michael Neale Michael Nussbaum @@ -1471,29 +1349,23 @@ Michael Spetsiotis Michael Stapelberg Michael Steinert Michael Thies -Michael Weidmann Michael West Michael Zhao Michal Fojtik Michal Gebauer Michal Jemala -Michal Kostrzewa Michal Minář -Michal Rostecki Michal Wieczorek Michaël Pailloncy Michał Czeraszkiewicz Michał Gryko -Michał Kosek Michiel de Jong Mickaël Fortunato Mickaël Remars Miguel Angel Fernández Miguel Morales -Miguel Perez Mihai Borobocea Mihuleacc Sergiu -Mikael Davranche Mike Brown Mike Bush Mike Casas @@ -1512,7 +1384,6 @@ Mike Snitzer mikelinjie <294893458@qq.com> Mikhail Sobolev Miklos Szegedi -Milas Bowman Milind Chawre Miloslav Trmač mingqing @@ -1521,7 +1392,7 @@ Misty Stanley-Jones Mitch Capper Mizuki Urushida mlarcher -Mohammad Banikazemi +Mohammad Banikazemi Mohammad Nasirifar Mohammed Aaqib Ansari Mohit Soni @@ -1535,7 +1406,6 @@ Moysés Borges mrfly Mrunal Patel Muayyad Alsadi -Muhammad Zohaib Aslam Mustafa Akın Muthukumar R Máximo Cuadros @@ -1552,8 +1422,6 @@ Natasha Jarus Nate Brennand Nate Eagleson Nate Jones -Nathan Carlson -Nathan Herald Nathan Hsieh Nathan Kleyn Nathan LeClaire @@ -1575,10 +1443,8 @@ Nick Neisen Nick Parker Nick Payne Nick Russo -Nick Santos Nick Stenning Nick Stinemates -Nick Wood NickrenREN Nicola Kabar Nicolas Borboën @@ -1589,7 +1455,6 @@ Nicolas Kaiser Nicolas Sterchele Nicolas V Castet Nicolás Hock Isaza -Niel Drummond Nigel Poulton Nik Nyby Nikhil Chawla @@ -1597,7 +1462,6 @@ NikolaMandic Nikolas Garofil Nikolay Edigaryev Nikolay Milovanov -ningmingxiao Nirmal Mehta Nishant Totla NIWA Hideyuki @@ -1608,7 +1472,6 @@ noducks Nolan Darilek Noriki Nakamura nponeccop -Nurahmadie Nuutti Kotivuori nzwsch O.S. Tezer @@ -1626,10 +1489,7 @@ Olle Jonsson Olli Janatuinen Olly Pomeroy Omri Shiv -Onur Filiz Oriol Francès -Oscar Bonilla <6f6231@gmail.com> -oscar.chen <2972789494@qq.com> Oskar Niburski Otto Kekäläinen Ouyang Liduo @@ -1642,12 +1502,10 @@ Pascal Borreli Pascal Hartig Patrick Böänziger Patrick Devine -Patrick Haas Patrick Hemmer Patrick Stapleton Patrik Cyvoct pattichen -Paul "TBBle" Hampson Paul paul Paul Annesley @@ -1662,7 +1520,6 @@ Paul Liljenberg Paul Morie Paul Nasrat Paul Weaver -Paulo Gomes Paulo Ribeiro Pavel Lobashov Pavel Matěja @@ -1673,7 +1530,6 @@ Pavel Tikhomirov Pavlos Ratis Pavol Vargovcik Pawel Konczalski -Paweł Gronowski Peeyush Gupta Peggy Li Pei Su @@ -1681,7 +1537,6 @@ Peng Tao Penghan Wang Per Weijnitz perhapszzy@sina.com -Pete Woods Peter Bourgon Peter Braden Peter Bücker @@ -1697,10 +1552,8 @@ Peter Salvatore Peter Volpe Peter Waller Petr Švihlík -Petros Angelatos Phil -Phil Estes -Phil Sphicas +Phil Estes Phil Spitler Philip Alexander Etling Philip Monroe @@ -1717,25 +1570,21 @@ Pierre Dal-Pra Pierre Wacrenier Pierre-Alain RIVIERE Piotr Bogdan -Piotr Karbowski +pixelistik Porjo Poul Kjeldager Sørensen Pradeep Chhetri Pradip Dhara -Pradipta Kr. Banerjee Prasanna Gautam Pratik Karki Prayag Verma Priya Wadhwa Projjol Banerji Przemek Hejman -Puneet Pruthi Pure White pysqz Qiang Huang -Qin TianHuan Qinglan Peng -Quan Tian qudongfang Quentin Brossard Quentin Perez @@ -1758,7 +1607,6 @@ Ramon van Alteren RaviTeja Pothana Ray Tsang ReadmeCritic -realityone Recursive Madman Reficul Regan McCooey @@ -1769,9 +1617,9 @@ Renaud Gaubert Rhys Hiltner Ri Xu Ricardo N Feliciano -Rich Horwood Rich Moyse Rich Seymour +Richard Richard Burnison Richard Harvey Richard Mathie @@ -1786,14 +1634,12 @@ Riku Voipio Riley Guerin Ritesh H Shukla Riyaz Faizullabhoy -Rob Cowsill <42620235+rcowsill@users.noreply.github.com> Rob Gulewich Rob Vesse Robert Bachmann Robert Bittle Robert Obryk Robert Schneider -Robert Shade Robert Stern Robert Terhaar Robert Wallis @@ -1806,7 +1652,6 @@ Robin Speekenbrink Robin Thoni robpc Rodolfo Carvalho -Rodrigo Campos Rodrigo Vaz Roel Van Nyen Roger Peppe @@ -1821,14 +1666,11 @@ Roma Sokolov Roman Dudin Roman Mazur Roman Strashkin -Roman Volosatovs -Roman Zabaluev Ron Smits Ron Williams Rong Gao Rong Zhang Rongxiang Song -Rony Weng root root root @@ -1837,7 +1679,6 @@ Rory Hunter Rory McCune Ross Boucher Rovanion Luckey -Roy Reznik Royce Remer Rozhnov Alexandr Rudolph Gottesheim @@ -1849,16 +1690,13 @@ Russ Magee Ryan Abrams Ryan Anderson Ryan Aslett -Ryan Barry Ryan Belgrave -Ryan Campbell Ryan Detzel Ryan Fowler Ryan Liu Ryan McLaughlin Ryan O'Donnell Ryan Seto -Ryan Shea Ryan Simmen Ryan Stelly Ryan Thomas @@ -1868,9 +1706,9 @@ Ryan Zhang ryancooper7 RyanDeng Ryo Nakao -Ryoga Saito Rémy Greinhofer s. rannou +s00318865 Sabin Basyal Sachin Joshi Sagar Hani @@ -1890,9 +1728,8 @@ Sambuddha Basu Sami Wagiaalla Samuel Andaya Samuel Dion-Girardeau -Samuel Karp +Samuel Karp Samuel PHAN -sanchayanghosh Sandeep Bansal Sankar சங்கர் Sanket Saurav @@ -1908,7 +1745,6 @@ Satoshi Tagomori Scott Bessler Scott Collier Scott Johnston -Scott Percival Scott Stamp Scott Walls sdreyesg @@ -1921,9 +1757,6 @@ Sean P. Kane Sean Rodman Sebastiaan van Steenis Sebastiaan van Stijn -Sebastian Höffner -Sebastian Radloff -Sebastien Goasguen Senthil Kumar Selvaraj Senthil Kumaran SeongJae Park @@ -1943,15 +1776,12 @@ shaunol Shawn Landden Shawn Siefkas shawnhe -Shayan Pooya Shayne Wang Shekhar Gulati Sheng Yang Shengbo Song -Shengjing Zhu Shev Yan Shih-Yuan Lee -Shihao Xia Shijiang Wei Shijun Qin Shishir Mahajan @@ -1960,13 +1790,14 @@ Shourya Sarcar Shu-Wai Chow shuai-z Shukui Yang +Shuwei Hao Sian Lerk Lau -Siarhei Rasiukevich Sidhartha Mani sidharthamani Silas Sewell Silvan Jegen Simão Reis +Simei He Simon Barendse Simon Eskildsen Simon Ferquel @@ -1977,16 +1808,13 @@ Simon Vikstrom Sindhu S Sjoerd Langkemper skanehira -Smark Meng Solganik Alexander Solomon Hykes Song Gao Soshi Katsuta -Sotiris Salloumis Soulou Spencer Brown Spencer Smith -Spike Curtis Sridatta Thatipamala Sridhar Ratnakumar Srini Brahmaroutu @@ -2002,7 +1830,6 @@ Stefan S. Stefan Scherer Stefan Staudenmeyer Stefan Weil -Steffen Butzer Stephan Spindler Stephen Benjamin Stephen Crosby @@ -2021,9 +1848,7 @@ Steven Iveson Steven Merrill Steven Richards Steven Taylor -Stéphane Este-Gracias Stig Larsson -Su Wang Subhajit Ghosh Sujith Haridasan Sun Gengze <690388648@qq.com> @@ -2033,16 +1858,15 @@ Sunny Gogoi Suryakumar Sudar Sven Dowideit Swapnil Daingade -Sylvain Baubeau +Sylvain Baubeau Sylvain Bellemare Sébastien Sébastien HOUZÉ Sébastien Luttringer Sébastien Stormacq -Sören Tempel Tabakhase Tadej Janež -Takuto Sato +TAGOMORI Satoshi tang0th Tangi Colin Tatsuki Sugiura @@ -2053,21 +1877,18 @@ Ted M. Young Tehmasp Chaudhri Tejaswini Duggaraju Tejesh Mehta -Terry Chu terryding77 <550147740@qq.com> +tgic Thatcher Peskens theadactyl Thell 'Bo' Fowler Thermionix -Thiago Alves Silva Thijs Terlouw Thomas Bikeev Thomas Frössman Thomas Gazagnaire -Thomas Graf Thomas Grainger Thomas Hansen -Thomas Ledos Thomas Leonard Thomas Léveil Thomas Orozco @@ -2078,13 +1899,11 @@ Thomas Swift Thomas Tanaka Thomas Texier Ti Zhou -Tiago Seabra Tianon Gravi Tianyi Wang Tibor Vass Tiffany Jernigan Tiffany Low -Till Claassen Till Wegmüller Tim Tim Bart @@ -2096,14 +1915,11 @@ Tim Potter Tim Ruffles Tim Smith Tim Terhorst -Tim Wagner Tim Wang Tim Waugh Tim Wraight Tim Zju <21651152@zju.edu.cn> -timchenxiaoyu <837829664@qq.com> timfeirg -Timo Rothenpieler Timothy Hobbs tjwebb123 tobe @@ -2112,7 +1928,6 @@ Tobias Bradtke Tobias Gesellchen Tobias Klauser Tobias Munk -Tobias Pfandzelter Tobias Schmidt Tobias Schwab Todd Crane @@ -2126,33 +1941,25 @@ Tom Fotherby Tom Howe Tom Hulihan Tom Maaswinkel -Tom Parker Tom Sweeney Tom Wilkie Tom X. Tobin -Tom Zhao -Tomas Janousek -Tomas Kral Tomas Tomecek Tomasz Kopczynski Tomasz Lipinski Tomasz Nurkiewicz -Tomek Mańko Tommaso Visconti -Tomoya Tabuchi Tomáš Hrčka -tonic Tonny Xu Tony Abboud Tony Daws Tony Miller toogley Torstein Husebø -Toshiaki Makita Tõnis Tiigi Trace Andreason tracylihui <793912329@qq.com> -Trapier Marshall +Trapier Marshall Travis Cline Travis Thieman Trent Ogren @@ -2162,8 +1969,6 @@ Trevor Sullivan Trishna Guha Tristan Carel Troy Denton -Tudor Brindus -Ty Alexander Tycho Andersen Tyler Brock Tyler Brown @@ -2174,7 +1979,6 @@ Umesh Yadav Utz Bacher vagrant Vaidas Jablonskis -Valentin Kulesh vanderliang Velko Ivanov Veres Lajos @@ -2188,13 +1992,12 @@ Victor Palma Victor Vieux Victoria Bialas Vijaya Kumar K -Vikas Choudhary Vikram bir Singh Viktor Stanchev Viktor Vojnovski VinayRaghavanKS Vincent Batts -Vincent Bernat +Vincent Bernat Vincent Boulineau Vincent Demeester Vincent Giersch @@ -2214,9 +2017,9 @@ Vladimir Pouzanov Vladimir Rutsky Vladimir Varankin VladimirAus -Vladislav Kolesnikov Vlastimil Zeman Vojtech Vitek (V-Teq) +waitingkuo Walter Leibbrandt Walter Stanish Wang Chao @@ -2231,7 +2034,6 @@ wanghuaiqing Ward Vandewege WarheadsSE Wassim Dhif -Wataru Ishida Wayne Chang Wayne Song Weerasak Chongnguluam @@ -2246,6 +2048,7 @@ Wendel Fleming Wenjun Tang Wenkai Yin wenlxie +Wentao Zhang Wenxuan Zhao Wenyu You <21551128@zju.edu.cn> Wenzhi Liang @@ -2265,29 +2068,22 @@ William Thurston Wilson Júnior Wing-Kam Wong WiseTrem -Wolfgang Nagele Wolfgang Powisch Wonjun Kim -WuLonghui xamyzhao -Xia Wu Xian Chaobo Xianglin Gao -Xianjie Xianlu Bird Xiao YongBiao -Xiao Zhang XiaoBing Jiang Xiaodong Liu Xiaodong Zhang -Xiaohua Ding Xiaoxi He Xiaoxu Chen Xiaoyu Zhang xichengliudui <1693291525@qq.com> xiekeyang Ximo Guanter Gonzálbez -xin.li Xinbo Weng Xinfeng Liu Xinzi Zhou @@ -2296,17 +2092,12 @@ Xuecong Liao xuzhaokui Yadnyawalkya Tale Yahya -yalpul YAMADA Tsuyoshi Yamasaki Masahide -Yamazaki Masashi Yan Feng -Yan Zhu Yang Bai -Yang Li Yang Pengfei yangchenliang -Yann Autissier Yanqiang Miao Yao Zaiyong Yash Murty @@ -2326,7 +2117,6 @@ Yosef Fertel You-Sheng Yang (楊有勝) youcai Youcef YEKHLEF -Youfu Zhang Yu Changchun Yu Chengxia Yu Peng @@ -2334,18 +2124,14 @@ Yu-Ju Hong Yuan Sun Yuanhong Peng Yue Zhang -Yufei Xiong Yuhao Fang Yuichiro Kaneko -YujiOshima Yunxiang Huang Yurii Rashkovskii Yusuf Tarık Günaydın -Yves Blusseau <90z7oey02@sneakemail.com> Yves Junqueira Zac Dover Zach Borboa -Zach Gershman Zachary Jaffee Zain Memon Zaiste! @@ -2361,7 +2147,6 @@ Zhenan Ye <21551168@zju.edu.cn> zhenghenghuo Zhenhai Gao Zhenkun Bi -ZhiPeng Lu zhipengzuo Zhou Hao Zhoulin Xie @@ -2379,6 +2164,7 @@ Zou Yu zqh Zuhayr Elahi Zunayed Ali +Álex González Álvaro Lázaro Átila Camurça Alves 尹吉峰 @@ -2387,4 +2173,3 @@ Zunayed Ali 慕陶 搏通 黄艳红00139573 -정재영 diff --git a/ecs-agent/vendor/github.com/docker/docker/api/types/container/change_response_deprecated.go b/ecs-agent/vendor/github.com/docker/docker/api/types/container/change_response_deprecated.go deleted file mode 100644 index 6b4b47390d4..00000000000 --- a/ecs-agent/vendor/github.com/docker/docker/api/types/container/change_response_deprecated.go +++ /dev/null @@ -1,6 +0,0 @@ -package container - -// ContainerChangeResponseItem change item in response to ContainerChanges operation -// -// Deprecated: use [FilesystemChange]. -type ContainerChangeResponseItem = FilesystemChange diff --git a/ecs-agent/vendor/github.com/docker/docker/api/types/container/change_type.go b/ecs-agent/vendor/github.com/docker/docker/api/types/container/change_type.go deleted file mode 100644 index fe8d6d36966..00000000000 --- a/ecs-agent/vendor/github.com/docker/docker/api/types/container/change_type.go +++ /dev/null @@ -1,15 +0,0 @@ -package container - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -// ChangeType Kind of change -// -// Can be one of: -// -// - `0`: Modified ("C") -// - `1`: Added ("A") -// - `2`: Deleted ("D") -// -// swagger:model ChangeType -type ChangeType uint8 diff --git a/ecs-agent/vendor/github.com/docker/docker/api/types/container/change_types.go b/ecs-agent/vendor/github.com/docker/docker/api/types/container/change_types.go deleted file mode 100644 index 3a3a83866ec..00000000000 --- a/ecs-agent/vendor/github.com/docker/docker/api/types/container/change_types.go +++ /dev/null @@ -1,23 +0,0 @@ -package container - -const ( - // ChangeModify represents the modify operation. - ChangeModify ChangeType = 0 - // ChangeAdd represents the add operation. - ChangeAdd ChangeType = 1 - // ChangeDelete represents the delete operation. - ChangeDelete ChangeType = 2 -) - -func (ct ChangeType) String() string { - switch ct { - case ChangeModify: - return "C" - case ChangeAdd: - return "A" - case ChangeDelete: - return "D" - default: - return "" - } -} diff --git a/ecs-agent/vendor/github.com/docker/docker/api/types/container/config.go b/ecs-agent/vendor/github.com/docker/docker/api/types/container/config.go index 077583e66c1..f767195b94b 100644 --- a/ecs-agent/vendor/github.com/docker/docker/api/types/container/config.go +++ b/ecs-agent/vendor/github.com/docker/docker/api/types/container/config.go @@ -1,7 +1,6 @@ package container // import "github.com/docker/docker/api/types/container" import ( - "io" "time" "github.com/docker/docker/api/types/strslice" @@ -14,24 +13,6 @@ import ( // Docker interprets it as 3 nanoseconds. const MinimumDuration = 1 * time.Millisecond -// StopOptions holds the options to stop or restart a container. -type StopOptions struct { - // Signal (optional) is the signal to send to the container to (gracefully) - // stop it before forcibly terminating the container with SIGKILL after the - // timeout expires. If not value is set, the default (SIGTERM) is used. - Signal string `json:",omitempty"` - - // Timeout (optional) is the timeout (in seconds) to wait for the container - // to stop gracefully before forcibly terminating it with SIGKILL. - // - // - Use nil to use the default timeout (10 seconds). - // - Use '-1' to wait indefinitely. - // - Use '0' to not wait for the container to exit gracefully, and - // immediately proceeds to forcibly terminating the container. - // - Other positive values are used as timeout (in seconds). - Timeout *int `json:",omitempty"` -} - // HealthConfig holds configuration settings for the HEALTHCHECK feature. type HealthConfig struct { // Test is the test to perform to check that the container is healthy. @@ -53,14 +34,6 @@ type HealthConfig struct { Retries int `json:",omitempty"` } -// ExecStartOptions holds the options to start container's exec. -type ExecStartOptions struct { - Stdin io.Reader - Stdout io.Writer - Stderr io.Writer - ConsoleSize *[2]uint `json:",omitempty"` -} - // Config contains the configuration data about a container. // It should hold only portable information about the container. // Here, "portable" means "independent from the host we are running on". diff --git a/ecs-agent/vendor/github.com/docker/docker/api/types/container/container_changes.go b/ecs-agent/vendor/github.com/docker/docker/api/types/container/container_changes.go new file mode 100644 index 00000000000..16dd5019eef --- /dev/null +++ b/ecs-agent/vendor/github.com/docker/docker/api/types/container/container_changes.go @@ -0,0 +1,20 @@ +package container // import "github.com/docker/docker/api/types/container" + +// ---------------------------------------------------------------------------- +// Code generated by `swagger generate operation`. DO NOT EDIT. +// +// See hack/generate-swagger-api.sh +// ---------------------------------------------------------------------------- + +// ContainerChangeResponseItem change item in response to ContainerChanges operation +// swagger:model ContainerChangeResponseItem +type ContainerChangeResponseItem struct { + + // Kind of change + // Required: true + Kind uint8 `json:"Kind"` + + // Path to file that has changed + // Required: true + Path string `json:"Path"` +} diff --git a/ecs-agent/vendor/github.com/docker/docker/api/types/container/container_create.go b/ecs-agent/vendor/github.com/docker/docker/api/types/container/container_create.go new file mode 100644 index 00000000000..d0c852f84d5 --- /dev/null +++ b/ecs-agent/vendor/github.com/docker/docker/api/types/container/container_create.go @@ -0,0 +1,20 @@ +package container // import "github.com/docker/docker/api/types/container" + +// ---------------------------------------------------------------------------- +// Code generated by `swagger generate operation`. DO NOT EDIT. +// +// See hack/generate-swagger-api.sh +// ---------------------------------------------------------------------------- + +// ContainerCreateCreatedBody OK response to ContainerCreate operation +// swagger:model ContainerCreateCreatedBody +type ContainerCreateCreatedBody struct { + + // The ID of the created container + // Required: true + ID string `json:"Id"` + + // Warnings encountered when creating the container + // Required: true + Warnings []string `json:"Warnings"` +} diff --git a/ecs-agent/vendor/github.com/docker/docker/api/types/container/container_wait.go b/ecs-agent/vendor/github.com/docker/docker/api/types/container/container_wait.go new file mode 100644 index 00000000000..49e05ae6694 --- /dev/null +++ b/ecs-agent/vendor/github.com/docker/docker/api/types/container/container_wait.go @@ -0,0 +1,28 @@ +package container // import "github.com/docker/docker/api/types/container" + +// ---------------------------------------------------------------------------- +// Code generated by `swagger generate operation`. DO NOT EDIT. +// +// See hack/generate-swagger-api.sh +// ---------------------------------------------------------------------------- + +// ContainerWaitOKBodyError container waiting error, if any +// swagger:model ContainerWaitOKBodyError +type ContainerWaitOKBodyError struct { + + // Details of an error + Message string `json:"Message,omitempty"` +} + +// ContainerWaitOKBody OK response to ContainerWait operation +// swagger:model ContainerWaitOKBody +type ContainerWaitOKBody struct { + + // error + // Required: true + Error *ContainerWaitOKBodyError `json:"Error"` + + // Exit code of the container + // Required: true + StatusCode int64 `json:"StatusCode"` +} diff --git a/ecs-agent/vendor/github.com/docker/docker/api/types/container/create_response.go b/ecs-agent/vendor/github.com/docker/docker/api/types/container/create_response.go deleted file mode 100644 index aa0e7f7d078..00000000000 --- a/ecs-agent/vendor/github.com/docker/docker/api/types/container/create_response.go +++ /dev/null @@ -1,19 +0,0 @@ -package container - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -// CreateResponse ContainerCreateResponse -// -// OK response to ContainerCreate operation -// swagger:model CreateResponse -type CreateResponse struct { - - // The ID of the created container - // Required: true - ID string `json:"Id"` - - // Warnings encountered when creating the container - // Required: true - Warnings []string `json:"Warnings"` -} diff --git a/ecs-agent/vendor/github.com/docker/docker/api/types/container/filesystem_change.go b/ecs-agent/vendor/github.com/docker/docker/api/types/container/filesystem_change.go deleted file mode 100644 index 9e9c2ad1d58..00000000000 --- a/ecs-agent/vendor/github.com/docker/docker/api/types/container/filesystem_change.go +++ /dev/null @@ -1,19 +0,0 @@ -package container - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -// FilesystemChange Change in the container's filesystem. -// -// swagger:model FilesystemChange -type FilesystemChange struct { - - // kind - // Required: true - Kind ChangeType `json:"Kind"` - - // Path to file or directory that has changed. - // - // Required: true - Path string `json:"Path"` -} diff --git a/ecs-agent/vendor/github.com/docker/docker/api/types/container/hostconfig.go b/ecs-agent/vendor/github.com/docker/docker/api/types/container/host_config.go similarity index 71% rename from ecs-agent/vendor/github.com/docker/docker/api/types/container/hostconfig.go rename to ecs-agent/vendor/github.com/docker/docker/api/types/container/host_config.go index d4e6f55375a..2d1cbaa9abd 100644 --- a/ecs-agent/vendor/github.com/docker/docker/api/types/container/hostconfig.go +++ b/ecs-agent/vendor/github.com/docker/docker/api/types/container/host_config.go @@ -13,26 +13,19 @@ import ( // CgroupnsMode represents the cgroup namespace mode of the container type CgroupnsMode string -// cgroup namespace modes for containers -const ( - CgroupnsModeEmpty CgroupnsMode = "" - CgroupnsModePrivate CgroupnsMode = "private" - CgroupnsModeHost CgroupnsMode = "host" -) - // IsPrivate indicates whether the container uses its own private cgroup namespace func (c CgroupnsMode) IsPrivate() bool { - return c == CgroupnsModePrivate + return c == "private" } // IsHost indicates whether the container shares the host's cgroup namespace func (c CgroupnsMode) IsHost() bool { - return c == CgroupnsModeHost + return c == "host" } // IsEmpty indicates whether the container cgroup namespace mode is unset func (c CgroupnsMode) IsEmpty() bool { - return c == CgroupnsModeEmpty + return c == "" } // Valid indicates whether the cgroup namespace mode is valid @@ -44,70 +37,60 @@ func (c CgroupnsMode) Valid() bool { // values are platform specific type Isolation string -// Isolation modes for containers -const ( - IsolationEmpty Isolation = "" // IsolationEmpty is unspecified (same behavior as default) - IsolationDefault Isolation = "default" // IsolationDefault is the default isolation mode on current daemon - IsolationProcess Isolation = "process" // IsolationProcess is process isolation mode - IsolationHyperV Isolation = "hyperv" // IsolationHyperV is HyperV isolation mode -) - // IsDefault indicates the default isolation technology of a container. On Linux this // is the native driver. On Windows, this is a Windows Server Container. func (i Isolation) IsDefault() bool { - // TODO consider making isolation-mode strict (case-sensitive) - v := Isolation(strings.ToLower(string(i))) - return v == IsolationDefault || v == IsolationEmpty + return strings.ToLower(string(i)) == "default" || string(i) == "" } // IsHyperV indicates the use of a Hyper-V partition for isolation func (i Isolation) IsHyperV() bool { - // TODO consider making isolation-mode strict (case-sensitive) - return Isolation(strings.ToLower(string(i))) == IsolationHyperV + return strings.ToLower(string(i)) == "hyperv" } // IsProcess indicates the use of process isolation func (i Isolation) IsProcess() bool { - // TODO consider making isolation-mode strict (case-sensitive) - return Isolation(strings.ToLower(string(i))) == IsolationProcess + return strings.ToLower(string(i)) == "process" } -// IpcMode represents the container ipc stack. -type IpcMode string - -// IpcMode constants const ( - IPCModeNone IpcMode = "none" - IPCModeHost IpcMode = "host" - IPCModeContainer IpcMode = "container" - IPCModePrivate IpcMode = "private" - IPCModeShareable IpcMode = "shareable" + // IsolationEmpty is unspecified (same behavior as default) + IsolationEmpty = Isolation("") + // IsolationDefault is the default isolation mode on current daemon + IsolationDefault = Isolation("default") + // IsolationProcess is process isolation mode + IsolationProcess = Isolation("process") + // IsolationHyperV is HyperV isolation mode + IsolationHyperV = Isolation("hyperv") ) +// IpcMode represents the container ipc stack. +type IpcMode string + // IsPrivate indicates whether the container uses its own private ipc namespace which can not be shared. func (n IpcMode) IsPrivate() bool { - return n == IPCModePrivate + return n == "private" } // IsHost indicates whether the container shares the host's ipc namespace. func (n IpcMode) IsHost() bool { - return n == IPCModeHost + return n == "host" } // IsShareable indicates whether the container's ipc namespace can be shared with another container. func (n IpcMode) IsShareable() bool { - return n == IPCModeShareable + return n == "shareable" } // IsContainer indicates whether the container uses another container's ipc namespace. func (n IpcMode) IsContainer() bool { - _, ok := containerID(string(n)) - return ok + parts := strings.SplitN(string(n), ":", 2) + return len(parts) > 1 && parts[0] == "container" } // IsNone indicates whether container IpcMode is set to "none". func (n IpcMode) IsNone() bool { - return n == IPCModeNone + return n == "none" } // IsEmpty indicates whether container IpcMode is empty @@ -117,14 +100,16 @@ func (n IpcMode) IsEmpty() bool { // Valid indicates whether the ipc mode is valid. func (n IpcMode) Valid() bool { - // TODO(thaJeztah): align with PidMode, and consider container-mode without a container name/ID to be invalid. return n.IsEmpty() || n.IsNone() || n.IsPrivate() || n.IsHost() || n.IsShareable() || n.IsContainer() } // Container returns the name of the container ipc stack is going to be used. -func (n IpcMode) Container() (idOrName string) { - idOrName, _ = containerID(string(n)) - return idOrName +func (n IpcMode) Container() string { + parts := strings.SplitN(string(n), ":", 2) + if len(parts) > 1 && parts[0] == "container" { + return parts[1] + } + return "" } // NetworkMode represents the container network stack. @@ -147,14 +132,17 @@ func (n NetworkMode) IsPrivate() bool { // IsContainer indicates whether container uses a container network stack. func (n NetworkMode) IsContainer() bool { - _, ok := containerID(string(n)) - return ok + parts := strings.SplitN(string(n), ":", 2) + return len(parts) > 1 && parts[0] == "container" } // ConnectedContainer is the id of the container which network this container is connected to. -func (n NetworkMode) ConnectedContainer() (idOrName string) { - idOrName, _ = containerID(string(n)) - return idOrName +func (n NetworkMode) ConnectedContainer() string { + parts := strings.SplitN(string(n), ":", 2) + if len(parts) > 1 { + return parts[1] + } + return "" } // UserDefined indicates user-created network @@ -175,12 +163,18 @@ func (n UsernsMode) IsHost() bool { // IsPrivate indicates whether the container uses the a private userns. func (n UsernsMode) IsPrivate() bool { - return !n.IsHost() + return !(n.IsHost()) } // Valid indicates whether the userns is valid. func (n UsernsMode) Valid() bool { - return n == "" || n.IsHost() + parts := strings.Split(string(n), ":") + switch mode := parts[0]; mode { + case "", "host": + default: + return false + } + return true } // CgroupSpec represents the cgroup to use for the container. @@ -188,20 +182,22 @@ type CgroupSpec string // IsContainer indicates whether the container is using another container cgroup func (c CgroupSpec) IsContainer() bool { - _, ok := containerID(string(c)) - return ok + parts := strings.SplitN(string(c), ":", 2) + return len(parts) > 1 && parts[0] == "container" } // Valid indicates whether the cgroup spec is valid. func (c CgroupSpec) Valid() bool { - // TODO(thaJeztah): align with PidMode, and consider container-mode without a container name/ID to be invalid. - return c == "" || c.IsContainer() + return c.IsContainer() || c == "" } -// Container returns the ID or name of the container whose cgroup will be used. -func (c CgroupSpec) Container() (idOrName string) { - idOrName, _ = containerID(string(c)) - return idOrName +// Container returns the name of the container whose cgroup will be used. +func (c CgroupSpec) Container() string { + parts := strings.SplitN(string(c), ":", 2) + if len(parts) > 1 { + return parts[1] + } + return "" } // UTSMode represents the UTS namespace of the container. @@ -209,7 +205,7 @@ type UTSMode string // IsPrivate indicates whether the container uses its private UTS namespace. func (n UTSMode) IsPrivate() bool { - return !n.IsHost() + return !(n.IsHost()) } // IsHost indicates whether the container uses the host's UTS namespace. @@ -219,7 +215,13 @@ func (n UTSMode) IsHost() bool { // Valid indicates whether the UTS namespace is valid. func (n UTSMode) Valid() bool { - return n == "" || n.IsHost() + parts := strings.Split(string(n), ":") + switch mode := parts[0]; mode { + case "", "host": + default: + return false + } + return true } // PidMode represents the pid namespace of the container. @@ -237,19 +239,32 @@ func (n PidMode) IsHost() bool { // IsContainer indicates whether the container uses a container's pid namespace. func (n PidMode) IsContainer() bool { - _, ok := containerID(string(n)) - return ok + parts := strings.SplitN(string(n), ":", 2) + return len(parts) > 1 && parts[0] == "container" } // Valid indicates whether the pid namespace is valid. func (n PidMode) Valid() bool { - return n == "" || n.IsHost() || validContainer(string(n)) + parts := strings.Split(string(n), ":") + switch mode := parts[0]; mode { + case "", "host": + case "container": + if len(parts) != 2 || parts[1] == "" { + return false + } + default: + return false + } + return true } // Container returns the name of the container whose pid namespace is going to be used. -func (n PidMode) Container() (idOrName string) { - idOrName, _ = containerID(string(n)) - return idOrName +func (n PidMode) Container() string { + parts := strings.SplitN(string(n), ":", 2) + if len(parts) > 1 { + return parts[1] + } + return "" } // DeviceRequest represents a request for devices from a device driver. @@ -311,7 +326,7 @@ type LogMode string // Available logging modes const ( - LogModeUnset LogMode = "" + LogModeUnset = "" LogModeBlocking LogMode = "blocking" LogModeNonBlock LogMode = "non-blocking" ) @@ -346,17 +361,14 @@ type Resources struct { Devices []DeviceMapping // List of devices to map inside the container DeviceCgroupRules []string // List of rule to be added to the device cgroup DeviceRequests []DeviceRequest // List of device requests for device drivers - - // KernelMemory specifies the kernel memory limit (in bytes) for the container. - // Deprecated: kernel 5.4 deprecated kmem.limit_in_bytes. - KernelMemory int64 `json:",omitempty"` - KernelMemoryTCP int64 `json:",omitempty"` // Hard limit for kernel TCP buffer memory (in bytes) - MemoryReservation int64 // Memory soft limit (in bytes) - MemorySwap int64 // Total memory usage (memory + swap); set `-1` to enable unlimited swap - MemorySwappiness *int64 // Tuning container memory swappiness behaviour - OomKillDisable *bool // Whether to disable OOM Killer or not - PidsLimit *int64 // Setting PIDs limit for a container; Set `0` or `-1` for unlimited, or `null` to not change. - Ulimits []*units.Ulimit // List of ulimits to be set in the container + KernelMemory int64 // Kernel memory limit (in bytes), Deprecated: kernel 5.4 deprecated kmem.limit_in_bytes + KernelMemoryTCP int64 // Hard limit for kernel TCP buffer memory (in bytes) + MemoryReservation int64 // Memory soft limit (in bytes) + MemorySwap int64 // Total memory usage (memory + swap); set `-1` to enable unlimited swap + MemorySwappiness *int64 // Tuning container memory swappiness behaviour + OomKillDisable *bool // Whether to disable OOM Killer or not + PidsLimit *int64 // Setting PIDs limit for a container; Set `0` or `-1` for unlimited, or `null` to not change. + Ulimits []*units.Ulimit // List of ulimits to be set in the container // Applicable to Windows CPUCount int64 `json:"CpuCount"` // CPU count @@ -378,17 +390,15 @@ type UpdateConfig struct { // Portable information *should* appear in Config. type HostConfig struct { // Applicable to all platforms - Binds []string // List of volume bindings for this container - ContainerIDFile string // File (path) where the containerId is written - LogConfig LogConfig // Configuration of the logs for this container - NetworkMode NetworkMode // Network mode to use for the container - PortBindings nat.PortMap // Port mapping between the exposed port (container) and the host - RestartPolicy RestartPolicy // Restart policy to be used for the container - AutoRemove bool // Automatically remove container when it exits - VolumeDriver string // Name of the volume driver used to mount volumes - VolumesFrom []string // List of volumes to take from other container - ConsoleSize [2]uint // Initial console size (height,width) - Annotations map[string]string `json:",omitempty"` // Arbitrary non-identifying metadata attached to container and provided to the runtime + Binds []string // List of volume bindings for this container + ContainerIDFile string // File (path) where the containerId is written + LogConfig LogConfig // Configuration of the logs for this container + NetworkMode NetworkMode // Network mode to use for the container + PortBindings nat.PortMap // Port mapping between the exposed port (container) and the host + RestartPolicy RestartPolicy // Restart policy to be used for the container + AutoRemove bool // Automatically remove container when it exits + VolumeDriver string // Name of the volume driver used to mount volumes + VolumesFrom []string // List of volumes to take from other container // Applicable to UNIX platforms CapAdd strslice.StrSlice // List of kernel capabilities to add to the container @@ -417,7 +427,8 @@ type HostConfig struct { Runtime string `json:",omitempty"` // Runtime to use with this container // Applicable to Windows - Isolation Isolation // Isolation technology of the container (e.g. default, hyperv) + ConsoleSize [2]uint // Initial console size (height,width) + Isolation Isolation // Isolation technology of the container (e.g. default, hyperv) // Contains container's resources (cgroups, ulimits) Resources @@ -434,23 +445,3 @@ type HostConfig struct { // Run a custom init inside the container, if null, use the daemon's configured settings Init *bool `json:",omitempty"` } - -// containerID splits "container:" values. It returns the container -// ID or name, and whether an ID/name was found. It returns an empty string and -// a "false" if the value does not have a "container:" prefix. Further validation -// of the returned, including checking if the value is empty, should be handled -// by the caller. -func containerID(val string) (idOrName string, ok bool) { - k, v, hasSep := strings.Cut(val, ":") - if !hasSep || k != "container" { - return "", false - } - return v, true -} - -// validContainer checks if the given value is a "container:" mode with -// a non-empty name/ID. -func validContainer(val string) bool { - id, ok := containerID(val) - return ok && id != "" -} diff --git a/ecs-agent/vendor/github.com/docker/docker/api/types/container/wait_exit_error.go b/ecs-agent/vendor/github.com/docker/docker/api/types/container/wait_exit_error.go deleted file mode 100644 index ab56d4eed8e..00000000000 --- a/ecs-agent/vendor/github.com/docker/docker/api/types/container/wait_exit_error.go +++ /dev/null @@ -1,12 +0,0 @@ -package container - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -// WaitExitError container waiting error, if any -// swagger:model WaitExitError -type WaitExitError struct { - - // Details of an error - Message string `json:"Message,omitempty"` -} diff --git a/ecs-agent/vendor/github.com/docker/docker/api/types/container/wait_response.go b/ecs-agent/vendor/github.com/docker/docker/api/types/container/wait_response.go deleted file mode 100644 index 84fc6afddc6..00000000000 --- a/ecs-agent/vendor/github.com/docker/docker/api/types/container/wait_response.go +++ /dev/null @@ -1,18 +0,0 @@ -package container - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -// WaitResponse ContainerWaitResponse -// -// OK response to ContainerWait operation -// swagger:model WaitResponse -type WaitResponse struct { - - // error - Error *WaitExitError `json:"Error,omitempty"` - - // Exit code of the container - // Required: true - StatusCode int64 `json:"StatusCode"` -} diff --git a/ecs-agent/vendor/github.com/docker/docker/api/types/mount/mount.go b/ecs-agent/vendor/github.com/docker/docker/api/types/mount/mount.go index ac4ce622310..443b8d07a9f 100644 --- a/ecs-agent/vendor/github.com/docker/docker/api/types/mount/mount.go +++ b/ecs-agent/vendor/github.com/docker/docker/api/types/mount/mount.go @@ -17,8 +17,6 @@ const ( TypeTmpfs Type = "tmpfs" // TypeNamedPipe is the type for mounting Windows named pipes TypeNamedPipe Type = "npipe" - // TypeCluster is the type for Swarm Cluster Volumes. - TypeCluster Type = "cluster" ) // Mount represents a mount (volume). @@ -32,10 +30,9 @@ type Mount struct { ReadOnly bool `json:",omitempty"` Consistency Consistency `json:",omitempty"` - BindOptions *BindOptions `json:",omitempty"` - VolumeOptions *VolumeOptions `json:",omitempty"` - TmpfsOptions *TmpfsOptions `json:",omitempty"` - ClusterOptions *ClusterOptions `json:",omitempty"` + BindOptions *BindOptions `json:",omitempty"` + VolumeOptions *VolumeOptions `json:",omitempty"` + TmpfsOptions *TmpfsOptions `json:",omitempty"` } // Propagation represents the propagation of a mount. @@ -82,9 +79,8 @@ const ( // BindOptions defines options specific to mounts of type "bind". type BindOptions struct { - Propagation Propagation `json:",omitempty"` - NonRecursive bool `json:",omitempty"` - CreateMountpoint bool `json:",omitempty"` + Propagation Propagation `json:",omitempty"` + NonRecursive bool `json:",omitempty"` } // VolumeOptions represents the options for a mount of type volume. @@ -133,8 +129,3 @@ type TmpfsOptions struct { // Some of these may be straightforward to add, but others, such as // uid/gid have implications in a clustered system. } - -// ClusterOptions specifies options for a Cluster volume. -type ClusterOptions struct { - // intentionally empty -} diff --git a/ecs-agent/vendor/modules.txt b/ecs-agent/vendor/modules.txt index c4567e11c77..7e603e42dae 100644 --- a/ecs-agent/vendor/modules.txt +++ b/ecs-agent/vendor/modules.txt @@ -41,7 +41,7 @@ github.com/didip/tollbooth github.com/didip/tollbooth/errors github.com/didip/tollbooth/libstring github.com/didip/tollbooth/limiter -# github.com/docker/docker v24.0.2+incompatible +# github.com/docker/docker v20.10.24+incompatible ## explicit github.com/docker/docker/api/types/blkiodev github.com/docker/docker/api/types/container @@ -144,6 +144,8 @@ golang.org/x/tools/internal/gocommand golang.org/x/tools/internal/gopathwalk golang.org/x/tools/internal/imports golang.org/x/tools/internal/typeparams +# golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 +## explicit; go 1.11 # google.golang.org/protobuf v1.23.0 ## explicit; go 1.9 google.golang.org/protobuf/encoding/prototext @@ -181,5 +183,3 @@ google.golang.org/protobuf/types/known/timestamppb # gopkg.in/yaml.v3 v3.0.1 ## explicit gopkg.in/yaml.v3 -# gotest.tools/v3 v3.4.0 -## explicit; go 1.13