diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index cdacd49a..0d7e6400 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -20,7 +20,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v2.1.3 with: - go-version: 1.19.5 + go-version: 1.22.1 - uses: actions/cache@v2 with: path: ~/go/pkg/mod @@ -41,12 +41,12 @@ jobs: - name: Set up Go uses: actions/setup-go@v2.1.3 with: - go-version: 1.19.5 + go-version: 1.22.1 - name: Run golangci-lint - uses: golangci/golangci-lint-action@v2.5.2 + uses: golangci/golangci-lint-action@v6 with: - version: v1.55.2 - args: --timeout 300s --skip-dirs test/skoop/e2e --skip-dirs-use-default -v -E goconst -E gofmt -E ineffassign -E goimports -E revive -E misspell -E vet -E deadcode + version: v1.62.2 + args: --timeout 300s --exclude-dirs test/skoop/e2e -v -E goconst -E gofmt -E ineffassign -E goimports -E revive -E misspell -E govet shellcheck: name: Shellcheck diff --git a/Makefile b/Makefile index fab5890b..08cb2b70 100644 --- a/Makefile +++ b/Makefile @@ -80,4 +80,4 @@ generate-bpf: ## Generate bpf. .PHONY: generate-bpf-in-container generate-bpf-in-container: ## Generate bpf in container. - $(CONTAINER_TOOL) run --rm -v $(PWD):/go/src/github.com/alibaba/kubeskoop --workdir /go/src/github.com/alibaba/kubeskoop kubeskoop/bpf-build:go121-clang17 make generate-bpf + $(CONTAINER_TOOL) run --rm -v $(PWD):/go/src/github.com/alibaba/kubeskoop --workdir /go/src/github.com/alibaba/kubeskoop kubeskoop/bpf-build:go122-clang17 make generate-bpf diff --git a/go.mod b/go.mod index d1c9b011..91ce79e5 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/alibaba/kubeskoop -go 1.19 +go 1.22 require ( github.com/alibabacloud-go/darabonba-openapi v0.2.1 diff --git a/go.sum b/go.sum index bdcc71c5..1fd1e06e 100644 --- a/go.sum +++ b/go.sum @@ -30,12 +30,16 @@ cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUM cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= cloud.google.com/go/compute v1.20.1 h1:6aKEtlUiwEpJzM001l0yFkpXmUVXaN8W+fbkb2AZNbg= +cloud.google.com/go/compute v1.20.1/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM= cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= +cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= cloud.google.com/go/logging v1.7.0 h1:CJYxlNNNNAMkHp9em/YEXcfJg+rPDg7YfwoRpMU+t5I= +cloud.google.com/go/logging v1.7.0/go.mod h1:3xjP2CjkM3ZkO73aj4ASA5wRPGGCRrPIAeNqVNkzY8M= cloud.google.com/go/longrunning v0.5.1 h1:Fr7TXftcqTudoyRJa113hyaqlGdiBQkp0Gq7tErFDWI= +cloud.google.com/go/longrunning v0.5.1/go.mod h1:spvimkwdz6SPWKEt/XBij79E9fiTkHSQl/fRUUQJYJc= 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/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= @@ -47,6 +51,7 @@ cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RX cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= git.sr.ht/~sbinet/gg v0.3.1 h1:LNhjNn8DerC8f9DHLz6lS0YYul/b602DUxDgGkd/Aik= +git.sr.ht/~sbinet/gg v0.3.1/go.mod h1:KGYtlADtqsqANL9ueOFkWymvzUvLMQllU5Ixo+8v3pc= github.com/AdaLogics/go-fuzz-headers v0.0.0-20210715213245-6c3934b029d8/go.mod h1:CzsSbkDixRphAF5hS6wbMKq0eI6ccJRb7/A0M6JBnwg= github.com/Azure/azure-sdk-for-go v16.2.1+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= @@ -105,12 +110,15 @@ github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdko github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d/go.mod h1:HI8ITrYtUY+O+ZhtlqUnD8+KwNPOyugEhfP9fdUIaEQ= github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b h1:slYM766cy2nI3BwyRiyQj/Ud48djTMtMebDqepE95rw= +github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b/go.mod h1:1KcenG0jGWcpt8ov532z81sp/kMMUG485J2InIOyADM= github.com/alecthomas/assert/v2 v2.2.1 h1:XivOgYcduV98QCahG8T5XTezV5bylXe+lBxLG2K2ink= +github.com/alecthomas/assert/v2 v2.2.1/go.mod h1:pXcQ2Asjp247dahGEmsZ6ru0UVwnkhktn7S0bBDLxvQ= github.com/alecthomas/chroma v0.10.0 h1:7XDcGkCQopCNKjZHfYrNLraA+M7e0fMiJ/Mfikbfjek= github.com/alecthomas/chroma v0.10.0/go.mod h1:jtJATyUxlIORhUOFNA9NZDWGAQ8wpxQQqNSB4rjA/1s= github.com/alecthomas/chroma/v2 v2.5.0 h1:CQCdj1BiBV17sD4Bd32b/Bzuiq/EqoNTrnIhyQAZ+Rk= github.com/alecthomas/chroma/v2 v2.5.0/go.mod h1:yrkMI9807G1ROx13fhe1v6PN2DDeaR73L3d+1nmYQtw= github.com/alecthomas/repr v0.2.0 h1:HAzS41CIzNW5syS8Mf9UwXhNH1J9aix/BvDRf1Ml2Yk= +github.com/alecthomas/repr v0.2.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= @@ -166,6 +174,7 @@ github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5 github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= +github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= github.com/aws/aws-sdk-go v1.15.11/go.mod h1:mFuSZ37Z9YOHbQEwBWztmVzqXrEkub65tZoCYDt7FT0= github.com/bastjan/netstat v1.0.0 h1:enyzPg7lNaOpdKdDHkyPdP+okVKdBgR9/YFnxku7IlE= @@ -382,6 +391,7 @@ github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7Do github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= +github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4= github.com/cyphar/filepath-securejoin v0.2.3/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= github.com/d2g/dhcp4 v0.0.0-20170904100407-a1d1b6c41b1c/go.mod h1:Ct2BUK8SB0YC1SMSibvLzxjeJLnrYEVLULFNiHY9YfQ= @@ -460,6 +470,7 @@ github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoD github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= github.com/frankban/quicktest v1.14.5 h1:dfYrrRyLtiqT9GyKXgdh+k4inNeTvmGbuSgZ3lx3GhA= +github.com/frankban/quicktest v1.14.5/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= @@ -477,6 +488,7 @@ github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm github.com/gin-gonic/gin v1.9.1 h1:4idEAncQnU5cB7BeOkPtxjfCSye0AAm1R0RVIqJ+Jmg= github.com/gin-gonic/gin v1.9.1/go.mod h1:hPrL7YrpYKXt5YId3A/Tnip5kqbEAP+KLuI3SUcPTeU= github.com/go-fonts/liberation v0.2.0 h1:jAkAWJP4S+OsrPLZM4/eC9iW7CtHy+HBXrEwZXWo5VM= +github.com/go-fonts/liberation v0.2.0/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= 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/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= @@ -485,6 +497,7 @@ github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2 github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= github.com/go-latex/latex v0.0.0-20210823091927-c0d11ff05a81 h1:6zl3BbBhdnMkpSj2YY30qV3gDcVBGtFgVsV3+/i+mKQ= +github.com/go-latex/latex v0.0.0-20210823091927-c0d11ff05a81/go.mod h1:SX0U8uGpxhq9o2S/CELCSUxEWWAuoCUcVCQWv7G2OCk= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= @@ -522,7 +535,9 @@ github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/ github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= github.com/go-pdf/fpdf v0.6.0 h1:MlgtGIfsdMEEQJr2le6b/HNr1ZlQwxyWr77r2aj2U/8= +github.com/go-pdf/fpdf v0.6.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s= +github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA= github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= @@ -698,6 +713,7 @@ github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0m github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM= +github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= @@ -760,6 +776,7 @@ github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfn github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= 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= @@ -1012,6 +1029,7 @@ github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6L github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= @@ -1202,6 +1220,7 @@ go.uber.org/goleak v1.2.1/go.mod h1:qlT2yGI9QafXHhZZLxlSuNsMw3FFLxBr+tBRlmO1xH4= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= go.uber.org/multierr v1.9.0 h1:7fIwc/ZtS0q++VgcfqFDxSBZVv/Xo49/SYnDFupUwlI= +go.uber.org/multierr v1.9.0/go.mod h1:X2jQV1h+kxSjClGpnseKVIxpmcjrj7MNnI0bnlfKTVQ= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= golang.org/x/arch v0.0.0-20210923205945-b76863e36670/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= diff --git a/pkg/controller/cmd/root.go b/pkg/controller/cmd/root.go index f36653e2..7e97bac4 100644 --- a/pkg/controller/cmd/root.go +++ b/pkg/controller/cmd/root.go @@ -13,11 +13,10 @@ import ( // rootCmd represents the base command when called without any subcommands var ( rootCmd = &cobra.Command{ - Use: "skoop-controller", - Short: "skoop centralized controller", - PersistentPreRun: func(cmd *cobra.Command, args []string) { - }, - RunE: func(cmd *cobra.Command, args []string) error { + Use: "skoop-controller", + Short: "skoop centralized controller", + PersistentPreRun: func(_ *cobra.Command, _ []string) {}, + RunE: func(_ *cobra.Command, _ []string) error { config := &Config{} var err error if configPath != "" { diff --git a/pkg/controller/service/capture.go b/pkg/controller/service/capture.go index 34b509fd..2f96feca 100644 --- a/pkg/controller/service/capture.go +++ b/pkg/controller/service/capture.go @@ -56,7 +56,7 @@ func podListWithInformer() ([]*Pod, error) { if err != nil { return nil, fmt.Errorf("list pods failed: %v", err) } - return lo.Map[*corev1.Pod, *Pod](pods, func(pod *corev1.Pod, idx int) *Pod { + return lo.Map[*corev1.Pod, *Pod](pods, func(pod *corev1.Pod, _ int) *Pod { return &Pod{ Name: pod.Name, Namespace: pod.Namespace, @@ -76,7 +76,7 @@ func (c *controller) PodList(ctx context.Context) ([]*Pod, error) { if err != nil { return nil, fmt.Errorf("list pods failed: %v", err) } - return lo.Map[corev1.Pod, *Pod](pods.Items, func(pod corev1.Pod, idx int) *Pod { + return lo.Map[corev1.Pod, *Pod](pods.Items, func(pod corev1.Pod, _ int) *Pod { return &Pod{ Name: pod.Name, Namespace: pod.Namespace, @@ -91,7 +91,7 @@ func (c *controller) NodeList(ctx context.Context) ([]*Node, error) { if err != nil { return nil, fmt.Errorf("list pods failed: %v", err) } - return lo.Map[corev1.Node, *Node](nodes.Items, func(node corev1.Node, idx int) *Node { + return lo.Map[corev1.Node, *Node](nodes.Items, func(node corev1.Node, _ int) *Node { return &Node{ Name: node.Name, Labels: node.Labels, @@ -104,7 +104,7 @@ func (c *controller) NamespaceList(ctx context.Context) ([]string, error) { if err != nil { return nil, fmt.Errorf("list pods failed: %v", err) } - return lo.Map[corev1.Namespace, string](namespaces.Items, func(namespace corev1.Namespace, idx int) string { + return lo.Map[corev1.Namespace, string](namespaces.Items, func(namespace corev1.Namespace, _ int) string { return namespace.Name }), nil } diff --git a/pkg/exporter/btfhack/discover.go b/pkg/exporter/btfhack/discover.go index d03ea168..f17eac06 100644 --- a/pkg/exporter/btfhack/discover.go +++ b/pkg/exporter/btfhack/discover.go @@ -19,7 +19,7 @@ var ( cpCmd = &cobra.Command{ Use: "discover", Short: "copy or download appropriate btf file to dst path", - Run: func(cmd *cobra.Command, args []string) { + Run: func(_ *cobra.Command, _ []string) { if btfSrcPath == "" { btfSrcPath = defaultBTFPath } diff --git a/pkg/exporter/btfhack/test.go b/pkg/exporter/btfhack/test.go index 2587d05e..b77d95ce 100644 --- a/pkg/exporter/btfhack/test.go +++ b/pkg/exporter/btfhack/test.go @@ -15,7 +15,7 @@ var ( testCmd = &cobra.Command{ Use: "test", Short: "test btf support locally", - Run: func(cmd *cobra.Command, args []string) { + Run: func(_ *cobra.Command, _ []string) { if btfSrcPath == "" { btfSrcPath = defaultBTFPath } diff --git a/pkg/exporter/btfhack/version.go b/pkg/exporter/btfhack/version.go index bf14ae4d..3bb8cfe0 100644 --- a/pkg/exporter/btfhack/version.go +++ b/pkg/exporter/btfhack/version.go @@ -9,7 +9,7 @@ var ( versionCmd = &cobra.Command{ Use: "version", Short: "show version", - Run: func(_ *cobra.Command, args []string) { + Run: func(_ *cobra.Command, _ []string) { version.PrintVersion() }, } diff --git a/pkg/exporter/cmd/list.go b/pkg/exporter/cmd/list.go index 587b7b1a..ab11e28e 100644 --- a/pkg/exporter/cmd/list.go +++ b/pkg/exporter/cmd/list.go @@ -9,8 +9,8 @@ var ( listCmd = &cobra.Command{ Use: "list", Short: "list available options", - Run: func(cmd *cobra.Command, args []string) { - cmd.Help() // nolint + Run: func(cmd *cobra.Command, _ []string) { + _ = cmd.Help() // nolint }, } ) diff --git a/pkg/exporter/cmd/list_probe.go b/pkg/exporter/cmd/list_probe.go index c871b3ae..6b0dab83 100644 --- a/pkg/exporter/cmd/list_probe.go +++ b/pkg/exporter/cmd/list_probe.go @@ -15,7 +15,7 @@ var ( probeCmd = &cobra.Command{ Use: "probe", Short: "list supported probe with metric exporting", - Run: func(cmd *cobra.Command, args []string) { + Run: func(_ *cobra.Command, _ []string) { res := make(map[string][]string) res["metrics"] = probe.ListMetricsProbes() res["event"] = probe.ListEventProbes() diff --git a/pkg/exporter/cmd/root.go b/pkg/exporter/cmd/root.go index bc692708..e5861c36 100644 --- a/pkg/exporter/cmd/root.go +++ b/pkg/exporter/cmd/root.go @@ -13,7 +13,7 @@ var ( rootCmd = &cobra.Command{ Use: "inspector", Short: "network inspection tool", - PersistentPreRun: func(cmd *cobra.Command, args []string) { + PersistentPreRun: func(_ *cobra.Command, _ []string) { if debug { log.SetLevel(log.DebugLevel) } else { diff --git a/pkg/exporter/cmd/server.go b/pkg/exporter/cmd/server.go index f79f67cb..2cb7e477 100644 --- a/pkg/exporter/cmd/server.go +++ b/pkg/exporter/cmd/server.go @@ -45,7 +45,7 @@ var ( serverCmd = &cobra.Command{ Use: "server", Short: "start inspector server", - Run: func(cmd *cobra.Command, args []string) { + Run: func(_ *cobra.Command, _ []string) { insp := &inspServer{ configPath: configPath, ctx: context.Background(), diff --git a/pkg/exporter/cmd/version.go b/pkg/exporter/cmd/version.go index 1646d5ef..7082b6e8 100644 --- a/pkg/exporter/cmd/version.go +++ b/pkg/exporter/cmd/version.go @@ -9,7 +9,7 @@ var ( versionCmd = &cobra.Command{ Use: "version", Short: "show version", - Run: func(_ *cobra.Command, args []string) { + Run: func(_ *cobra.Command, _ []string) { version.PrintVersion() }, } diff --git a/pkg/exporter/task-agent/ping.go b/pkg/exporter/task-agent/ping.go index 46b4d80f..701a9cb8 100644 --- a/pkg/exporter/task-agent/ping.go +++ b/pkg/exporter/task-agent/ping.go @@ -65,13 +65,13 @@ func (a *Agent) ping(task *rpc.PingInfo) (string, error) { func (a *Agent) ProcessPing(task *rpc.ServerTask) error { var ( - min, avg, max float64 - output string - err error + lMin, lAvg, lMax float64 + output string + err error ) output, err = a.ping(task.GetTask().GetPing()) if err == nil { - min, avg, max, err = getLatency(output) + lMin, lAvg, lMax, err = getLatency(output) } if err != nil { @@ -94,9 +94,9 @@ func (a *Agent) ProcessPing(task *rpc.ServerTask) error { Success: true, Message: "success", TaskResultInfo: &rpc.TaskResult_Ping{Ping: &rpc.PingResult{ - Max: float32(max), - Avg: float32(avg), - Min: float32(min), + Max: float32(lMax), + Avg: float32(lAvg), + Min: float32(lMin), Message: nil, }}, }) diff --git a/pkg/exporter/task-agent/ping_test.go b/pkg/exporter/task-agent/ping_test.go index 8253dd5a..2bdaac1d 100644 --- a/pkg/exporter/task-agent/ping_test.go +++ b/pkg/exporter/task-agent/ping_test.go @@ -8,12 +8,12 @@ func TestGetLatency(t *testing.T) { --- 8.8.8.8 ping statistics --- 100 packets transmitted, 100 packets received, 0% packet loss round-trip min/avg/max = 43.689/43.720/43.809 ms` - min, avg, max, err := getLatency(pingStr) + lMin, lAvg, lMax, err := getLatency(pingStr) if err != nil { - t.Fatalf(err.Error()) + t.Fatal(err.Error()) } - if min != 43.689 || avg != 43.720 || max != 43.809 { - t.Fatalf("min/avg/max is not correct") + if lMin != 43.689 || lAvg != 43.720 || lMax != 43.809 { + t.Fatal("min/avg/max is not correct") } - t.Logf("min/avg/max is %v, %v, %v", min, avg, max) + t.Logf("min/avg/max is %v, %v, %v", lMin, lAvg, lMax) } diff --git a/pkg/skoop/assertions/netstack.go b/pkg/skoop/assertions/netstack.go index ceb84265..401efd57 100644 --- a/pkg/skoop/assertions/netstack.go +++ b/pkg/skoop/assertions/netstack.go @@ -99,7 +99,7 @@ func (na *NetstackAssertion) AssertNoPolicyRoute() { } func (na *NetstackAssertion) AssertListen(localIP net.IP, localPort uint16, protocol model.Protocol) { - socks := lo.Filter(na.netns.NetNSInfo.ConnStats, func(stat netstack.ConnStat, index int) bool { + socks := lo.Filter(na.netns.NetNSInfo.ConnStats, func(stat netstack.ConnStat, _ int) bool { if stat.State == netstack.SockStatListen && strings.EqualFold(string(stat.Protocol), string(protocol)) && localPort == stat.LocalPort { if localIP.String() == stat.LocalIP { return true diff --git a/pkg/skoop/cmd/app.go b/pkg/skoop/cmd/app.go index 0aa79eb6..519825df 100644 --- a/pkg/skoop/cmd/app.go +++ b/pkg/skoop/cmd/app.go @@ -22,7 +22,7 @@ func NewSkoopCmd() *cobra.Command { cmd := &cobra.Command{ Use: "skoop", Long: "Skoop is an one-shot kubernetes network diagnose tool.", - PreRunE: func(cmd *cobra.Command, args []string) error { + PreRunE: func(_ *cobra.Command, _ []string) error { if context.SkoopContext.MiscConfig().Version { version.PrintVersion() os.Exit(0) @@ -35,7 +35,7 @@ func NewSkoopCmd() *cobra.Command { } return context.SkoopContext.BuildTask() }, - RunE: func(cmd *cobra.Command, args []string) error { + RunE: func(_ *cobra.Command, _ []string) error { prvd, err := provider.GetProvider(context.SkoopContext.ClusterConfig().CloudProvider) if err != nil { klog.Fatalf("error get service provider: %v", err) diff --git a/pkg/skoop/collector/podcollector/collector.go b/pkg/skoop/collector/podcollector/collector.go index 1cceea8d..d49e9017 100644 --- a/pkg/skoop/collector/podcollector/collector.go +++ b/pkg/skoop/collector/podcollector/collector.go @@ -62,7 +62,7 @@ func (a *podCollector) DumpNodeInfos() (*k8s.NodeNetworkStackDump, error) { dump.Pods = nil } if a.podNamespace != "" && a.podName != "" { - dump.Pods = lo.Filter(dump.Pods, func(item k8s.PodNetInfo, index int) bool { + dump.Pods = lo.Filter(dump.Pods, func(item k8s.PodNetInfo, _ int) bool { return item.PodNamespace == a.podNamespace && item.PodName == a.podName }) collectHost = false diff --git a/pkg/skoop/context/task.go b/pkg/skoop/context/task.go index 09ac74a1..bfb7ac4b 100644 --- a/pkg/skoop/context/task.go +++ b/pkg/skoop/context/task.go @@ -34,7 +34,7 @@ func (tc *TaskConfig) Validate() error { return fmt.Errorf("source or destination address cannot be empty") } - if tc.Destination.Port <= 0 || tc.Destination.Port > 65535 { + if tc.Destination.Port == 0 { return fmt.Errorf("a valid destination port should be provided") } diff --git a/tools/Dockerfile.dev b/tools/Dockerfile.dev index c4b8d3b0..28259c66 100644 --- a/tools/Dockerfile.dev +++ b/tools/Dockerfile.dev @@ -1,3 +1,3 @@ -FROM alpine:3.19 -RUN apk add clang=17.0.5-r0 llvm=17.0.5-r0 go=1.21.9-r0 make bash +FROM alpine:3.20 +RUN apk add clang=17.0.6-r1 llvm=17.0.6-r1 go=1.22.9-r0 make bash RUN go install github.com/cilium/ebpf/cmd/bpf2go@latest