diff --git a/acceptanceTests/setup.sh b/acceptanceTests/setup.sh index b04b3b7d1..4aa20f91a 100755 --- a/acceptanceTests/setup.sh +++ b/acceptanceTests/setup.sh @@ -57,7 +57,6 @@ kubectl expose deployment redis --type=LoadBalancer --port=6379 -n mizu-tests -- echo "Creating rabbitmq service" kubectl expose deployment rabbitmq --type=LoadBalancer --port=5672 -n mizu-tests --dry-run=client -o yaml | kubectl apply -f - -# TODO: need to understand how to fail if address already in use echo "Starting proxy" rm -f ${PROXY_LOG} kubectl proxy --port=8080 > ${PROXY_LOG} & @@ -78,7 +77,6 @@ minikube image load "${MIZU_CI_IMAGE}" echo "Build cli" cd cli && make build GIT_BRANCH=ci SUFFIX=ci -# TODO: need to understand how to fail if password is asked (sudo) echo "Starting tunnel" rm -f ${TUNNEL_LOG} minikube tunnel > ${TUNNEL_LOG} & diff --git a/acceptanceTests/testsUtils.go b/acceptanceTests/testsUtils.go index 245ccc201..739be3532 100644 --- a/acceptanceTests/testsUtils.go +++ b/acceptanceTests/testsUtils.go @@ -6,10 +6,6 @@ import ( "encoding/json" "fmt" "io/ioutil" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/client-go/kubernetes" - "k8s.io/client-go/tools/clientcmd" - "k8s.io/client-go/util/homedir" "net/http" "os" "os/exec" @@ -20,6 +16,11 @@ import ( "testing" "time" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/client-go/kubernetes" + "k8s.io/client-go/tools/clientcmd" + "k8s.io/client-go/util/homedir" + "github.com/up9inc/mizu/shared" ) @@ -175,7 +176,7 @@ func ApplyKubeFilesForTest(t *testing.T, kubeContext string, namespace string, f return nil } -func ApplyKubeFile(kubeContext string, namespace string, filename string) (error) { +func ApplyKubeFile(kubeContext string, namespace string, filename string) error { cmdArgs := []string{ "apply", "--context", kubeContext, diff --git a/agent/pkg/api/contract_validation.go b/agent/pkg/api/contract_validation.go index 25067ffe7..1f86b2210 100644 --- a/agent/pkg/api/contract_validation.go +++ b/agent/pkg/api/contract_validation.go @@ -24,13 +24,13 @@ const ( func loadOAS(ctx context.Context) (doc *openapi3.T, contractContent string, router routers.Router, err error) { path := fmt.Sprintf("%s%s", shared.ConfigDirPath, shared.ContractFileName) - bytes, err := ioutil.ReadFile(path) + bytesValue, err := ioutil.ReadFile(path) if err != nil { return } - contractContent = string(bytes) + contractContent = string(bytesValue) loader := &openapi3.Loader{Context: ctx} - doc, _ = loader.LoadFromData(bytes) + doc, _ = loader.LoadFromData(bytesValue) err = doc.Validate(ctx) if err != nil { return diff --git a/agent/pkg/api/main.go b/agent/pkg/api/main.go index 376d72999..430959e1a 100644 --- a/agent/pkg/api/main.go +++ b/agent/pkg/api/main.go @@ -111,7 +111,7 @@ func startReadingChannel(outputItems <-chan *tapApi.OutputChannelItem, extension extension := extensionsMap[item.Protocol.Name] resolvedSource, resolvedDestionation, namespace := resolveIP(item.ConnectionInfo) - if namespace == "" && item.Namespace != tapApi.UNKNOWN_NAMESPACE { + if namespace == "" && item.Namespace != tapApi.UnknownNamespace { namespace = item.Namespace } diff --git a/agent/pkg/controllers/entries_controller.go b/agent/pkg/controllers/entries_controller.go index ca21c2249..f0e128d7f 100644 --- a/agent/pkg/controllers/entries_controller.go +++ b/agent/pkg/controllers/entries_controller.go @@ -44,10 +44,10 @@ func GetEntries(c *gin.Context) { } entriesProvider := dependency.GetInstance(dependency.EntriesProvider).(entries.EntriesProvider) - entries, metadata, err := entriesProvider.GetEntries(entriesRequest) + entryWrappers, metadata, err := entriesProvider.GetEntries(entriesRequest) if !HandleEntriesError(c, err) { baseEntries := make([]interface{}, 0) - for _, entry := range entries { + for _, entry := range entryWrappers { baseEntries = append(baseEntries, entry.Base) } c.JSON(http.StatusOK, models.EntriesResponse{ diff --git a/agent/pkg/dependency/container.go b/agent/pkg/dependency/container.go index 6dbf9f2a5..e777aa0b2 100644 --- a/agent/pkg/dependency/container.go +++ b/agent/pkg/dependency/container.go @@ -1,11 +1,11 @@ package dependency -var typeIntializerMap = make(map[DependencyContainerType]func() interface{}, 0) +var typeInitializerMap = make(map[ContainerType]func() interface{}, 0) -func RegisterGenerator(name DependencyContainerType, fn func() interface{}) { - typeIntializerMap[name] = fn +func RegisterGenerator(name ContainerType, fn func() interface{}) { + typeInitializerMap[name] = fn } -func GetInstance(name DependencyContainerType) interface{} { - return typeIntializerMap[name]() +func GetInstance(name ContainerType) interface{} { + return typeInitializerMap[name]() } diff --git a/agent/pkg/dependency/type_names.go b/agent/pkg/dependency/type_names.go index 811900cb3..a7022bc1e 100644 --- a/agent/pkg/dependency/type_names.go +++ b/agent/pkg/dependency/type_names.go @@ -1,12 +1,12 @@ package dependency -type DependencyContainerType string +type ContainerType string const ( - ServiceMapGeneratorDependency = "ServiceMapGeneratorDependency" - OasGeneratorDependency = "OasGeneratorDependency" - EntriesInserter = "EntriesInserter" - EntriesProvider = "EntriesProvider" - EntriesSocketStreamer = "EntriesSocketStreamer" - EntryStreamerSocketConnector = "EntryStreamerSocketConnector" + ServiceMapGeneratorDependency ContainerType = "ServiceMapGeneratorDependency" + OasGeneratorDependency ContainerType = "OasGeneratorDependency" + EntriesInserter ContainerType = "EntriesInserter" + EntriesProvider ContainerType = "EntriesProvider" + EntriesSocketStreamer ContainerType = "EntriesSocketStreamer" + EntryStreamerSocketConnector ContainerType = "EntryStreamerSocketConnector" ) diff --git a/agent/pkg/providers/tappedPods/tapped_pods_provider.go b/agent/pkg/providers/tappedPods/tapped_pods_provider.go index cc2dd11c4..e0ffc0936 100644 --- a/agent/pkg/providers/tappedPods/tapped_pods_provider.go +++ b/agent/pkg/providers/tappedPods/tapped_pods_provider.go @@ -44,9 +44,10 @@ func Set(tappedPodsToSet []*shared.PodInfo) { func GetTappedPodsStatus() []shared.TappedPodStatus { tappedPodsStatus := make([]shared.TappedPodStatus, 0) + tapperStatus := tappers.GetStatus() for _, pod := range Get() { var status string - if tapperStatus, ok := tappers.GetStatus()[pod.NodeName]; ok { + if tapperStatus, ok := tapperStatus[pod.NodeName]; ok { status = strings.ToLower(tapperStatus.Status) } diff --git a/agent/pkg/resolver/go.sum b/agent/pkg/resolver/go.sum deleted file mode 100644 index 4fb6e9bb6..000000000 --- a/agent/pkg/resolver/go.sum +++ /dev/null @@ -1,522 +0,0 @@ -cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= -cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= -cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= -cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= -cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= -cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= -cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= -cloud.google.com/go v0.54.0 h1:3ithwDMr7/3vpAMXiH+ZQnYbuIsh+OPhUPMFC9enmn0= -cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= -cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= -cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= -cloud.google.com/go/bigquery v1.4.0 h1:xE3CPsOgttP4ACBePh79zTKALtXwn/Edhcr16R5hMWU= -cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= -cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= -cloud.google.com/go/datastore v1.1.0 h1:/May9ojXjRkPBNVrq+oWLqmWCkr4OU5uRY29bu0mRyQ= -cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= -cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= -cloud.google.com/go/pubsub v1.2.0 h1:Lpy6hKgdcl7a3WGSfJIFmxmcdjSpP6OmBEfcOv1Y680= -cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= -cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= -cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= -cloud.google.com/go/storage v1.6.0 h1:UDpwYIwla4jHGzZJaEJYx1tOejbgSoNqsAfHAUYe2r8= -cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9 h1:VpgP7xuJadIUuKccphEpTJnWhS2jkQyMt6Y7pJCD7fY= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs= -github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= -github.com/Azure/go-autorest/autorest v0.11.12 h1:gI8ytXbxMfI+IVbI9mP2JGCTXIuhHLgRlvQ9X4PsnHE= -github.com/Azure/go-autorest/autorest v0.11.12/go.mod h1:eipySxLmqSyC5s5k1CLupqet0PSENBEDP93LQ9a8QYw= -github.com/Azure/go-autorest/autorest/adal v0.9.5 h1:Y3bBUV4rTuxenJJs41HU3qmqsb+auo+a3Lz+PlJPpL0= -github.com/Azure/go-autorest/autorest/adal v0.9.5/go.mod h1:B7KF7jKIeC9Mct5spmyCB/A8CG/sEz1vwIRGv/bbw7A= -github.com/Azure/go-autorest/autorest/date v0.3.0 h1:7gUk1U5M/CQbp9WoqinNzJar+8KY+LPI6wiWrP/myHw= -github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= -github.com/Azure/go-autorest/autorest/mocks v0.4.1 h1:K0laFcLE6VLTOwNgSxaGbUcLPuGXlNkbVvq4cW4nIHk= -github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= -github.com/Azure/go-autorest/logger v0.2.0 h1:e4RVHVZKC5p6UANLJHkM4OfR1UKZPj8Wt8Pcx+3oqrE= -github.com/Azure/go-autorest/logger v0.2.0/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= -github.com/Azure/go-autorest/tracing v0.6.0 h1:TYi4+3m5t6K48TGI9AUdb+IzbnSxvnvUMfuitfgcfuo= -github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= -github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802 h1:1BDTz0u9nC3//pOCMdNH+CiXJVYJh5UQNCOBG7jbELc= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46 h1:lsxEuwrXEAokXB9qhlbKWPpo3KMLZQ5WB5WLQRW1uq0= -github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= -github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI= -github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= -github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= -github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a h1:idn718Q4B6AGu/h5Sxe66HYVdqdGu2l9Iebqhi/AEoA= -github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= -github.com/census-instrumentation/opencensus-proto v0.2.1 h1:glEXhBS5PSLLv4IXzLA5yPRVX4bilULVyxxbrfOtDAk= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/chzyer/logex v1.1.10 h1:Swpa1K6QvQznwJRcfTfQJmTE72DqScAa40E+fbHEXEE= -github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e h1:fY5BOSpyZCqRo5OhCuC+XN+r/bBCmeuuJtjz+bCNIf8= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1 h1:q763qf9huN11kDQavWsoZXJNW3xEE4JJyHa5Q25/sd8= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -github.com/client9/misspell v0.3.4 h1:ta993UF76GwbvJcIo3Y68y/M3WxlpEHPWIGDkJYwzJI= -github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/creack/pty v1.1.9 h1:uDmaGzcdjhF4i/plgjmEsriH11Y0o7RKapEf/LDaM3w= -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -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/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815 h1:bWDMxwH3px2JBh6AyO7hdCn/PkvCZXii8TGj7sbtEbQ= -github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= -github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153 h1:yUdfgN0XgIJw7foRItutHYUIhlcKzcSf5vDpdhQAKTc= -github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= -github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633 h1:H2pdYOb3KQ1/YsqVWoWNLQO+fusocsw354rqGTZtAgw= -github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= -github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473 h1:4cmBvAEBNJaGARUEs3/suWRyfyBfhf7I60WBZq+bv2w= -github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/protoc-gen-validate v0.1.0 h1:EQciDnbrYxy13PgWoY8AqoxGiPrpgBZ1R8UNe3ddc+A= -github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/evanphx/json-patch v4.9.0+incompatible h1:kLcOMZeuLAJvL2BPWLMIj5oaZQobrkAqrL+WFZwQses= -github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= -github.com/form3tech-oss/jwt-go v3.2.2+incompatible h1:TcekIExNqud5crz4xD2pavyTgWiPvpYe4Xau31I0PRk= -github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= -github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I= -github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1 h1:QbL/5oDUmRBzO9/Z7Seo6zf912W/a6Sr4Eu0G/3Jho0= -github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4 h1:WtGNWLvXpe6ZudgnXrq0barxBImvnnJoMEhXAzcbM0I= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= -github.com/go-logr/logr v0.4.0 h1:K7/B1jt6fIBQVd4Owv2MqGQClcgf0R266+7C/QjRcLc= -github.com/go-logr/logr v0.4.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= -github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= -github.com/go-openapi/jsonpointer v0.19.3 h1:gihV7YNZK1iK6Tgwwsxo2rJbD1GTbdm72325Bq8FI3w= -github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc= -github.com/go-openapi/jsonreference v0.19.3 h1:5cxNfTy0UVC3X8JL5ymxzyoUZmo8iZb+jeTWn7tUa8o= -github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= -github.com/go-openapi/spec v0.19.3 h1:0XRyw8kguri6Yw4SxhsQA/atC88yqrk0+G4YhI2wabc= -github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo= -github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= -github.com/go-openapi/swag v0.19.5 h1:lTz6Ys4CmqqCQmZPBlbQENR1/GucA2bzYTE12Pw4tFY= -github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e h1:1r7pUrabqp18hOBcwBwiTsbnFeTZHV9eER/QT5JVZxY= -github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= -github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.1 h1:ocYkMQY5RrXTYgXl7ICpV0IXwlEQGwKIsery4gyXa1U= -github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= -github.com/golang/protobuf v1.4.3 h1:JjCZWpVbqXDqFVmTfYWEVTMIYrL/NPdPSCHPJ0T/raM= -github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.0 h1:0udJVsspx3VBr5FwtLhQQtuAsVc79tTq0ocGIPAU6qo= -github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.2 h1:X2ev0eStA3AbceY54o37/0PQ/UWqKEiiO2dKL5OPaFM= -github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g= -github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no= -github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3 h1:SRgJV+IoxM5MKyFdlSUeNy6/ycRUF2yBAKdAQswoHUk= -github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/renameio v0.1.0 h1:GOZbcHa3HfsPKPlmyPyN2KEohoMXOhdMbHrvbpl2QaA= -github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.1.2 h1:EVhdT+1Kseyi1/pUmXKaFxYsDNy9RQYkMWRH68J/W7Y= -github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= -github.com/googleapis/gax-go/v2 v2.0.5 h1:sjZBwGj9Jlw33ImPtvFviGYvseOtDM7hkSKB7+Tv3SM= -github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/googleapis/gnostic v0.4.1 h1:DLJCy1n/vrD4HPjOvYcT8aYQXpPIzoRZONaYwyycI+I= -github.com/googleapis/gnostic v0.4.1/go.mod h1:LRhVm6pbyptWbWbuZ38d1eyptfvIytN3ir6b65WBswg= -github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= -github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7 h1:pdN6V1QBWetyv/0+wjACpqVH+eVULgEjkurDLq3goeM= -github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= -github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.1 h1:0hERBMJE1eitiLkihrMvRVBYAkpHzc/J3QdDN+dAcgU= -github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI= -github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6 h1:UDMh68UUwekSh5iP2OMhRRZJiiBccgV7axzUG8vi56c= -github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/imdario/mergo v0.3.5 h1:JboBksRwiiAJWvIYJVo46AfV+IAIKZpfrSzVKj42R4Q= -github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.10 h1:Kz6Cvnvv2wGdaG/V8yMvfkmNiXq9Ya2KUv4rouJJr68= -github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= -github.com/jstemmer/go-junit-report v0.9.1 h1:6QPYqodiu3GuPL+7mfx+NwDdp2eTkp9IfEUpgAwUN0o= -github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/kisielk/errcheck v1.5.0 h1:e8esj/e4R+SAOwFwN+n3zr0nYeCyeweozKfO23MvHzY= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.0 h1:s5hAObm+yFO5uHYt5dYjxi2rXrsnmRpJx4OYvIWUaQs= -github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/pty v1.1.5 h1:hyz3dwM5QLc1Rfoz4FuWJQG5BN7tc6K1MndAUnGpQr4= -github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e h1:hB2xlXdHp/pmPZq0y3QnmWAArdw9PqbmotexnWx/FU8= -github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE= -github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/moby/spdystream v0.2.0 h1:cjW1zVyyoiM0T7b6UoySUFqzXMoqRckQtXwGPiBhOM8= -github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI= -github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d h1:7PxY7LVfSZm7PEeBTyK1rj1gABdCO2mbri6GKO1cMDs= -github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f h1:y5//uYreIhSUg3J1GEMiLbxo1LJaP8RfCpH6pymGZus= -github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.11.0 h1:JAKSXpt1YjtLA7YpPiqO9ss6sNXEsPfSGdwN0UHqzrw= -github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= -github.com/onsi/gomega v1.7.0 h1:XPnZz8VVBHjVsy1vzJmRwIcSwiUO+JFfrv/xGiigmME= -github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= -github.com/peterbourgon/diskv v2.0.1+incompatible h1:UBdAOUP5p4RWqPBg048CAvpKN+vxiaj6gdUUzhl4XmI= -github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= -github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= -github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4 h1:gQz4mCbXsO+nc9n1hCxHcGA3Zx3Eo+UHZoInFGUIXNM= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/rogpeppe/go-internal v1.3.0 h1:RR9dF3JtopPvtkroDZuVD7qquD0bnHlKSqaQhgwt8yk= -github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/spf13/afero v1.2.2 h1:5jhuqJyZCZf2JRofRvN/nIFgIWNzPa3/Vz8mYylgbWc= -github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= -github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.2.0 h1:Hbg2NidpLE8veEBkEZTL3CvlkUIVzuU9jDplZO54c48= -github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0= -github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1 h1:ruQGxdhGHe7FWOJPT0mKs5+pD2Xs1Bm/kdGlHO04FmM= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= -go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= -go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.3 h1:8sGtKOrtQqkN1bp2AtX+misvLIlOmsEsNd+9NIcPEm8= -go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -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/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83 h1:/ZScEX8SfEmUGRHs0gxpqteO5nfNW6axyZbBdw9A12g= -golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= -golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= -golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= -golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= -golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6 h1:QE6XYQK6naiK1EPAe1g/ILLxN5RBoH5xkJk3CqlMI/Y= -golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= -golang.org/x/image v0.0.0-20190802002840-cff245a6509b h1:+qEpEAPhDZ1o0x3tHzZTQDArnOixOzGD9HUJfcg0mb4= -golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= -golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20200302205851-738671d3881b h1:Wh+f8QHJXR411sJR8/vRBTZ7YapZaRvUcLFFJhusH0k= -golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= -golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028 h1:4+4C/Iv2U4fMZBiMCc98MG1In4gJY5YRhtpDNeDeHWs= -golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= -golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= -golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= -golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.3.0 h1:RM4zey1++hCTbCVQfnWeKs9/IEsaBLA8vTkd0WVtmH4= -golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -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-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -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-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20210224082022-3d97a244fca7 h1:OgUuv8lsRpBibGNbSizVwKWlysjaNzmC9gYMhPVfqFM= -golang.org/x/net v0.0.0-20210224082022-3d97a244fca7/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d h1:TzXSXBo42m9gQenoE3b9BGiEpg5IG2JkU5FkPIawgtw= -golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/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 h1:SQFwaSi55rU7vdNs9Yr0Z324VNlrF+0wMqRXT4St8ck= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073 h1:8qxJSnu+7dRq6upnbntrmriWByIakBuct5OM/MdQC1M= -golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d h1:SZxvLBoTP5yHO3Frd4z4vrF+DBX9vMVanchswa69toE= -golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.4 h1:0YWbFKbhXG/wIiuHDSKpS0Iy7FSA+u45VtBMfQcFTTc= -golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba h1:O8mE0/t419eoIwhTFpKVkHiTs/Igowgfkj25AcZrtiE= -golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/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-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a h1:CB3a9Nez8M13wwlr/E2YtwoU+qYHKfC+JrDa45RXXoQ= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -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= -google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= -google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= -google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.20.0 h1:jz2KixHX7EcCPiQrySzPdnYT7DbINAypCqKZ1Z7GM40= -google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= -google.golang.org/appengine v1.6.5 h1:tycE03LOZYQNhDpS27tcQdAzLCVMaj7QT2SXxebnpCM= -google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= -google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= -google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013 h1:+kGHl1aib/qcwaRi1CbqBZ1rk19r85MNUf8HaBghugY= -google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= -google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= -google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.1 h1:zvIju4sqAGvwKspUQOhwnpcqSbzi7/H6QomNNjTL4sk= -google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= -google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= -google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.25.0 h1:Ejskq+SyPohKW+1uil0JJMtmHCgJPJ/qWTxr8qp+R4c= -google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/errgo.v2 v2.1.0 h1:0vLT13EuvQ0hNvakwLuFZ/jYrLp5F3kcWHXdRggjCE8= -gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4= -gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= -gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -honnef.co/go/tools v0.0.1-2020.1.3 h1:sXmLre5bzIR6ypkjXCDI3jHPssRhc8KD/Ome589sc3U= -honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -k8s.io/api v0.21.0 h1:gu5iGF4V6tfVCQ/R+8Hc0h7H1JuEhzyEi9S4R5LM8+Y= -k8s.io/api v0.21.0/go.mod h1:+YbrhBBGgsxbF6o6Kj4KJPJnBmAKuXDeS3E18bgHNVU= -k8s.io/apimachinery v0.21.0 h1:3Fx+41if+IRavNcKOz09FwEXDBG6ORh6iMsTSelhkMA= -k8s.io/apimachinery v0.21.0/go.mod h1:jbreFvJo3ov9rj7eWT7+sYiRx+qZuCYXwWT1bcDswPY= -k8s.io/client-go v0.21.0 h1:n0zzzJsAQmJngpC0IhgFcApZyoGXPrDIAD601HD09ag= -k8s.io/client-go v0.21.0/go.mod h1:nNBytTF9qPFDEhoqgEPaarobC8QPae13bElIVHzIglA= -k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac h1:sAvhNk5RRuc6FNYGqe7Ygz3PSo/2wGWbulskmzRX8Vs= -k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= -k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= -k8s.io/klog/v2 v2.8.0 h1:Q3gmuM9hKEjefWFFYF0Mat+YyFJvsUyYuwyNNJ5C9Ts= -k8s.io/klog/v2 v2.8.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec= -k8s.io/kube-openapi v0.0.0-20210305001622-591a79e4bda7 h1:vEx13qjvaZ4yfObSSXW7BrMc/KQBBT/Jyee8XtLf4x0= -k8s.io/kube-openapi v0.0.0-20210305001622-591a79e4bda7/go.mod h1:wXW5VT87nVfh/iLV8FpR2uDvrFyomxbtb1KivDbvPTE= -k8s.io/utils v0.0.0-20201110183641-67b214c5f920 h1:CbnUZsM497iRC5QMVkHwyl8s2tB3g7yaSHkYPkpgelw= -k8s.io/utils v0.0.0-20201110183641-67b214c5f920/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -rsc.io/binaryregexp v0.2.0 h1:HfqmD5MEmC0zvwBuF187nq9mdnXjXsSivRiXN7SmRkE= -rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= -rsc.io/quote/v3 v3.1.0 h1:9JKUTTIUgS6kzR9mK1YuGKv6Nl+DijDNIc0ghT58FaY= -rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= -rsc.io/sampler v1.3.0 h1:7uVkIFmeBqHfdjD+gZwtXXI+RODJ2Wc4O7MPEh/QiW4= -rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= -sigs.k8s.io/structured-merge-diff/v4 v4.1.0 h1:C4r9BgJ98vrKnnVCjwCSXcWjWe0NKcUQkmzDXZXGwH8= -sigs.k8s.io/structured-merge-diff/v4 v4.1.0/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= -sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q= -sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= diff --git a/agent/pkg/resolver/loader.go b/agent/pkg/resolver/loader.go index 20eb9dcc0..60b9bf775 100644 --- a/agent/pkg/resolver/loader.go +++ b/agent/pkg/resolver/loader.go @@ -15,9 +15,9 @@ func NewFromInCluster(errOut chan error, namespace string) (*Resolver, error) { if err != nil { return nil, err } - clientset, err := kubernetes.NewForConfig(config) + clientSet, err := kubernetes.NewForConfig(config) if err != nil { return nil, err } - return &Resolver{clientConfig: config, clientSet: clientset, nameMap: cmap.New(), serviceMap: cmap.New(), errOut: errOut, namespace: namespace}, nil + return &Resolver{clientConfig: config, clientSet: clientSet, nameMap: cmap.New(), serviceMap: cmap.New(), errOut: errOut, namespace: namespace}, nil } diff --git a/agent/pkg/rules/rulesHTTP.go b/agent/pkg/rules/rulesHTTP.go index 529f2f75f..21815f515 100644 --- a/agent/pkg/rules/rulesHTTP.go +++ b/agent/pkg/rules/rulesHTTP.go @@ -56,7 +56,7 @@ func MatchRequestPolicy(harEntry har.Entry, service string) (resultPolicyToSend } if rule.Type == "json" { var bodyJsonMap interface{} - contentTextDecoded, _ := base64.StdEncoding.DecodeString(string(harEntry.Response.Content.Text)) + contentTextDecoded, _ := base64.StdEncoding.DecodeString(harEntry.Response.Content.Text) if err := json.Unmarshal(contentTextDecoded, &bodyJsonMap); err != nil { continue } diff --git a/agent/pkg/utils/pathUtils.go b/agent/pkg/utils/pathUtils.go index d936ecf81..3ba6610ba 100644 --- a/agent/pkg/utils/pathUtils.go +++ b/agent/pkg/utils/pathUtils.go @@ -1,8 +1,9 @@ package utils import ( - "github.com/djherbis/atime" "os" + + "github.com/djherbis/atime" ) type ByModTime []os.FileInfo @@ -19,7 +20,6 @@ func (fis ByModTime) Less(i, j int) bool { return fis[i].ModTime().Before(fis[j].ModTime()) } - type ByName []os.FileInfo func (fis ByName) Len() int { @@ -34,7 +34,6 @@ func (fis ByName) Less(i, j int) bool { return fis[i].Name() < fis[j].Name() } - type ByCreationTime []os.FileInfo func (fis ByCreationTime) Len() int { @@ -47,4 +46,4 @@ func (fis ByCreationTime) Swap(i, j int) { func (fis ByCreationTime) Less(i, j int) bool { return atime.Get(fis[i]).Unix() < atime.Get(fis[j]).Unix() -} \ No newline at end of file +} diff --git a/agent/pkg/utils/utils.go b/agent/pkg/utils/utils.go index 83f26bec7..cfbc7ae85 100644 --- a/agent/pkg/utils/utils.go +++ b/agent/pkg/utils/utils.go @@ -6,7 +6,6 @@ import ( "fmt" "io/ioutil" "net/http" - "net/url" "os" "os/signal" "syscall" @@ -59,17 +58,6 @@ func CheckErr(e error) { } } -func SetHostname(address, newHostname string) string { - replacedUrl, err := url.Parse(address) - if err != nil { - logger.Log.Errorf("error replacing hostname to %s in address %s, returning original %v", newHostname, address, err) - return address - } - replacedUrl.Host = newHostname - return replacedUrl.String() - -} - func ReadJsonFile(filePath string, value interface{}) error { if content, err := ioutil.ReadFile(filePath); err != nil { return err diff --git a/cli/mizu/version/versionCheck.go b/cli/mizu/version/versionCheck.go index 4411f5a79..192908b71 100644 --- a/cli/mizu/version/versionCheck.go +++ b/cli/mizu/version/versionCheck.go @@ -10,32 +10,13 @@ import ( "strings" "time" - "github.com/up9inc/mizu/cli/apiserver" "github.com/up9inc/mizu/cli/mizu" "github.com/up9inc/mizu/cli/pkg/version" "github.com/up9inc/mizu/logger" "github.com/google/go-github/v37/github" - "github.com/up9inc/mizu/cli/uiUtils" ) -func CheckVersionCompatibility(apiServerProvider *apiserver.Provider) (bool, error) { - apiVer, err := apiServerProvider.GetVersion() - if err != nil { - return false, err - } - - if equals, err := version.AreEquals(apiVer, mizu.Ver); err != nil { - return false, fmt.Errorf("Failed to check version equality between mizuVer: %s and apiVer: %s, error: %w", mizu.Ver, apiVer, err) - } else if !equals { - logger.Log.Errorf(uiUtils.Red, fmt.Sprintf("cli version (%s) is not compatible with api version (%s)", mizu.Ver, apiVer)) - return false, nil - } - - logger.Log.Debug("cli version %s is compatible with api version %s", mizu.Ver, apiVer) - return true, nil -} - func CheckNewerVersion(versionChan chan string) { if _, present := os.LookupEnv(mizu.DEVENVVAR); present { versionChan <- "" diff --git a/cli/telemetry/telemetry.go b/cli/telemetry/telemetry.go index db5e113d0..176efaa36 100644 --- a/cli/telemetry/telemetry.go +++ b/cli/telemetry/telemetry.go @@ -73,11 +73,7 @@ func shouldRunTelemetry() bool { return false } - if mizu.Branch != "main" && mizu.Branch != "develop" { - return false - } - - return true + return mizu.Branch == "main" || mizu.Branch == "develop" } func sendTelemetry(argsMap map[string]interface{}) error { diff --git a/shared/kubernetes/watchEvent.go b/shared/kubernetes/watchEvent.go index 81e1d0b09..25016745e 100644 --- a/shared/kubernetes/watchEvent.go +++ b/shared/kubernetes/watchEvent.go @@ -11,11 +11,11 @@ import ( ) const ( - EventAdded watch.EventType = watch.Added - EventModified watch.EventType = watch.Modified - EventDeleted watch.EventType = watch.Deleted - EventBookmark watch.EventType = watch.Bookmark - EventError watch.EventType = watch.Error + EventAdded = watch.Added + EventModified = watch.Modified + EventDeleted = watch.Deleted + EventBookmark = watch.Bookmark + EventError = watch.Error ) type InvalidObjectType struct { diff --git a/shared/models.go b/shared/models.go index 6ec0fbec6..6991d5cd2 100644 --- a/shared/models.go +++ b/shared/models.go @@ -199,7 +199,7 @@ func DecodeEnforcePolicy(path string) (RulesPolicy, error) { if err != nil { return enforcePolicy, err } - err = yaml.Unmarshal([]byte(content), &enforcePolicy) + err = yaml.Unmarshal(content, &enforcePolicy) if err != nil { return enforcePolicy, err } diff --git a/tap/api/api.go b/tap/api/api.go index 8103acd4a..5edb37c82 100644 --- a/tap/api/api.go +++ b/tap/api/api.go @@ -20,9 +20,9 @@ import ( ) const mizuTestEnvVar = "MIZU_TEST" -const UNKNOWN_NAMESPACE = "" +const UnknownNamespace = "" -var UnknownIp net.IP = net.IP{0, 0, 0, 0} +var UnknownIp = net.IP{0, 0, 0, 0} var UnknownPort uint16 = 0 type Protocol struct { diff --git a/tap/dbgctl/debug_control.go b/tap/dbgctl/debug_control.go index 0503a1469..63da05b6a 100644 --- a/tap/dbgctl/debug_control.go +++ b/tap/dbgctl/debug_control.go @@ -5,11 +5,11 @@ import ( ) var ( - MizuTapperDisablePcap bool = os.Getenv("MIZU_DEBUG_DISABLE_PCAP") == "true" - MizuTapperDisableTcpReassembly bool = os.Getenv("MIZU_DEBUG_DISABLE_TCP_REASSEMBLY") == "true" - MizuTapperDisableTcpStream bool = os.Getenv("MIZU_DEBUG_DISABLE_TCP_STREAM") == "true" - MizuTapperDisableDissectors bool = os.Getenv("MIZU_DEBUG_DISABLE_DISSECTORS") == "true" - MizuTapperDisableEmitting bool = os.Getenv("MIZU_DEBUG_DISABLE_EMITTING") == "true" - MizuTapperDisableSending bool = os.Getenv("MIZU_DEBUG_DISABLE_SENDING") == "true" - MizuTapperDisableNonHttpExtensions bool = os.Getenv("MIZU_DEBUG_DISABLE_NON_HTTP_EXTENSSION") == "true" + MizuTapperDisablePcap = os.Getenv("MIZU_DEBUG_DISABLE_PCAP") == "true" + MizuTapperDisableTcpReassembly = os.Getenv("MIZU_DEBUG_DISABLE_TCP_REASSEMBLY") == "true" + MizuTapperDisableTcpStream = os.Getenv("MIZU_DEBUG_DISABLE_TCP_STREAM") == "true" + MizuTapperDisableDissectors = os.Getenv("MIZU_DEBUG_DISABLE_DISSECTORS") == "true" + MizuTapperDisableEmitting = os.Getenv("MIZU_DEBUG_DISABLE_EMITTING") == "true" + MizuTapperDisableSending = os.Getenv("MIZU_DEBUG_DISABLE_SENDING") == "true" + MizuTapperDisableNonHttpExtensions = os.Getenv("MIZU_DEBUG_DISABLE_NON_HTTP_EXTENSSION") == "true" ) diff --git a/tap/extensions/amqp/main.go b/tap/extensions/amqp/main.go index 8d77d043e..a54799462 100644 --- a/tap/extensions/amqp/main.go +++ b/tap/extensions/amqp/main.go @@ -12,7 +12,7 @@ import ( "github.com/up9inc/mizu/tap/api" ) -var protocol api.Protocol = api.Protocol{ +var protocol = api.Protocol{ Name: "amqp", LongName: "Advanced Message Queuing Protocol 0-9-1", Abbreviation: "AMQP", @@ -74,13 +74,13 @@ func (d dissecting) Dissect(b *bufio.Reader, reader api.TcpReader, options *api. var lastMethodFrameMessage Message for { - frame, err := r.ReadFrame() + frameVal, err := r.readFrame() if err == io.EOF { // We must read until we see an EOF... very important! return err } - switch f := frame.(type) { + switch f := frameVal.(type) { case *HeartbeatFrame: // drop @@ -203,7 +203,7 @@ func (d dissecting) Dissect(b *bufio.Reader, reader api.TcpReader, options *api. } default: - // log.Printf("unexpected frame: %+v", f) + // log.Printf("unexpected frameVal: %+v", f) } } } diff --git a/tap/extensions/amqp/read.go b/tap/extensions/amqp/read.go index 99b0f4e64..b824da91c 100644 --- a/tap/extensions/amqp/read.go +++ b/tap/extensions/amqp/read.go @@ -43,14 +43,14 @@ In realistic implementations where performance is a concern, we would use “gathering reads” to avoid doing three separate system calls to read a frame. */ -func (r *AmqpReader) ReadFrame() (frame frame, err error) { +func (r *AmqpReader) readFrame() (frame frame, err error) { var scratch [7]byte if _, err = io.ReadFull(r.R, scratch[:7]); err != nil { return } - typ := uint8(scratch[0]) + typ := scratch[0] channel := binary.BigEndian.Uint16(scratch[1:3]) size := binary.BigEndian.Uint32(scratch[3:7]) @@ -94,20 +94,20 @@ func (r *AmqpReader) ReadFrame() (frame frame, err error) { return } -func readShortstr(r io.Reader) (v string, err error) { +func readShortStr(r io.Reader) (v string, err error) { var length uint8 if err = binary.Read(r, binary.BigEndian, &length); err != nil { return } - bytes := make([]byte, length) - if _, err = io.ReadFull(r, bytes); err != nil { + bytesValue := make([]byte, length) + if _, err = io.ReadFull(r, bytesValue); err != nil { return } - return string(bytes), nil + return string(bytesValue), nil } -func readLongstr(r io.Reader) (v string, err error) { +func readLongStr(r io.Reader) (v string, err error) { var length uint32 if err = binary.Read(r, binary.BigEndian, &length); err != nil { return @@ -118,11 +118,11 @@ func readLongstr(r io.Reader) (v string, err error) { return } - bytes := make([]byte, length) - if _, err = io.ReadFull(r, bytes); err != nil { + bytesValue := make([]byte, length) + if _, err = io.ReadFull(r, bytesValue); err != nil { return } - return string(bytes), nil + return string(bytesValue), nil } func readDecimal(r io.Reader) (v Decimal, err error) { @@ -171,7 +171,7 @@ func readField(r io.Reader) (v interface{}, err error) { if err = binary.Read(r, binary.BigEndian, &value); err != nil { return } - return (value != 0), nil + return value != 0, nil case 'b': var value [1]byte @@ -219,7 +219,7 @@ func readField(r io.Reader) (v interface{}, err error) { return readDecimal(r) case 'S': - return readLongstr(r) + return readLongStr(r) case 'A': return readArray(r) @@ -231,12 +231,12 @@ func readField(r io.Reader) (v interface{}, err error) { return readTable(r) case 'x': - var len int32 - if err = binary.Read(r, binary.BigEndian, &len); err != nil { + var lenVal int32 + if err = binary.Read(r, binary.BigEndian, &lenVal); err != nil { return nil, err } - value := make([]byte, len) + value := make([]byte, lenVal) if _, err = io.ReadFull(r, value); err != nil { return nil, err } @@ -261,7 +261,7 @@ func readTable(r io.Reader) (table Table, err error) { var nested bytes.Buffer var str string - if str, err = readLongstr(r); err != nil { + if str, err = readLongStr(r); err != nil { return } @@ -273,7 +273,7 @@ func readTable(r io.Reader) (table Table, err error) { var key string var value interface{} - if key, err = readShortstr(&nested); err != nil { + if key, err = readShortStr(&nested); err != nil { return } @@ -349,12 +349,12 @@ func (r *AmqpReader) parseHeaderFrame(channel uint16, size uint32) (frame frame, } if hasProperty(flags, flagContentType) { - if hf.Properties.ContentType, err = readShortstr(r.R); err != nil { + if hf.Properties.ContentType, err = readShortStr(r.R); err != nil { return } } if hasProperty(flags, flagContentEncoding) { - if hf.Properties.ContentEncoding, err = readShortstr(r.R); err != nil { + if hf.Properties.ContentEncoding, err = readShortStr(r.R); err != nil { return } } @@ -374,22 +374,22 @@ func (r *AmqpReader) parseHeaderFrame(channel uint16, size uint32) (frame frame, } } if hasProperty(flags, flagCorrelationId) { - if hf.Properties.CorrelationId, err = readShortstr(r.R); err != nil { + if hf.Properties.CorrelationId, err = readShortStr(r.R); err != nil { return } } if hasProperty(flags, flagReplyTo) { - if hf.Properties.ReplyTo, err = readShortstr(r.R); err != nil { + if hf.Properties.ReplyTo, err = readShortStr(r.R); err != nil { return } } if hasProperty(flags, flagExpiration) { - if hf.Properties.Expiration, err = readShortstr(r.R); err != nil { + if hf.Properties.Expiration, err = readShortStr(r.R); err != nil { return } } if hasProperty(flags, flagMessageId) { - if hf.Properties.MessageId, err = readShortstr(r.R); err != nil { + if hf.Properties.MessageId, err = readShortStr(r.R); err != nil { return } } @@ -399,22 +399,22 @@ func (r *AmqpReader) parseHeaderFrame(channel uint16, size uint32) (frame frame, } } if hasProperty(flags, flagType) { - if hf.Properties.Type, err = readShortstr(r.R); err != nil { + if hf.Properties.Type, err = readShortStr(r.R); err != nil { return } } if hasProperty(flags, flagUserId) { - if hf.Properties.UserId, err = readShortstr(r.R); err != nil { + if hf.Properties.UserId, err = readShortStr(r.R); err != nil { return } } if hasProperty(flags, flagAppId) { - if hf.Properties.AppId, err = readShortstr(r.R); err != nil { + if hf.Properties.AppId, err = readShortStr(r.R); err != nil { return } } if hasProperty(flags, flagReserved1) { - if hf.Properties.reserved1, err = readShortstr(r.R); err != nil { + if hf.Properties.reserved1, err = readShortStr(r.R); err != nil { return } } @@ -436,7 +436,7 @@ func (r *AmqpReader) parseBodyFrame(channel uint16, size uint32) (frame frame, e return bf, nil } -var errHeartbeatPayload = errors.New("Heartbeats should not have a payload") +var errHeartbeatPayload = errors.New("heartbeats should not have a payload") func (r *AmqpReader) parseHeartbeatFrame(channel uint16, size uint32) (frame frame, err error) { hf := &HeartbeatFrame{ diff --git a/tap/extensions/amqp/spec091.go b/tap/extensions/amqp/spec091.go index 1dcde581f..b708bfa8a 100644 --- a/tap/extensions/amqp/spec091.go +++ b/tap/extensions/amqp/spec091.go @@ -70,10 +70,10 @@ func (msg *ConnectionStart) read(r io.Reader) (err error) { return } - if msg.Mechanisms, err = readLongstr(r); err != nil { + if msg.Mechanisms, err = readLongStr(r); err != nil { return } - if msg.Locales, err = readLongstr(r); err != nil { + if msg.Locales, err = readLongStr(r); err != nil { return } @@ -93,15 +93,15 @@ func (msg *ConnectionStartOk) read(r io.Reader) (err error) { return } - if msg.Mechanism, err = readShortstr(r); err != nil { + if msg.Mechanism, err = readShortStr(r); err != nil { return } - if msg.Response, err = readLongstr(r); err != nil { + if msg.Response, err = readLongStr(r); err != nil { return } - if msg.Locale, err = readShortstr(r); err != nil { + if msg.Locale, err = readShortStr(r); err != nil { return } @@ -114,7 +114,7 @@ type connectionSecure struct { func (msg *connectionSecure) read(r io.Reader) (err error) { - if msg.Challenge, err = readLongstr(r); err != nil { + if msg.Challenge, err = readLongStr(r); err != nil { return } @@ -127,7 +127,7 @@ type connectionSecureOk struct { func (msg *connectionSecureOk) read(r io.Reader) (err error) { - if msg.Response, err = readLongstr(r); err != nil { + if msg.Response, err = readLongStr(r); err != nil { return } @@ -189,17 +189,17 @@ type connectionOpen struct { func (msg *connectionOpen) read(r io.Reader) (err error) { var bits byte - if msg.VirtualHost, err = readShortstr(r); err != nil { + if msg.VirtualHost, err = readShortStr(r); err != nil { return } - if msg.reserved1, err = readShortstr(r); err != nil { + if msg.reserved1, err = readShortStr(r); err != nil { return } if err = binary.Read(r, binary.BigEndian, &bits); err != nil { return } - msg.reserved2 = (bits&(1<<0) > 0) + msg.reserved2 = bits&(1<<0) > 0 return } @@ -210,7 +210,7 @@ type connectionOpenOk struct { func (msg *connectionOpenOk) read(r io.Reader) (err error) { - if msg.reserved1, err = readShortstr(r); err != nil { + if msg.reserved1, err = readShortStr(r); err != nil { return } @@ -230,7 +230,7 @@ func (msg *ConnectionClose) read(r io.Reader) (err error) { return } - if msg.ReplyText, err = readShortstr(r); err != nil { + if msg.ReplyText, err = readShortStr(r); err != nil { return } @@ -258,7 +258,7 @@ type connectionBlocked struct { func (msg *connectionBlocked) read(r io.Reader) (err error) { - if msg.Reason, err = readShortstr(r); err != nil { + if msg.Reason, err = readShortStr(r); err != nil { return } @@ -279,7 +279,7 @@ type channelOpen struct { func (msg *channelOpen) read(r io.Reader) (err error) { - if msg.reserved1, err = readShortstr(r); err != nil { + if msg.reserved1, err = readShortStr(r); err != nil { return } @@ -292,7 +292,7 @@ type channelOpenOk struct { func (msg *channelOpenOk) read(r io.Reader) (err error) { - if msg.reserved1, err = readLongstr(r); err != nil { + if msg.reserved1, err = readLongStr(r); err != nil { return } @@ -309,7 +309,7 @@ func (msg *channelFlow) read(r io.Reader) (err error) { if err = binary.Read(r, binary.BigEndian, &bits); err != nil { return } - msg.Active = (bits&(1<<0) > 0) + msg.Active = bits&(1<<0) > 0 return } @@ -324,7 +324,7 @@ func (msg *channelFlowOk) read(r io.Reader) (err error) { if err = binary.Read(r, binary.BigEndian, &bits); err != nil { return } - msg.Active = (bits&(1<<0) > 0) + msg.Active = bits&(1<<0) > 0 return } @@ -342,7 +342,7 @@ func (msg *channelClose) read(r io.Reader) (err error) { return } - if msg.ReplyText, err = readShortstr(r); err != nil { + if msg.ReplyText, err = readShortStr(r); err != nil { return } @@ -383,21 +383,21 @@ func (msg *ExchangeDeclare) read(r io.Reader) (err error) { return } - if msg.Exchange, err = readShortstr(r); err != nil { + if msg.Exchange, err = readShortStr(r); err != nil { return } - if msg.Type, err = readShortstr(r); err != nil { + if msg.Type, err = readShortStr(r); err != nil { return } if err = binary.Read(r, binary.BigEndian, &bits); err != nil { return } - msg.Passive = (bits&(1<<0) > 0) - msg.Durable = (bits&(1<<1) > 0) - msg.AutoDelete = (bits&(1<<2) > 0) - msg.Internal = (bits&(1<<3) > 0) - msg.NoWait = (bits&(1<<4) > 0) + msg.Passive = bits&(1<<0) > 0 + msg.Durable = bits&(1<<1) > 0 + msg.AutoDelete = bits&(1<<2) > 0 + msg.Internal = bits&(1<<3) > 0 + msg.NoWait = bits&(1<<4) > 0 if msg.Arguments, err = readTable(r); err != nil { return @@ -428,15 +428,15 @@ func (msg *exchangeDelete) read(r io.Reader) (err error) { return } - if msg.Exchange, err = readShortstr(r); err != nil { + if msg.Exchange, err = readShortStr(r); err != nil { return } if err = binary.Read(r, binary.BigEndian, &bits); err != nil { return } - msg.IfUnused = (bits&(1<<0) > 0) - msg.NoWait = (bits&(1<<1) > 0) + msg.IfUnused = bits&(1<<0) > 0 + msg.NoWait = bits&(1<<1) > 0 return } @@ -465,20 +465,20 @@ func (msg *exchangeBind) read(r io.Reader) (err error) { return } - if msg.Destination, err = readShortstr(r); err != nil { + if msg.Destination, err = readShortStr(r); err != nil { return } - if msg.Source, err = readShortstr(r); err != nil { + if msg.Source, err = readShortStr(r); err != nil { return } - if msg.RoutingKey, err = readShortstr(r); err != nil { + if msg.RoutingKey, err = readShortStr(r); err != nil { return } if err = binary.Read(r, binary.BigEndian, &bits); err != nil { return } - msg.NoWait = (bits&(1<<0) > 0) + msg.NoWait = bits&(1<<0) > 0 if msg.Arguments, err = readTable(r); err != nil { return @@ -511,20 +511,20 @@ func (msg *exchangeUnbind) read(r io.Reader) (err error) { return } - if msg.Destination, err = readShortstr(r); err != nil { + if msg.Destination, err = readShortStr(r); err != nil { return } - if msg.Source, err = readShortstr(r); err != nil { + if msg.Source, err = readShortStr(r); err != nil { return } - if msg.RoutingKey, err = readShortstr(r); err != nil { + if msg.RoutingKey, err = readShortStr(r); err != nil { return } if err = binary.Read(r, binary.BigEndian, &bits); err != nil { return } - msg.NoWait = (bits&(1<<0) > 0) + msg.NoWait = bits&(1<<0) > 0 if msg.Arguments, err = readTable(r); err != nil { return @@ -559,18 +559,18 @@ func (msg *QueueDeclare) read(r io.Reader) (err error) { return } - if msg.Queue, err = readShortstr(r); err != nil { + if msg.Queue, err = readShortStr(r); err != nil { return } if err = binary.Read(r, binary.BigEndian, &bits); err != nil { return } - msg.Passive = (bits&(1<<0) > 0) - msg.Durable = (bits&(1<<1) > 0) - msg.Exclusive = (bits&(1<<2) > 0) - msg.AutoDelete = (bits&(1<<3) > 0) - msg.NoWait = (bits&(1<<4) > 0) + msg.Passive = bits&(1<<0) > 0 + msg.Durable = bits&(1<<1) > 0 + msg.Exclusive = bits&(1<<2) > 0 + msg.AutoDelete = bits&(1<<3) > 0 + msg.NoWait = bits&(1<<4) > 0 if msg.Arguments, err = readTable(r); err != nil { return @@ -587,7 +587,7 @@ type QueueDeclareOk struct { func (msg *QueueDeclareOk) read(r io.Reader) (err error) { - if msg.Queue, err = readShortstr(r); err != nil { + if msg.Queue, err = readShortStr(r); err != nil { return } @@ -617,20 +617,20 @@ func (msg *QueueBind) read(r io.Reader) (err error) { return } - if msg.Queue, err = readShortstr(r); err != nil { + if msg.Queue, err = readShortStr(r); err != nil { return } - if msg.Exchange, err = readShortstr(r); err != nil { + if msg.Exchange, err = readShortStr(r); err != nil { return } - if msg.RoutingKey, err = readShortstr(r); err != nil { + if msg.RoutingKey, err = readShortStr(r); err != nil { return } if err = binary.Read(r, binary.BigEndian, &bits); err != nil { return } - msg.NoWait = (bits&(1<<0) > 0) + msg.NoWait = bits&(1<<0) > 0 if msg.Arguments, err = readTable(r); err != nil { return @@ -661,13 +661,13 @@ func (msg *queueUnbind) read(r io.Reader) (err error) { return } - if msg.Queue, err = readShortstr(r); err != nil { + if msg.Queue, err = readShortStr(r); err != nil { return } - if msg.Exchange, err = readShortstr(r); err != nil { + if msg.Exchange, err = readShortStr(r); err != nil { return } - if msg.RoutingKey, err = readShortstr(r); err != nil { + if msg.RoutingKey, err = readShortStr(r); err != nil { return } @@ -699,14 +699,14 @@ func (msg *queuePurge) read(r io.Reader) (err error) { return } - if msg.Queue, err = readShortstr(r); err != nil { + if msg.Queue, err = readShortStr(r); err != nil { return } if err = binary.Read(r, binary.BigEndian, &bits); err != nil { return } - msg.NoWait = (bits&(1<<0) > 0) + msg.NoWait = bits&(1<<0) > 0 return } @@ -739,16 +739,16 @@ func (msg *queueDelete) read(r io.Reader) (err error) { return } - if msg.Queue, err = readShortstr(r); err != nil { + if msg.Queue, err = readShortStr(r); err != nil { return } if err = binary.Read(r, binary.BigEndian, &bits); err != nil { return } - msg.IfUnused = (bits&(1<<0) > 0) - msg.IfEmpty = (bits&(1<<1) > 0) - msg.NoWait = (bits&(1<<2) > 0) + msg.IfUnused = bits&(1<<0) > 0 + msg.IfEmpty = bits&(1<<1) > 0 + msg.NoWait = bits&(1<<2) > 0 return } @@ -786,7 +786,7 @@ func (msg *basicQos) read(r io.Reader) (err error) { if err = binary.Read(r, binary.BigEndian, &bits); err != nil { return } - msg.Global = (bits&(1<<0) > 0) + msg.Global = bits&(1<<0) > 0 return } @@ -817,20 +817,20 @@ func (msg *BasicConsume) read(r io.Reader) (err error) { return } - if msg.Queue, err = readShortstr(r); err != nil { + if msg.Queue, err = readShortStr(r); err != nil { return } - if msg.ConsumerTag, err = readShortstr(r); err != nil { + if msg.ConsumerTag, err = readShortStr(r); err != nil { return } if err = binary.Read(r, binary.BigEndian, &bits); err != nil { return } - msg.NoLocal = (bits&(1<<0) > 0) - msg.NoAck = (bits&(1<<1) > 0) - msg.Exclusive = (bits&(1<<2) > 0) - msg.NoWait = (bits&(1<<3) > 0) + msg.NoLocal = bits&(1<<0) > 0 + msg.NoAck = bits&(1<<1) > 0 + msg.Exclusive = bits&(1<<2) > 0 + msg.NoWait = bits&(1<<3) > 0 if msg.Arguments, err = readTable(r); err != nil { return @@ -845,7 +845,7 @@ type BasicConsumeOk struct { func (msg *BasicConsumeOk) read(r io.Reader) (err error) { - if msg.ConsumerTag, err = readShortstr(r); err != nil { + if msg.ConsumerTag, err = readShortStr(r); err != nil { return } @@ -860,14 +860,14 @@ type basicCancel struct { func (msg *basicCancel) read(r io.Reader) (err error) { var bits byte - if msg.ConsumerTag, err = readShortstr(r); err != nil { + if msg.ConsumerTag, err = readShortStr(r); err != nil { return } if err = binary.Read(r, binary.BigEndian, &bits); err != nil { return } - msg.NoWait = (bits&(1<<0) > 0) + msg.NoWait = bits&(1<<0) > 0 return } @@ -878,7 +878,7 @@ type basicCancelOk struct { func (msg *basicCancelOk) read(r io.Reader) (err error) { - if msg.ConsumerTag, err = readShortstr(r); err != nil { + if msg.ConsumerTag, err = readShortStr(r); err != nil { return } @@ -910,18 +910,18 @@ func (msg *BasicPublish) read(r io.Reader) (err error) { return } - if msg.Exchange, err = readShortstr(r); err != nil { + if msg.Exchange, err = readShortStr(r); err != nil { return } - if msg.RoutingKey, err = readShortstr(r); err != nil { + if msg.RoutingKey, err = readShortStr(r); err != nil { return } if err = binary.Read(r, binary.BigEndian, &bits); err != nil { return } - msg.Mandatory = (bits&(1<<0) > 0) - msg.Immediate = (bits&(1<<1) > 0) + msg.Mandatory = bits&(1<<0) > 0 + msg.Immediate = bits&(1<<1) > 0 return } @@ -949,13 +949,13 @@ func (msg *basicReturn) read(r io.Reader) (err error) { return } - if msg.ReplyText, err = readShortstr(r); err != nil { + if msg.ReplyText, err = readShortStr(r); err != nil { return } - if msg.Exchange, err = readShortstr(r); err != nil { + if msg.Exchange, err = readShortStr(r); err != nil { return } - if msg.RoutingKey, err = readShortstr(r); err != nil { + if msg.RoutingKey, err = readShortStr(r); err != nil { return } @@ -983,7 +983,7 @@ func (msg *BasicDeliver) setContent(props Properties, body []byte) { func (msg *BasicDeliver) read(r io.Reader) (err error) { var bits byte - if msg.ConsumerTag, err = readShortstr(r); err != nil { + if msg.ConsumerTag, err = readShortStr(r); err != nil { return } @@ -994,12 +994,12 @@ func (msg *BasicDeliver) read(r io.Reader) (err error) { if err = binary.Read(r, binary.BigEndian, &bits); err != nil { return } - msg.Redelivered = (bits&(1<<0) > 0) + msg.Redelivered = bits&(1<<0) > 0 - if msg.Exchange, err = readShortstr(r); err != nil { + if msg.Exchange, err = readShortStr(r); err != nil { return } - if msg.RoutingKey, err = readShortstr(r); err != nil { + if msg.RoutingKey, err = readShortStr(r); err != nil { return } @@ -1019,14 +1019,14 @@ func (msg *basicGet) read(r io.Reader) (err error) { return } - if msg.Queue, err = readShortstr(r); err != nil { + if msg.Queue, err = readShortStr(r); err != nil { return } if err = binary.Read(r, binary.BigEndian, &bits); err != nil { return } - msg.NoAck = (bits&(1<<0) > 0) + msg.NoAck = bits&(1<<0) > 0 return } @@ -1059,12 +1059,12 @@ func (msg *basicGetOk) read(r io.Reader) (err error) { if err = binary.Read(r, binary.BigEndian, &bits); err != nil { return } - msg.Redelivered = (bits&(1<<0) > 0) + msg.Redelivered = bits&(1<<0) > 0 - if msg.Exchange, err = readShortstr(r); err != nil { + if msg.Exchange, err = readShortStr(r); err != nil { return } - if msg.RoutingKey, err = readShortstr(r); err != nil { + if msg.RoutingKey, err = readShortStr(r); err != nil { return } @@ -1081,7 +1081,7 @@ type basicGetEmpty struct { func (msg *basicGetEmpty) read(r io.Reader) (err error) { - if msg.reserved1, err = readShortstr(r); err != nil { + if msg.reserved1, err = readShortStr(r); err != nil { return } @@ -1103,7 +1103,7 @@ func (msg *basicAck) read(r io.Reader) (err error) { if err = binary.Read(r, binary.BigEndian, &bits); err != nil { return } - msg.Multiple = (bits&(1<<0) > 0) + msg.Multiple = bits&(1<<0) > 0 return } @@ -1123,7 +1123,7 @@ func (msg *basicReject) read(r io.Reader) (err error) { if err = binary.Read(r, binary.BigEndian, &bits); err != nil { return } - msg.Requeue = (bits&(1<<0) > 0) + msg.Requeue = bits&(1<<0) > 0 return } @@ -1138,7 +1138,7 @@ func (msg *basicRecoverAsync) read(r io.Reader) (err error) { if err = binary.Read(r, binary.BigEndian, &bits); err != nil { return } - msg.Requeue = (bits&(1<<0) > 0) + msg.Requeue = bits&(1<<0) > 0 return } @@ -1153,7 +1153,7 @@ func (msg *basicRecover) read(r io.Reader) (err error) { if err = binary.Read(r, binary.BigEndian, &bits); err != nil { return } - msg.Requeue = (bits&(1<<0) > 0) + msg.Requeue = bits&(1<<0) > 0 return } @@ -1182,8 +1182,8 @@ func (msg *basicNack) read(r io.Reader) (err error) { if err = binary.Read(r, binary.BigEndian, &bits); err != nil { return } - msg.Multiple = (bits&(1<<0) > 0) - msg.Requeue = (bits&(1<<1) > 0) + msg.Multiple = bits&(1<<0) > 0 + msg.Requeue = bits&(1<<1) > 0 return } @@ -1246,7 +1246,7 @@ func (msg *confirmSelect) read(r io.Reader) (err error) { if err = binary.Read(r, binary.BigEndian, &bits); err != nil { return } - msg.Nowait = (bits&(1<<0) > 0) + msg.Nowait = bits&(1<<0) > 0 return } diff --git a/tap/extensions/http/http2_assembler.go b/tap/extensions/http/http2_assembler.go index 92f05c60f..04007e192 100644 --- a/tap/extensions/http/http2_assembler.go +++ b/tap/extensions/http/http2_assembler.go @@ -91,7 +91,7 @@ func (ga *Http2Assembler) readMessage() (streamID uint32, messageHTTP1 interface // Exactly one Framer is used for each half connection. // (Instead of creating a new Framer for each ReadFrame operation) // This is needed in order to decompress the headers, - // because the compression context is updated with each requests/response. + // because the compression context is updated with each request/response. frame, err := ga.framer.ReadFrame() if err != nil { return diff --git a/tap/extensions/http/main.go b/tap/extensions/http/main.go index 6bc18086b..57b49b329 100644 --- a/tap/extensions/http/main.go +++ b/tap/extensions/http/main.go @@ -14,7 +14,7 @@ import ( "github.com/up9inc/mizu/tap/api" ) -var http10protocol api.Protocol = api.Protocol{ +var http10protocol = api.Protocol{ Name: "http", LongName: "Hypertext Transfer Protocol -- HTTP/1.0", Abbreviation: "HTTP", @@ -28,7 +28,7 @@ var http10protocol api.Protocol = api.Protocol{ Priority: 0, } -var http11protocol api.Protocol = api.Protocol{ +var http11protocol = api.Protocol{ Name: "http", LongName: "Hypertext Transfer Protocol -- HTTP/1.1", Abbreviation: "HTTP", @@ -42,7 +42,7 @@ var http11protocol api.Protocol = api.Protocol{ Priority: 0, } -var http2Protocol api.Protocol = api.Protocol{ +var http2Protocol = api.Protocol{ Name: "http", LongName: "Hypertext Transfer Protocol Version 2 (HTTP/2)", Abbreviation: "HTTP/2", @@ -56,7 +56,7 @@ var http2Protocol api.Protocol = api.Protocol{ Priority: 0, } -var grpcProtocol api.Protocol = api.Protocol{ +var grpcProtocol = api.Protocol{ Name: "http", LongName: "Hypertext Transfer Protocol Version 2 (HTTP/2) [ gRPC over HTTP/2 ]", Abbreviation: "gRPC", @@ -70,7 +70,7 @@ var grpcProtocol api.Protocol = api.Protocol{ Priority: 0, } -var graphQL1Protocol api.Protocol = api.Protocol{ +var graphQL1Protocol = api.Protocol{ Name: "http", LongName: "Hypertext Transfer Protocol -- HTTP/1.1 [ GraphQL over HTTP/1.1 ]", Abbreviation: "GQL", @@ -84,7 +84,7 @@ var graphQL1Protocol api.Protocol = api.Protocol{ Priority: 0, } -var graphQL2Protocol api.Protocol = api.Protocol{ +var graphQL2Protocol = api.Protocol{ Name: "http", LongName: "Hypertext Transfer Protocol Version 2 (HTTP/2) [ GraphQL over HTTP/2 ]", Abbreviation: "GQL", diff --git a/tap/extensions/http/sensitive_data_cleaner.go b/tap/extensions/http/sensitive_data_cleaner.go index 73fa01b8d..e6f9b8554 100644 --- a/tap/extensions/http/sensitive_data_cleaner.go +++ b/tap/extensions/http/sensitive_data_cleaner.go @@ -66,7 +66,7 @@ func filterRequestBody(request *http.Request, options *api.TrafficFilteringOptio if err != nil { return } - filteredBody, err := filterHttpBody([]byte(body), contenType, options) + filteredBody, err := filterHttpBody(body, contenType, options) if err == nil { request.Body = ioutil.NopCloser(bytes.NewBuffer(filteredBody)) } else { @@ -80,7 +80,7 @@ func filterResponseBody(response *http.Response, options *api.TrafficFilteringOp if err != nil { return } - filteredBody, err := filterHttpBody([]byte(body), contentType, options) + filteredBody, err := filterHttpBody(body, contentType, options) if err == nil { response.Body = ioutil.NopCloser(bytes.NewBuffer(filteredBody)) } else { diff --git a/tap/extensions/kafka/helpers.go b/tap/extensions/kafka/helpers.go index 24e061de2..353833320 100644 --- a/tap/extensions/kafka/helpers.go +++ b/tap/extensions/kafka/helpers.go @@ -817,12 +817,12 @@ func representDeleteTopicsRequest(data map[string]interface{}) []interface{} { repPayload, _ := json.Marshal([]api.TableData{ { Name: "TopicNames", - Value: string(topicNames), + Value: topicNames, Selector: `request.payload.topicNames`, }, { Name: "Topics", - Value: string(topics), + Value: topics, Selector: `request.payload.topics`, }, { diff --git a/tap/extensions/kafka/main.go b/tap/extensions/kafka/main.go index f0097d229..827517a6f 100644 --- a/tap/extensions/kafka/main.go +++ b/tap/extensions/kafka/main.go @@ -10,7 +10,7 @@ import ( "github.com/up9inc/mizu/tap/api" ) -var _protocol api.Protocol = api.Protocol{ +var _protocol = api.Protocol{ Name: "kafka", LongName: "Apache Kafka Protocol", Abbreviation: "KAFKA", diff --git a/tap/extensions/kafka/reflect.go b/tap/extensions/kafka/reflect.go index be87fc574..c3aeec047 100644 --- a/tap/extensions/kafka/reflect.go +++ b/tap/extensions/kafka/reflect.go @@ -56,6 +56,6 @@ func makeArray(t reflect.Type, n int) array { func (a array) index(i int) value { return value{val: a.val.Index(i)} } -func indexOf(s reflect.StructField) index { return index(s.Index) } +func indexOf(s reflect.StructField) index { return s.Index } func bytesToString(b []byte) string { return string(b) } diff --git a/tap/extensions/redis/main.go b/tap/extensions/redis/main.go index 88add99cf..29768959f 100644 --- a/tap/extensions/redis/main.go +++ b/tap/extensions/redis/main.go @@ -10,7 +10,7 @@ import ( "github.com/up9inc/mizu/tap/api" ) -var protocol api.Protocol = api.Protocol{ +var protocol = api.Protocol{ Name: "redis", LongName: "Redis Serialization Protocol", Abbreviation: "REDIS", diff --git a/tap/extensions/redis/structs.go b/tap/extensions/redis/structs.go index cd314b6eb..e2b13d446 100644 --- a/tap/extensions/redis/structs.go +++ b/tap/extensions/redis/structs.go @@ -4,7 +4,7 @@ type RedisType string type RedisCommand string type RedisKeyword string -var types map[rune]RedisType = map[rune]RedisType{ +var types = map[rune]RedisType{ plusByte: "Simple String", dollarByte: "Bulk String", asteriskByte: "Array", @@ -13,7 +13,7 @@ var types map[rune]RedisType = map[rune]RedisType{ notApplicableByte: "N/A", } -var commands []RedisCommand = []RedisCommand{ +var commands = []RedisCommand{ "PING", "SET", "GET", @@ -200,7 +200,7 @@ var commands []RedisCommand = []RedisCommand{ "XCLAIM", } -var keywords []RedisKeyword = []RedisKeyword{ +var keywords = []RedisKeyword{ "AGGREGATE", "ALPHA", "ASC", diff --git a/tap/passive_tapper.go b/tap/passive_tapper.go index 08d900b02..e27925736 100644 --- a/tap/passive_tapper.go +++ b/tap/passive_tapper.go @@ -292,7 +292,7 @@ func startTlsTapper(extension *api.Extension, outputItems chan *api.OutputChanne // A quick way to instrument libssl.so without PID filtering - used for debuging and troubleshooting // if os.Getenv("MIZU_GLOBAL_SSL_LIBRARY") != "" { - if err := tls.GlobalSsllibTap(os.Getenv("MIZU_GLOBAL_SSL_LIBRARY")); err != nil { + if err := tls.GlobalSSLLibTap(os.Getenv("MIZU_GLOBAL_SSL_LIBRARY")); err != nil { tlstapper.LogError(err) return nil } diff --git a/tap/tlstapper/chunk.go b/tap/tlstapper/chunk.go index 006585ec1..4b2cfa5df 100644 --- a/tap/tlstapper/chunk.go +++ b/tap/tlstapper/chunk.go @@ -9,8 +9,8 @@ import ( "github.com/up9inc/mizu/tap/api" ) -const FLAGS_IS_CLIENT_BIT uint32 = (1 << 0) -const FLAGS_IS_READ_BIT uint32 = (1 << 1) +const FlagsIsClientBit uint32 = 1 << 0 +const FlagsIsReadBit uint32 = 1 << 1 func (c *tlsTapperTlsChunk) getAddress() (net.IP, uint16, error) { address := bytes.NewReader(c.Address[:]) @@ -36,7 +36,7 @@ func (c *tlsTapperTlsChunk) getAddress() (net.IP, uint16, error) { } func (c *tlsTapperTlsChunk) isClient() bool { - return c.Flags&FLAGS_IS_CLIENT_BIT != 0 + return c.Flags&FlagsIsClientBit != 0 } func (c *tlsTapperTlsChunk) isServer() bool { @@ -44,7 +44,7 @@ func (c *tlsTapperTlsChunk) isServer() bool { } func (c *tlsTapperTlsChunk) isRead() bool { - return c.Flags&FLAGS_IS_READ_BIT != 0 + return c.Flags&FlagsIsReadBit != 0 } func (c *tlsTapperTlsChunk) isWrite() bool { diff --git a/tap/tlstapper/ssllib_hooks.go b/tap/tlstapper/ssllib_hooks.go index 266dd9f33..1cee5d248 100644 --- a/tap/tlstapper/ssllib_hooks.go +++ b/tap/tlstapper/ssllib_hooks.go @@ -107,47 +107,47 @@ func (s *sslHooks) installSslHooks(bpfObjects *tlsTapperObjects, sslLibrary *lin } func (s *sslHooks) close() []error { - errors := make([]error, 0) + returnValue := make([]error, 0) if err := s.sslWriteProbe.Close(); err != nil { - errors = append(errors, err) + returnValue = append(returnValue, err) } if err := s.sslWriteRetProbe.Close(); err != nil { - errors = append(errors, err) + returnValue = append(returnValue, err) } if err := s.sslReadProbe.Close(); err != nil { - errors = append(errors, err) + returnValue = append(returnValue, err) } if err := s.sslReadRetProbe.Close(); err != nil { - errors = append(errors, err) + returnValue = append(returnValue, err) } if s.sslWriteExProbe != nil { if err := s.sslWriteExProbe.Close(); err != nil { - errors = append(errors, err) + returnValue = append(returnValue, err) } } if s.sslWriteExRetProbe != nil { if err := s.sslWriteExRetProbe.Close(); err != nil { - errors = append(errors, err) + returnValue = append(returnValue, err) } } if s.sslReadExProbe != nil { if err := s.sslReadExProbe.Close(); err != nil { - errors = append(errors, err) + returnValue = append(returnValue, err) } } if s.sslReadExRetProbe != nil { if err := s.sslReadExRetProbe.Close(); err != nil { - errors = append(errors, err) + returnValue = append(returnValue, err) } } - return errors + return returnValue } diff --git a/tap/tlstapper/syscall_hooks.go b/tap/tlstapper/syscall_hooks.go index 0fa621496..ace0d7c91 100644 --- a/tap/tlstapper/syscall_hooks.go +++ b/tap/tlstapper/syscall_hooks.go @@ -57,31 +57,31 @@ func (s *syscallHooks) installSyscallHooks(bpfObjects *tlsTapperObjects) error { } func (s *syscallHooks) close() []error { - errors := make([]error, 0) + returnValue := make([]error, 0) if err := s.sysEnterRead.Close(); err != nil { - errors = append(errors, err) + returnValue = append(returnValue, err) } if err := s.sysEnterWrite.Close(); err != nil { - errors = append(errors, err) + returnValue = append(returnValue, err) } if err := s.sysEnterAccept4.Close(); err != nil { - errors = append(errors, err) + returnValue = append(returnValue, err) } if err := s.sysExitAccept4.Close(); err != nil { - errors = append(errors, err) + returnValue = append(returnValue, err) } if err := s.sysEnterConnect.Close(); err != nil { - errors = append(errors, err) + returnValue = append(returnValue, err) } if err := s.sysExitConnect.Close(); err != nil { - errors = append(errors, err) + returnValue = append(returnValue, err) } - return errors + return returnValue } diff --git a/tap/tlstapper/tls_poller.go b/tap/tlstapper/tls_poller.go index b6975cce0..1c80ad251 100644 --- a/tap/tlstapper/tls_poller.go +++ b/tap/tlstapper/tls_poller.go @@ -273,13 +273,13 @@ func (p *tlsPoller) getNamespace(pid uint32) string { namespaceIfc, ok := p.pidToNamespace.Load(pid) if !ok { - return api.UNKNOWN_NAMESPACE + return api.UnknownNamespace } namespace, ok := namespaceIfc.(string) if !ok { - return api.UNKNOWN_NAMESPACE + return api.UnknownNamespace } return namespace diff --git a/tap/tlstapper/tls_process_discoverer.go b/tap/tlstapper/tls_process_discoverer.go index d55536798..b225c4f1d 100644 --- a/tap/tlstapper/tls_process_discoverer.go +++ b/tap/tlstapper/tls_process_discoverer.go @@ -28,7 +28,7 @@ func UpdateTapTargets(tls *TlsTapper, pods *[]v1.Pod, procfs string) error { tls.ClearPids() for pid, pod := range containerPids { - if err := tls.AddSsllibPid(procfs, pid, pod.Namespace); err != nil { + if err := tls.AddSSLLibPid(procfs, pid, pod.Namespace); err != nil { LogError(err) } @@ -90,14 +90,14 @@ func buildContainerIdsMap(pods *[]v1.Pod) map[string]v1.Pod { for _, pod := range *pods { for _, container := range pod.Status.ContainerStatuses { - url, err := url.Parse(container.ContainerID) + parsedUrl, err := url.Parse(container.ContainerID) if err != nil { logger.Log.Warningf("Expecting URL like container ID %v", container.ContainerID) continue } - result[url.Host] = pod + result[parsedUrl.Host] = pod } } diff --git a/tap/tlstapper/tls_tapper.go b/tap/tlstapper/tls_tapper.go index 578e28f36..33ef1257e 100644 --- a/tap/tlstapper/tls_tapper.go +++ b/tap/tlstapper/tls_tapper.go @@ -10,7 +10,7 @@ import ( "github.com/up9inc/mizu/tap/api" ) -const GLOABL_TAP_PID = 0 +const GlobalTapPid = 0 //go:generate go run github.com/cilium/ebpf/cmd/bpf2go@0d0727ef53e2f53b1731c73f4c61e0f58693083a -target $BPF_TARGET -cflags $BPF_CFLAGS -type tls_chunk tlsTapper bpf/tls_tapper.c @@ -66,8 +66,8 @@ func (t *TlsTapper) PollForLogging() { t.bpfLogger.poll() } -func (t *TlsTapper) GlobalSsllibTap(sslLibrary string) error { - return t.tapSsllibPid(GLOABL_TAP_PID, sslLibrary, api.UNKNOWN_NAMESPACE) +func (t *TlsTapper) GlobalSSLLibTap(sslLibrary string) error { + return t.tapSSLLibPid(GlobalTapPid, sslLibrary, api.UnknownNamespace) } func (t *TlsTapper) GlobalGoTap(procfs string, pid string) error { @@ -76,18 +76,18 @@ func (t *TlsTapper) GlobalGoTap(procfs string, pid string) error { return err } - return t.tapGoPid(procfs, uint32(_pid), api.UNKNOWN_NAMESPACE) + return t.tapGoPid(procfs, uint32(_pid), api.UnknownNamespace) } -func (t *TlsTapper) AddSsllibPid(procfs string, pid uint32, namespace string) error { +func (t *TlsTapper) AddSSLLibPid(procfs string, pid uint32, namespace string) error { sslLibrary, err := findSsllib(procfs, pid) if err != nil { logger.Log.Infof("PID skipped no libssl.so found (pid: %d) %v", pid, err) - return nil // hide the error on purpose, its OK for a process to not use libssl.so + return nil // hide the error on purpose, it's OK for a process to not use libssl.so } - return t.tapSsllibPid(pid, sslLibrary, namespace) + return t.tapSSLLibPid(pid, sslLibrary, namespace) } func (t *TlsTapper) AddGoPid(procfs string, pid uint32, namespace string) error { @@ -110,7 +110,7 @@ func (t *TlsTapper) ClearPids() { t.poller.clearPids() t.registeredPids.Range(func(key, v interface{}) bool { pid := key.(uint32) - if pid == GLOABL_TAP_PID { + if pid == GlobalTapPid { return true } @@ -123,31 +123,31 @@ func (t *TlsTapper) ClearPids() { } func (t *TlsTapper) Close() []error { - errors := make([]error, 0) + returnValue := make([]error, 0) if err := t.bpfObjects.Close(); err != nil { - errors = append(errors, err) + returnValue = append(returnValue, err) } - errors = append(errors, t.syscallHooks.close()...) + returnValue = append(returnValue, t.syscallHooks.close()...) for _, sslHooks := range t.sslHooksStructs { - errors = append(errors, sslHooks.close()...) + returnValue = append(returnValue, sslHooks.close()...) } for _, goHooks := range t.goHooksStructs { - errors = append(errors, goHooks.close()...) + returnValue = append(returnValue, goHooks.close()...) } if err := t.bpfLogger.close(); err != nil { - errors = append(errors, err) + returnValue = append(returnValue, err) } if err := t.poller.close(); err != nil { - errors = append(errors, err) + returnValue = append(returnValue, err) } - return errors + return returnValue } func setupRLimit() error { @@ -160,7 +160,7 @@ func setupRLimit() error { return nil } -func (t *TlsTapper) tapSsllibPid(pid uint32, sslLibrary string, namespace string) error { +func (t *TlsTapper) tapSSLLibPid(pid uint32, sslLibrary string, namespace string) error { newSsl := sslHooks{} if err := newSsl.installUprobes(&t.bpfObjects, sslLibrary); err != nil {