From f38980ea947f940c22c77374b35ae7359b1f6907 Mon Sep 17 00:00:00 2001 From: Volodymyr Stoiko Date: Tue, 4 Aug 2026 18:35:41 +0300 Subject: [PATCH] deps: bump indirect deps to clear critical/high Dependabot alerts (#1952) * deps: bump indirect deps to clear critical/high Dependabot alerts Bumps the vulnerable indirect dependencies flagged as critical or high severity in Dependabot: - golang.org/x/crypto v0.39.0 -> v0.54.0 (7 critical + 2 high: SSH agent constraint/key-constraint bypass, @revoked auth bypass, FIDO/U2F presence check bypass, VerifiedPublicKeyCallback permission skip, infinite loop on large channel writes, client-induced server deadlock, RSA/DSA DoS, byte arithmetic underflow panic) - google.golang.org/grpc v1.68.1 -> v1.83.0 (critical: authz bypass via missing leading slash in :path; high: xDS RBAC and HTTP/2 issues) - github.com/containerd/containerd v1.7.27 -> v1.7.34 (high: LABEL -> restart-monitor binary:// host-root RCE, runAsNonRoot evasion, local privesc via wide CRI directory permissions) - oras.land/oras-go/v2 v2.6.0 -> v2.6.2 (high: CVE-2026-50163 hardlink extract-dir escape, credential forwarding via unvalidated Location header) - github.com/moby/spdystream v0.5.0 -> v0.5.1 (high: DoS on CRI) Transitively pulls up x/net, x/sync, x/sys, x/term, x/text, x/time, x/oauth2, protobuf, filepath-securejoin, selinux and go-logr via go mod tidy. The go directive moves 1.24.0 -> 1.25.0 (required by the upgraded modules); the explicit toolchain pin is dropped. CI resolves Go from go.mod, so no workflow changes are needed. go build ./... and go test ./... pass. * ci: move golangci-lint to v2, fix resulting lint issues golangci-lint-action@v3 pins `latest` to v1.64.8, which is built with go1.24 and refuses to run now that go.mod targets 1.25.0: can't load config: the Go language version (go1.24) used to build golangci-lint is lower than the targeted Go version (1.25.0) Move the job to golangci-lint-action@v7 + v2.8.0 and add a .golangci.yml mirroring the hub repo's v2 config: govet, staticcheck, ineffassign and unused, plus gofmt/goimports as formatters. Fixes for the issues that surfaced: - ST1005: lowercase error strings, drop trailing '!' in connect/hub.go - SA4011: kubernetes/watch.go had a `break` inside a `select` default that broke the select rather than the loop, i.e. a no-op; removed - QF1008: drop the embedded ChartPathOptions selector in helm.go - QF1003: tagged switch on r.URL.Path in mcp_test.go - QF1004: strings.Replace(..., -1) -> strings.ReplaceAll - gofmt -s and goimports with a local prefix across the tree errcheck is not in the enabled set, matching hub. * cmd: clarify --time parse error in pcap dump The error neither named the offending flag/value nor separated the wrapped error from the message. Reported by Copilot on #1952. --------- Co-authored-by: Alon Girmonsky <1990761+alongir@users.noreply.github.com> --- .github/workflows/linter.yml | 4 +- .golangci.yml | 36 ++++++++ cmd/clean.go | 5 +- cmd/common.go | 3 +- cmd/config.go | 5 +- cmd/console.go | 5 +- cmd/license.go | 3 +- cmd/logs.go | 5 +- cmd/mcp.go | 3 +- cmd/mcpRunner.go | 3 +- cmd/mcp_test.go | 5 +- cmd/pcapDump.go | 17 ++-- cmd/pprof.go | 3 +- cmd/pprofRunner.go | 7 +- cmd/proxy.go | 3 +- cmd/proxyRunner.go | 3 +- cmd/root.go | 5 +- cmd/scripts.go | 9 +- cmd/tap.go | 5 +- cmd/tapRunner.go | 4 +- cmd/version.go | 5 +- config/config.go | 7 +- config/configStruct.go | 15 ++-- config/configStructs/scriptingConfig.go | 3 +- config/configStructs/tapConfig.go | 12 +-- config/config_internal_test.go | 2 +- go.mod | 38 ++++---- go.sum | 112 ++++++++++++------------ integration/mcp_test.go | 18 ++-- internal/connect/hub.go | 2 +- kubernetes/config.go | 5 +- kubernetes/helm/helm.go | 9 +- kubernetes/podWatchHelper.go | 2 +- kubernetes/provider.go | 9 +- kubernetes/proxy.go | 5 +- kubernetes/watch.go | 4 +- kubeshark.go | 3 +- misc/fsUtils/kubesharkLogsUtils.go | 5 +- misc/version/versionCheck.go | 3 +- utils/json.go | 2 +- 40 files changed, 233 insertions(+), 161 deletions(-) create mode 100644 .golangci.yml diff --git a/.github/workflows/linter.yml b/.github/workflows/linter.yml index 10df39c78..a7709066f 100644 --- a/.github/workflows/linter.yml +++ b/.github/workflows/linter.yml @@ -27,7 +27,7 @@ jobs: go-version-file: 'go.mod' - name: Go lint - uses: golangci/golangci-lint-action@v3 + uses: golangci/golangci-lint-action@v7 with: - version: latest + version: v2.8.0 args: --timeout=10m diff --git a/.golangci.yml b/.golangci.yml new file mode 100644 index 000000000..4c5032894 --- /dev/null +++ b/.golangci.yml @@ -0,0 +1,36 @@ +version: "2" + +run: + timeout: 10m + go: "1.25.0" + modules-download-mode: readonly + +linters: + default: none + enable: + - govet + - staticcheck + - ineffassign + - unused + +formatters: + enable: + - gofmt + - goimports + settings: + gofmt: + simplify: true + goimports: + local-prefixes: + - github.com/kubeshark/kubeshark + +issues: + max-issues-per-linter: 0 + max-same-issues: 0 + +output: + formats: + tab: + path: stdout + colors: true + print-linter-name: true diff --git a/cmd/clean.go b/cmd/clean.go index ad6b42c88..9f4b44e14 100644 --- a/cmd/clean.go +++ b/cmd/clean.go @@ -4,12 +4,13 @@ import ( "fmt" "github.com/creasty/defaults" + "github.com/rs/zerolog/log" + "github.com/spf13/cobra" + "github.com/kubeshark/kubeshark/config" "github.com/kubeshark/kubeshark/config/configStructs" "github.com/kubeshark/kubeshark/kubernetes/helm" "github.com/kubeshark/kubeshark/misc" - "github.com/rs/zerolog/log" - "github.com/spf13/cobra" ) var cleanCmd = &cobra.Command{ diff --git a/cmd/common.go b/cmd/common.go index fdbeb910f..4007784b1 100644 --- a/cmd/common.go +++ b/cmd/common.go @@ -8,13 +8,14 @@ import ( "regexp" "time" + "github.com/rs/zerolog/log" + "github.com/kubeshark/kubeshark/config" "github.com/kubeshark/kubeshark/errormessage" "github.com/kubeshark/kubeshark/internal/connect" "github.com/kubeshark/kubeshark/kubernetes" "github.com/kubeshark/kubeshark/misc" "github.com/kubeshark/kubeshark/misc/fsUtils" - "github.com/rs/zerolog/log" ) func startProxyReportErrorIfAny(kubernetesProvider *kubernetes.Provider, ctx context.Context, serviceName string, podName string, proxyPortLabel string, srcPort uint16, dstPort uint16, healthCheck string) { diff --git a/cmd/config.go b/cmd/config.go index 715dea371..5c48db7ef 100644 --- a/cmd/config.go +++ b/cmd/config.go @@ -4,12 +4,13 @@ import ( "fmt" "github.com/creasty/defaults" + "github.com/rs/zerolog/log" + "github.com/spf13/cobra" + "github.com/kubeshark/kubeshark/config" "github.com/kubeshark/kubeshark/config/configStructs" "github.com/kubeshark/kubeshark/misc" "github.com/kubeshark/kubeshark/utils" - "github.com/rs/zerolog/log" - "github.com/spf13/cobra" ) var configCmd = &cobra.Command{ diff --git a/cmd/console.go b/cmd/console.go index 31a1f1215..3334140e5 100644 --- a/cmd/console.go +++ b/cmd/console.go @@ -12,12 +12,13 @@ import ( "github.com/creasty/defaults" "github.com/gorilla/websocket" + "github.com/rs/zerolog/log" + "github.com/spf13/cobra" + "github.com/kubeshark/kubeshark/config" "github.com/kubeshark/kubeshark/config/configStructs" "github.com/kubeshark/kubeshark/kubernetes" "github.com/kubeshark/kubeshark/utils" - "github.com/rs/zerolog/log" - "github.com/spf13/cobra" ) var consoleCmd = &cobra.Command{ diff --git a/cmd/license.go b/cmd/license.go index 6bdb63758..724213649 100644 --- a/cmd/license.go +++ b/cmd/license.go @@ -3,8 +3,9 @@ package cmd import ( "fmt" - "github.com/kubeshark/kubeshark/config" "github.com/spf13/cobra" + + "github.com/kubeshark/kubeshark/config" ) var licenseCmd = &cobra.Command{ diff --git a/cmd/logs.go b/cmd/logs.go index 7f741c077..c6b451be9 100644 --- a/cmd/logs.go +++ b/cmd/logs.go @@ -5,13 +5,14 @@ import ( "fmt" "github.com/creasty/defaults" + "github.com/rs/zerolog/log" + "github.com/spf13/cobra" + "github.com/kubeshark/kubeshark/config" "github.com/kubeshark/kubeshark/config/configStructs" "github.com/kubeshark/kubeshark/errormessage" "github.com/kubeshark/kubeshark/misc" "github.com/kubeshark/kubeshark/misc/fsUtils" - "github.com/rs/zerolog/log" - "github.com/spf13/cobra" ) var logsCmd = &cobra.Command{ diff --git a/cmd/mcp.go b/cmd/mcp.go index c571f825c..422ef9f2c 100644 --- a/cmd/mcp.go +++ b/cmd/mcp.go @@ -1,8 +1,9 @@ package cmd import ( - "github.com/kubeshark/kubeshark/config" "github.com/spf13/cobra" + + "github.com/kubeshark/kubeshark/config" ) var mcpURL string diff --git a/cmd/mcpRunner.go b/cmd/mcpRunner.go index 42b23b917..c3a473ad7 100644 --- a/cmd/mcpRunner.go +++ b/cmd/mcpRunner.go @@ -15,13 +15,14 @@ import ( "sync" "time" + "github.com/rs/zerolog" + "github.com/kubeshark/kubeshark/config" "github.com/kubeshark/kubeshark/config/configStructs" "github.com/kubeshark/kubeshark/internal/connect" "github.com/kubeshark/kubeshark/kubernetes" "github.com/kubeshark/kubeshark/misc" "github.com/kubeshark/kubeshark/utils" - "github.com/rs/zerolog" ) // MCP Protocol types (JSON-RPC 2.0) diff --git a/cmd/mcp_test.go b/cmd/mcp_test.go index 78c1e2e1d..4ae45fde3 100644 --- a/cmd/mcp_test.go +++ b/cmd/mcp_test.go @@ -658,9 +658,10 @@ func TestMCP_ToolsList_IncludesFileTools(t *testing.T) { func TestMCP_FullConversation(t *testing.T) { mockServer := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - if r.URL.Path == "/" { + switch r.URL.Path { + case "/": _, _ = w.Write([]byte(`{"name":"hub","tools":[{"name":"list_workloads","description":"","inputSchema":{}}]}`)) - } else if r.URL.Path == "/tools/call" { + case "/tools/call": _, _ = w.Write([]byte(`{"data":"ok"}`)) } })) diff --git a/cmd/pcapDump.go b/cmd/pcapDump.go index 5653642b6..41f9a45ed 100644 --- a/cmd/pcapDump.go +++ b/cmd/pcapDump.go @@ -8,13 +8,14 @@ import ( "time" "github.com/creasty/defaults" - "github.com/kubeshark/kubeshark/config/configStructs" "github.com/rs/zerolog" "github.com/rs/zerolog/log" "github.com/spf13/cobra" "k8s.io/client-go/kubernetes" "k8s.io/client-go/tools/clientcmd" "k8s.io/client-go/util/homedir" + + "github.com/kubeshark/kubeshark/config/configStructs" ) // pcapDumpCmd represents the consolidated pcapdump command @@ -45,12 +46,12 @@ var pcapDumpCmd = &cobra.Command{ // Use the current context in kubeconfig config, err := clientcmd.BuildConfigFromFlags("", kubeconfig) if err != nil { - return fmt.Errorf("Error building kubeconfig: %w", err) + return fmt.Errorf("error building kubeconfig: %w", err) } clientset, err := kubernetes.NewForConfig(config) if err != nil { - return fmt.Errorf("Error creating Kubernetes client: %w", err) + return fmt.Errorf("error creating Kubernetes client: %w", err) } // Parse the `--time` flag @@ -59,7 +60,7 @@ var pcapDumpCmd = &cobra.Command{ if timeIntervalStr != "" { duration, err := time.ParseDuration(timeIntervalStr) if err != nil { - return fmt.Errorf("Invalid format %w", err) + return fmt.Errorf("invalid --time value %q: %w", timeIntervalStr, err) } tempCutoffTime := time.Now().Add(-duration) cutoffTime = &tempCutoffTime @@ -70,17 +71,17 @@ var pcapDumpCmd = &cobra.Command{ if destDir != "" { info, err := os.Stat(destDir) if os.IsNotExist(err) { - return fmt.Errorf("Directory does not exist: %s", destDir) + return fmt.Errorf("directory does not exist: %s", destDir) } if err != nil { - return fmt.Errorf("Error checking dest directory: %w", err) + return fmt.Errorf("error checking dest directory: %w", err) } if !info.IsDir() { - return fmt.Errorf("Dest path is not a directory: %s", destDir) + return fmt.Errorf("dest path is not a directory: %s", destDir) } tempFile, err := os.CreateTemp(destDir, "write-test-*") if err != nil { - return fmt.Errorf("Directory %s is not writable", destDir) + return fmt.Errorf("directory %s is not writable", destDir) } _ = os.Remove(tempFile.Name()) } diff --git a/cmd/pprof.go b/cmd/pprof.go index 9c2cc9ea6..ce9cb99f0 100644 --- a/cmd/pprof.go +++ b/cmd/pprof.go @@ -2,9 +2,10 @@ package cmd import ( "github.com/creasty/defaults" - "github.com/kubeshark/kubeshark/config/configStructs" "github.com/rs/zerolog/log" "github.com/spf13/cobra" + + "github.com/kubeshark/kubeshark/config/configStructs" ) var pprofCmd = &cobra.Command{ diff --git a/cmd/pprofRunner.go b/cmd/pprofRunner.go index aeea4aeac..7bcecf215 100644 --- a/cmd/pprofRunner.go +++ b/cmd/pprofRunner.go @@ -5,12 +5,13 @@ import ( "fmt" "github.com/go-cmd/cmd" - "github.com/kubeshark/kubeshark/config" - "github.com/kubeshark/kubeshark/kubernetes" - "github.com/kubeshark/kubeshark/utils" "github.com/rivo/tview" "github.com/rs/zerolog/log" v1 "k8s.io/api/core/v1" + + "github.com/kubeshark/kubeshark/config" + "github.com/kubeshark/kubeshark/kubernetes" + "github.com/kubeshark/kubeshark/utils" ) func runPprof() { diff --git a/cmd/proxy.go b/cmd/proxy.go index d5329cba0..11575eadc 100644 --- a/cmd/proxy.go +++ b/cmd/proxy.go @@ -2,9 +2,10 @@ package cmd import ( "github.com/creasty/defaults" - "github.com/kubeshark/kubeshark/config/configStructs" "github.com/rs/zerolog/log" "github.com/spf13/cobra" + + "github.com/kubeshark/kubeshark/config/configStructs" ) var proxyCmd = &cobra.Command{ diff --git a/cmd/proxyRunner.go b/cmd/proxyRunner.go index 2fa5e27af..1cadb0e69 100644 --- a/cmd/proxyRunner.go +++ b/cmd/proxyRunner.go @@ -5,13 +5,14 @@ import ( "fmt" "net/http" + "github.com/rs/zerolog/log" + "github.com/kubeshark/kubeshark/config" "github.com/kubeshark/kubeshark/config/configStructs" "github.com/kubeshark/kubeshark/internal/connect" "github.com/kubeshark/kubeshark/kubernetes" "github.com/kubeshark/kubeshark/misc" "github.com/kubeshark/kubeshark/utils" - "github.com/rs/zerolog/log" ) func runProxy(block bool, noBrowser bool) { diff --git a/cmd/root.go b/cmd/root.go index 178cad30c..9b5f2d4da 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -4,10 +4,11 @@ import ( "fmt" "github.com/creasty/defaults" - "github.com/kubeshark/kubeshark/config" - "github.com/kubeshark/kubeshark/misc" "github.com/rs/zerolog/log" "github.com/spf13/cobra" + + "github.com/kubeshark/kubeshark/config" + "github.com/kubeshark/kubeshark/misc" ) var rootCmd = &cobra.Command{ diff --git a/cmd/scripts.go b/cmd/scripts.go index 9a5123061..81307b3eb 100644 --- a/cmd/scripts.go +++ b/cmd/scripts.go @@ -12,15 +12,16 @@ import ( "github.com/creasty/defaults" "github.com/fsnotify/fsnotify" - "github.com/kubeshark/kubeshark/config" - "github.com/kubeshark/kubeshark/config/configStructs" - "github.com/kubeshark/kubeshark/kubernetes" - "github.com/kubeshark/kubeshark/misc" "github.com/rs/zerolog/log" "github.com/spf13/cobra" k8serrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/watch" + + "github.com/kubeshark/kubeshark/config" + "github.com/kubeshark/kubeshark/config/configStructs" + "github.com/kubeshark/kubeshark/kubernetes" + "github.com/kubeshark/kubeshark/misc" ) var scriptsCmd = &cobra.Command{ diff --git a/cmd/tap.go b/cmd/tap.go index f8edec061..95f013351 100644 --- a/cmd/tap.go +++ b/cmd/tap.go @@ -4,11 +4,12 @@ import ( "errors" "github.com/creasty/defaults" + "github.com/rs/zerolog/log" + "github.com/spf13/cobra" + "github.com/kubeshark/kubeshark/config" "github.com/kubeshark/kubeshark/config/configStructs" "github.com/kubeshark/kubeshark/errormessage" - "github.com/rs/zerolog/log" - "github.com/spf13/cobra" ) var tapCmd = &cobra.Command{ diff --git a/cmd/tapRunner.go b/cmd/tapRunner.go index 6fa5f592d..960b916e7 100644 --- a/cmd/tapRunner.go +++ b/cmd/tapRunner.go @@ -16,11 +16,12 @@ import ( core "k8s.io/api/core/v1" + "github.com/rs/zerolog/log" + "github.com/kubeshark/kubeshark/config" "github.com/kubeshark/kubeshark/config/configStructs" "github.com/kubeshark/kubeshark/errormessage" "github.com/kubeshark/kubeshark/kubernetes" - "github.com/rs/zerolog/log" ) const cleanupTimeout = time.Minute @@ -445,7 +446,6 @@ func postFrontStarted(ctx context.Context, kubernetesProvider *kubernetes.Provid time.Sleep(100 * time.Millisecond) } - if (config.Config.Scripting.Source != "" || len(config.Config.Scripting.Sources) > 0) && config.Config.Scripting.WatchScripts { watchScripts(ctx, kubernetesProvider, false) } diff --git a/cmd/version.go b/cmd/version.go index d55adaf97..059f8edde 100644 --- a/cmd/version.go +++ b/cmd/version.go @@ -5,10 +5,11 @@ import ( "strconv" "time" - "github.com/kubeshark/kubeshark/config" - "github.com/kubeshark/kubeshark/misc" "github.com/rs/zerolog/log" "github.com/spf13/cobra" + + "github.com/kubeshark/kubeshark/config" + "github.com/kubeshark/kubeshark/misc" ) var versionCmd = &cobra.Command{ diff --git a/config/config.go b/config/config.go index c9f044009..919d52718 100644 --- a/config/config.go +++ b/config/config.go @@ -13,13 +13,14 @@ import ( "github.com/creasty/defaults" "github.com/goccy/go-yaml" - "github.com/kubeshark/kubeshark/misc" - "github.com/kubeshark/kubeshark/misc/version" - "github.com/kubeshark/kubeshark/utils" "github.com/rs/zerolog" "github.com/rs/zerolog/log" "github.com/spf13/cobra" "github.com/spf13/pflag" + + "github.com/kubeshark/kubeshark/misc" + "github.com/kubeshark/kubeshark/misc/version" + "github.com/kubeshark/kubeshark/utils" ) const ( diff --git a/config/configStruct.go b/config/configStruct.go index 131c2bb4d..76a86957c 100644 --- a/config/configStruct.go +++ b/config/configStruct.go @@ -4,9 +4,10 @@ import ( "os" "path/filepath" - "github.com/kubeshark/kubeshark/config/configStructs" v1 "k8s.io/api/core/v1" "k8s.io/client-go/util/homedir" + + "github.com/kubeshark/kubeshark/config/configStructs" ) const ( @@ -132,15 +133,15 @@ func CreateDefaultConfig() ConfigStruct { "tcp-conn", }, PortMapping: configStructs.PortMapping{ - HTTP: []uint16{80, 443, 8080}, - AMQP: []uint16{5671, 5672}, - KAFKA: []uint16{9092}, - MONGODB: []uint16{27017}, + HTTP: []uint16{80, 443, 8080}, + AMQP: []uint16{5671, 5672}, + KAFKA: []uint16{9092}, + MONGODB: []uint16{27017}, MYSQL: []uint16{3306}, POSTGRESQL: []uint16{5432}, REDIS: []uint16{6379}, - LDAP: []uint16{389}, - DIAMETER: []uint16{3868}, + LDAP: []uint16{389}, + DIAMETER: []uint16{3868}, }, Dashboard: configStructs.DashboardConfig{ CompleteStreamingEnabled: true, diff --git a/config/configStructs/scriptingConfig.go b/config/configStructs/scriptingConfig.go index d540b13a6..842a9ca2c 100644 --- a/config/configStructs/scriptingConfig.go +++ b/config/configStructs/scriptingConfig.go @@ -7,8 +7,9 @@ import ( "path/filepath" "strings" - "github.com/kubeshark/kubeshark/misc" "github.com/rs/zerolog/log" + + "github.com/kubeshark/kubeshark/misc" ) type ScriptingConfig struct { diff --git a/config/configStructs/tapConfig.go b/config/configStructs/tapConfig.go index 758331eb6..db48085fd 100644 --- a/config/configStructs/tapConfig.go +++ b/config/configStructs/tapConfig.go @@ -333,15 +333,15 @@ type PcapDumpConfig struct { } type PortMapping struct { - HTTP []uint16 `yaml:"http" json:"http"` - AMQP []uint16 `yaml:"amqp" json:"amqp"` - KAFKA []uint16 `yaml:"kafka" json:"kafka"` - MONGODB []uint16 `yaml:"mongodb" json:"mongodb"` + HTTP []uint16 `yaml:"http" json:"http"` + AMQP []uint16 `yaml:"amqp" json:"amqp"` + KAFKA []uint16 `yaml:"kafka" json:"kafka"` + MONGODB []uint16 `yaml:"mongodb" json:"mongodb"` MYSQL []uint16 `yaml:"mysql" json:"mysql"` POSTGRESQL []uint16 `yaml:"postgresql" json:"postgresql"` REDIS []uint16 `yaml:"redis" json:"redis"` - LDAP []uint16 `yaml:"ldap" json:"ldap"` - DIAMETER []uint16 `yaml:"diameter" json:"diameter"` + LDAP []uint16 `yaml:"ldap" json:"ldap"` + DIAMETER []uint16 `yaml:"diameter" json:"diameter"` } type SecurityContextConfig struct { diff --git a/config/config_internal_test.go b/config/config_internal_test.go index 95789be32..e26bb15d7 100644 --- a/config/config_internal_test.go +++ b/config/config_internal_test.go @@ -148,7 +148,7 @@ func TestMergeSetFlagNotSliceValues(t *testing.T) { {Name: "int field", FieldsSetValues: []FieldSetValues{{SetValues: []string{"int-field=6"}, FieldName: "IntField", FieldValue: 6}}}, {Name: "bool field", FieldsSetValues: []FieldSetValues{{SetValues: []string{"bool-field=true"}, FieldName: "BoolField", FieldValue: true}}}, {Name: "uint field", FieldsSetValues: []FieldSetValues{{SetValues: []string{"uint-field=6"}, FieldName: "UintField", FieldValue: uint(6)}}}, - {Name: "four fields combined", FieldsSetValues: []FieldSetValues { + {Name: "four fields combined", FieldsSetValues: []FieldSetValues{ {SetValues: []string{"string-field=test"}, FieldName: "StringField", FieldValue: "test"}, {SetValues: []string{"int-field=6"}, FieldName: "IntField", FieldValue: 6}, {SetValues: []string{"bool-field=true"}, FieldName: "BoolField", FieldValue: true}, diff --git a/go.mod b/go.mod index 4125d4ee3..527cee92c 100644 --- a/go.mod +++ b/go.mod @@ -1,8 +1,6 @@ module github.com/kubeshark/kubeshark -go 1.24.0 - -toolchain go1.24.5 +go 1.25.0 require ( github.com/creasty/defaults v1.5.2 @@ -38,11 +36,11 @@ require ( github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect github.com/blang/semver/v4 v4.0.0 // indirect github.com/chai2010/gettext-go v1.0.2 // indirect - github.com/containerd/containerd v1.7.27 // indirect + github.com/containerd/containerd v1.7.34 // indirect github.com/containerd/errdefs v0.3.0 // indirect github.com/containerd/log v0.1.0 // indirect github.com/containerd/platforms v0.2.1 // indirect - github.com/cyphar/filepath-securejoin v0.4.1 // indirect + github.com/cyphar/filepath-securejoin v0.5.1 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/emicklei/go-restful/v3 v3.11.0 // indirect github.com/evanphx/json-patch v5.9.11+incompatible // indirect @@ -53,7 +51,7 @@ require ( github.com/gdamore/tcell/v2 v2.7.1 // indirect github.com/go-errors/errors v1.4.2 // indirect github.com/go-gorp/gorp/v3 v3.1.0 // indirect - github.com/go-logr/logr v1.4.2 // indirect + github.com/go-logr/logr v1.4.3 // indirect github.com/go-openapi/jsonpointer v0.21.0 // indirect github.com/go-openapi/jsonreference v0.20.2 // indirect github.com/go-openapi/swag v0.23.0 // indirect @@ -89,7 +87,7 @@ require ( github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/go-wordwrap v1.0.1 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect - github.com/moby/spdystream v0.5.0 // indirect + github.com/moby/spdystream v0.5.1 // indirect github.com/moby/term v0.5.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect @@ -100,28 +98,30 @@ require ( github.com/opencontainers/image-spec v1.1.1 // indirect github.com/peterbourgon/diskv v2.0.1+incompatible // indirect github.com/rivo/uniseg v0.4.7 // indirect + github.com/rogpeppe/go-internal v1.14.1 // indirect github.com/rubenv/sql-migrate v1.8.0 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/shopspring/decimal v1.4.0 // indirect github.com/sirupsen/logrus v1.9.3 // indirect github.com/spf13/cast v1.7.0 // indirect + github.com/stretchr/testify v1.11.1 // indirect github.com/x448/float16 v0.8.4 // indirect github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect github.com/xeipuuv/gojsonschema v1.2.0 // indirect github.com/xlab/treeprint v1.2.0 // indirect - golang.org/x/crypto v0.39.0 // indirect - golang.org/x/net v0.40.0 // indirect - golang.org/x/oauth2 v0.28.0 // indirect - golang.org/x/sync v0.15.0 // indirect - golang.org/x/sys v0.33.0 // indirect - golang.org/x/term v0.32.0 // indirect - golang.org/x/text v0.26.0 // indirect - golang.org/x/time v0.9.0 // indirect + golang.org/x/crypto v0.54.0 // indirect + golang.org/x/net v0.56.0 // indirect + golang.org/x/oauth2 v0.36.0 // indirect + golang.org/x/sync v0.22.0 // indirect + golang.org/x/sys v0.47.0 // indirect + golang.org/x/term v0.45.0 // indirect + golang.org/x/text v0.40.0 // indirect + golang.org/x/time v0.12.0 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20241209162323-e6fa225c2576 // indirect - google.golang.org/grpc v1.68.1 // indirect - google.golang.org/protobuf v1.36.5 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20260526163538-3dc84a4a5aaa // indirect + google.golang.org/grpc v1.83.0 // indirect + google.golang.org/protobuf v1.36.11 // indirect gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/sourcemap.v1 v1.0.5 // indirect @@ -133,7 +133,7 @@ require ( k8s.io/klog/v2 v2.130.1 // indirect k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff // indirect k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738 // indirect - oras.land/oras-go/v2 v2.6.0 // indirect + oras.land/oras-go/v2 v2.6.2 // indirect sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 // indirect sigs.k8s.io/kustomize/api v0.19.0 // indirect sigs.k8s.io/kustomize/kyaml v0.19.0 // indirect diff --git a/go.sum b/go.sum index 5475e3373..1e56f48b4 100644 --- a/go.sum +++ b/go.sum @@ -36,8 +36,8 @@ github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UF github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/chai2010/gettext-go v1.0.2 h1:1Lwwip6Q2QGsAdl/ZKPCwTe9fe0CjlUbqj5bFNSjIRk= github.com/chai2010/gettext-go v1.0.2/go.mod h1:y+wnP2cHYaVj19NZhYKAwEMH2CI1gNHeQQ+5AjwawxA= -github.com/containerd/containerd v1.7.27 h1:yFyEyojddO3MIGVER2xJLWoCIn+Up4GaHFquP7hsFII= -github.com/containerd/containerd v1.7.27/go.mod h1:xZmPnl75Vc+BLGt4MIfu6bp+fy03gdHAn9bz+FreFR0= +github.com/containerd/containerd v1.7.34 h1:Q35B4FUECxcoaMz9QrOlqp+0s72w8/0NWawVMhVdf5g= +github.com/containerd/containerd v1.7.34/go.mod h1:ozI//0TomTCLPhQREnx0IXDIQMg+Fk7yTtg9fNvU8EQ= github.com/containerd/errdefs v0.3.0 h1:FSZgGOeK4yuT/+DnF07/Olde/q4KBoMsaamhXxIMDp4= github.com/containerd/errdefs v0.3.0/go.mod h1:+YBYIdtsnF4Iw6nWZhJcqGSg/dwvV7tyJ/kCkyJ2k+M= github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= @@ -53,8 +53,8 @@ github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/creasty/defaults v1.5.2 h1:/VfB6uxpyp6h0fr7SPp7n8WJBoV8jfxQXPCnkVSjyls= github.com/creasty/defaults v1.5.2/go.mod h1:FPZ+Y0WNrbqOVw+c6av63eyHUAl6pMHZwqLPvXUZGfY= -github.com/cyphar/filepath-securejoin v0.4.1 h1:JyxxyPEaktOD+GAnqIqTf9A8tHyAG22rowi7HkoSU1s= -github.com/cyphar/filepath-securejoin v0.4.1/go.mod h1:Sdj7gXlvMcPZsbhwhQ33GguGLDGQL7h7bg04C/+u9jI= +github.com/cyphar/filepath-securejoin v0.5.1 h1:eYgfMq5yryL4fbWfkLpFFy2ukSELzaJOTaUTuh+oF48= +github.com/cyphar/filepath-securejoin v0.5.1/go.mod h1:Sdj7gXlvMcPZsbhwhQ33GguGLDGQL7h7bg04C/+u9jI= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= @@ -101,8 +101,8 @@ github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxI github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= github.com/go-gorp/gorp/v3 v3.1.0 h1:ItKF/Vbuj31dmV4jxA1qblpSwkl9g1typ24xoe70IGs= github.com/go-gorp/gorp/v3 v3.1.0/go.mod h1:dLEjIyyRNiXvNZ8PSmzpt1GsWAUK8kjVhEpjH8TixEw= -github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= -github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI= +github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= @@ -238,8 +238,8 @@ github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQ github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/moby/spdystream v0.5.0 h1:7r0J1Si3QO/kjRitvSLVVFUjxMEb/YLj6S9FF62JBCU= -github.com/moby/spdystream v0.5.0/go.mod h1:xBAYlnt/ay+11ShkdFKNAG7LsyK/tmNBVvVOwrfMgdI= +github.com/moby/spdystream v0.5.1 h1:9sNYeYZUcci9R6/w7KDaFWEWeV4LStVG78Mpyq/Zm/Y= +github.com/moby/spdystream v0.5.1/go.mod h1:xBAYlnt/ay+11ShkdFKNAG7LsyK/tmNBVvVOwrfMgdI= github.com/moby/term v0.5.2 h1:6qk3FJAFDs6i/q3W/pQ97SX192qKfZgGjCQqfCJkgzQ= github.com/moby/term v0.5.2/go.mod h1:d3djjFCrjnB+fl8NJux+EJzu0msscUP+f8it8hPkFLc= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -294,8 +294,8 @@ github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= github.com/robertkrimen/otto v0.2.1 h1:FVP0PJ0AHIjC+N4pKCG9yCDz6LHNPCwi/GKID5pGGF0= github.com/robertkrimen/otto v0.2.1/go.mod h1:UPwtJ1Xu7JrLcZjNWN8orJaM5n5YEtqL//farB5FlRY= -github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= -github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= +github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ= +github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc= github.com/rs/xid v1.4.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= github.com/rs/zerolog v1.28.0 h1:MirSo27VyNi7RJYP3078AA1+Cyzd2GB66qy3aUHvsWY= github.com/rs/zerolog v1.28.0/go.mod h1:NILgTygv/Uej1ra5XxGf82ZFSLk58MFGAUS2o6usyD0= @@ -327,8 +327,8 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= -github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= +github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= github.com/tanqiangyes/grep-go v0.0.0-20220515134556-b36bff9c3d8e h1:+qDZ81UqxfZsWK6Vq9wET3AsdQxHGbViYOqkNxZ9FnU= github.com/tanqiangyes/grep-go v0.0.0-20220515134556-b36bff9c3d8e/go.mod h1:ANZlXE3vfRYCYnkojePl2hJODYmOeCVD+XahuhDdTbI= github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE= @@ -348,16 +348,16 @@ github.com/xlab/treeprint v1.2.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= -go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= +go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= +go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= go.opentelemetry.io/contrib/bridges/prometheus v0.57.0 h1:UW0+QyeyBVhn+COBec3nGhfnFe5lwB0ic1JBVjzhk0w= go.opentelemetry.io/contrib/bridges/prometheus v0.57.0/go.mod h1:ppciCHRLsyCio54qbzQv0E4Jyth/fLWDTJYfvWpcSVk= go.opentelemetry.io/contrib/exporters/autoexport v0.57.0 h1:jmTVJ86dP60C01K3slFQa2NQ/Aoi7zA+wy7vMOKD9H4= go.opentelemetry.io/contrib/exporters/autoexport v0.57.0/go.mod h1:EJBheUMttD/lABFyLXhce47Wr6DPWYReCzaZiXadH7g= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.58.0 h1:yd02MEjBdJkG3uabWP9apV+OuWRIXGDuJEUJbOHmCFU= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.58.0/go.mod h1:umTcuxiv1n/s/S6/c2AT/g2CQ7u5C59sHDNmfSwgz7Q= -go.opentelemetry.io/otel v1.33.0 h1:/FerN9bax5LoK51X/sI0SVYrjSE0/yUL7DpxW4K3FWw= -go.opentelemetry.io/otel v1.33.0/go.mod h1:SUUkR6csvUQl+yjReHu5uM3EtVV7MBm5FHKRlNx4I8I= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.0 h1:F7Jx+6hwnZ41NSFTO5q4LYDtJRXBf2PD0rNBkeB/lus= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.0/go.mod h1:UHB22Z8QsdRDrnAtX4PntOl36ajSxcdUMt1sF7Y6E7Q= +go.opentelemetry.io/otel v1.44.0 h1:JjwHmHpA4iZ3wBxluu2fbbE7j4kqlE8jXyAyPXH7HqU= +go.opentelemetry.io/otel v1.44.0/go.mod h1:BMgjTHL9WPRlRjL2oZCBTL4whCGtXch2H4BhOPIAyYc= go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.8.0 h1:WzNab7hOOLzdDF/EoWCt4glhrbMPVMOO5JYTmpz36Ls= go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.8.0/go.mod h1:hKvJwTzJdp90Vh7p6q/9PAOd55dI6WA6sWj62a/JvSs= go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.8.0 h1:S+LdBGiQXtJdowoJoQPEtI52syEP/JYBUpjO49EQhV8= @@ -382,16 +382,16 @@ go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.32.0 h1:cC2yDI3IQd0Udsu go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.32.0/go.mod h1:2PD5Ex6z8CFzDbTdOlwyNIUywRr1DN0ospafJM1wJ+s= go.opentelemetry.io/otel/log v0.8.0 h1:egZ8vV5atrUWUbnSsHn6vB8R21G2wrKqNiDt3iWertk= go.opentelemetry.io/otel/log v0.8.0/go.mod h1:M9qvDdUTRCopJcGRKg57+JSQ9LgLBrwwfC32epk5NX8= -go.opentelemetry.io/otel/metric v1.33.0 h1:r+JOocAyeRVXD8lZpjdQjzMadVZp2M4WmQ+5WtEnklQ= -go.opentelemetry.io/otel/metric v1.33.0/go.mod h1:L9+Fyctbp6HFTddIxClbQkjtubW6O9QS3Ann/M82u6M= -go.opentelemetry.io/otel/sdk v1.33.0 h1:iax7M131HuAm9QkZotNHEfstof92xM+N8sr3uHXc2IM= -go.opentelemetry.io/otel/sdk v1.33.0/go.mod h1:A1Q5oi7/9XaMlIWzPSxLRWOI8nG3FnzHJNbiENQuihM= +go.opentelemetry.io/otel/metric v1.44.0 h1:1w0gILTcHdr3YI+ixLyjemwrVnsMURbTZFrSYCdDdmc= +go.opentelemetry.io/otel/metric v1.44.0/go.mod h1:8O7hanEPBNgEMmybD3s2VBKcgWOCsA6tzHBPODAiquo= +go.opentelemetry.io/otel/sdk v1.44.0 h1:nHYwb9lK+fJPU/dnT6s7W7Z8itMWyqrnVfbheVYrZ58= +go.opentelemetry.io/otel/sdk v1.44.0/go.mod h1:Osuydd3Se74nqjAKxid74N5eC+jfEqfTegHRnq58oK0= go.opentelemetry.io/otel/sdk/log v0.8.0 h1:zg7GUYXqxk1jnGF/dTdLPrK06xJdrXgqgFLnI4Crxvs= go.opentelemetry.io/otel/sdk/log v0.8.0/go.mod h1:50iXr0UVwQrYS45KbruFrEt4LvAdCaWWgIrsN3ZQggo= -go.opentelemetry.io/otel/sdk/metric v1.32.0 h1:rZvFnvmvawYb0alrYkjraqJq0Z4ZUJAiyYCU9snn1CU= -go.opentelemetry.io/otel/sdk/metric v1.32.0/go.mod h1:PWeZlq0zt9YkYAp3gjKZ0eicRYvOh1Gd+X99x6GHpCQ= -go.opentelemetry.io/otel/trace v1.33.0 h1:cCJuF7LRjUFso9LPnEAHJDB2pqzp+hbO8eu1qqW2d/s= -go.opentelemetry.io/otel/trace v1.33.0/go.mod h1:uIcdVUZMpTAmz0tI1z04GoVSezK37CbGV4fr1f2nBck= +go.opentelemetry.io/otel/sdk/metric v1.44.0 h1:3LlKgI+VjbVsjNRFZJZAJ30WjXC5VkNRks6si09iEfI= +go.opentelemetry.io/otel/sdk/metric v1.44.0/go.mod h1:5B5pMARnXxKhltooO4xUuCBorl65a4EpnTalObqOigA= +go.opentelemetry.io/otel/trace v1.44.0 h1:jxF5CsGYCe74MCRx2X4g7WsY/VBKRqqpNvXlX/6gtIk= +go.opentelemetry.io/otel/trace v1.44.0/go.mod h1:oLl1jrMQAVo6v3GAggN+1VH9VIz9iUSvW53sW1Q8PIE= go.opentelemetry.io/proto/otlp v1.4.0 h1:TA9WRvW6zMwP+Ssb6fLoUIuirti1gGbP28GcKG1jgeg= go.opentelemetry.io/proto/otlp v1.4.0/go.mod h1:PPBWZIP98o2ElSqI35IHfu7hIhSwvc5N38Jw8pXuGFY= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= @@ -400,14 +400,14 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk 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-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.39.0 h1:SHs+kF4LP+f+p14esP5jAoDpHU8Gu/v9lFRK6IT5imM= -golang.org/x/crypto v0.39.0/go.mod h1:L+Xg3Wf6HoL4Bn4238Z6ft6KfEpN0tJGo53AAPC632U= +golang.org/x/crypto v0.54.0 h1:YLIA59K4fiNzHzjnZt2tUJQjQtUWfWbeHBqKtk3eScw= +golang.org/x/crypto v0.54.0/go.mod h1:KWL8ny2AZdGR2cWmzeHrp2azQPGogOv+HeQaVEXC2dk= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.25.0 h1:n7a+ZbQKQA/Ysbyb0/6IbB1H/X41mKgbhfv7AfG/44w= -golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= +golang.org/x/mod v0.37.0 h1:vF1DjpVEshcIqoEaauuHebaLk1O1forxjxBaVn884JQ= +golang.org/x/mod v0.37.0/go.mod h1:m8S8VeM9r4dzDwjrKO0a1sZP3YjeMamRRlD+fmR2Q/0= 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-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -416,18 +416,18 @@ golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwY golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY= -golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds= +golang.org/x/net v0.56.0 h1:Rw8j/hFzGvJUZwNBXnAtf5sVDVt+65SK2C7IxCxZt5o= +golang.org/x/net v0.56.0/go.mod h1:D3Ku6r+V6JROoZK144D2XfMHFcMq/0zSfLelVTCFKec= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.28.0 h1:CrgCKl8PPAVtLnU3c+EDw6x11699EWlsDeWNWKdIOkc= -golang.org/x/oauth2 v0.28.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8= +golang.org/x/oauth2 v0.36.0 h1:peZ/1z27fi9hUOFCAZaHyrpWG5lwe0RJEEEeH0ThlIs= +golang.org/x/oauth2 v0.36.0/go.mod h1:YDBUJMTkDnJS+A4BP4eZBjCqtokkg1hODuPjwiGPO7Q= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.15.0 h1:KWH3jNZsfyT6xfAfKiz6MRNmd46ByHDYaZ7KSkCtdW8= -golang.org/x/sync v0.15.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.22.0 h1:SZjpbeLmrCk4xhRSZFNZW5gFUeCeFgjekvI/+gfScek= +golang.org/x/sync v0.22.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606203320-7fc4e5ec1444/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -447,31 +447,31 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw= -golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.47.0 h1:o7XGOvZQCADBQQ4Y7VNq2dRWQR7JmOUW8Kxx4ZsNgWs= +golang.org/x/sys v0.47.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= -golang.org/x/term v0.32.0 h1:DR4lr0TjUs3epypdhTOkMmuF5CDFJ/8pOnbzMZPQ7bg= -golang.org/x/term v0.32.0/go.mod h1:uZG1FhGx848Sqfsq4/DlJr3xGGsYMu/L5GW4abiaEPQ= +golang.org/x/term v0.45.0 h1:NwWyBmoJCbfTHpxrWoZ9C6/VxOf7ic219I8xZZFdrf0= +golang.org/x/term v0.45.0/go.mod h1:9aqxs0blBcrm/n0L9QW0aRVD+ktan8ssZromtqJC43w= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.26.0 h1:P42AVeLghgTYr4+xUnTRKDMqpar+PtX7KWuNQL21L8M= -golang.org/x/text v0.26.0/go.mod h1:QK15LZJUUQVJxhz7wXgxSy/CJaTFjd0G+YLonydOVQA= -golang.org/x/time v0.9.0 h1:EsRrnYcQiGH+5FfbgvV4AP7qEZstoyrHB0DzarOQ4ZY= -golang.org/x/time v0.9.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= +golang.org/x/text v0.40.0 h1:Ub2Z6/xjgF1WrYQz2nuITOEegKFtiIy+rieRJ5lHZKs= +golang.org/x/text v0.40.0/go.mod h1:hpnzDAfGV753zIKo+wk3u1bVKCGPbrnF7+7LBF/UHVY= +golang.org/x/time v0.12.0 h1:ScB/8o8olJvc+CQPWrK3fPZNfh7qgwCrY0zJmoEQLSE= +golang.org/x/time v0.12.0/go.mod h1:CDIdPxbZBQxdj6cxyCIdrNogrJKMJ7pr37NYpMcMDSg= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.33.0 h1:4qz2S3zmRxbGIhDIAgjxvFutSvH5EfnsYrRBj0UI0bc= -golang.org/x/tools v0.33.0/go.mod h1:CIJMaWEY88juyUfo7UbgPqbC8rU2OqfAV1h2Qp0oMYI= +golang.org/x/tools v0.47.0 h1:7Kn5x/d1svx/PzryTsqeoZN4TZwqeH5pGWjefhLi/1Q= +golang.org/x/tools v0.47.0/go.mod h1:dFHnyTvFWY212G+h7ZY4Vsp/K3U4/7W9TyVaAul8uCA= 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= @@ -480,14 +480,14 @@ golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3j golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/genproto v0.0.0-20240123012728-ef4313101c80 h1:KAeGQVN3M9nD0/bQXnr/ClcEMJ968gUXJQ9pwfSynuQ= -google.golang.org/genproto/googleapis/api v0.0.0-20241209162323-e6fa225c2576 h1:CkkIfIt50+lT6NHAVoRYEyAvQGFM7xEwXUUywFvEb3Q= -google.golang.org/genproto/googleapis/api v0.0.0-20241209162323-e6fa225c2576/go.mod h1:1R3kvZ1dtP3+4p4d3G8uJ8rFk/fWlScl38vanWACI08= -google.golang.org/genproto/googleapis/rpc v0.0.0-20241209162323-e6fa225c2576 h1:8ZmaLZE4XWrtU3MyClkYqqtl6Oegr3235h7jxsDyqCY= -google.golang.org/genproto/googleapis/rpc v0.0.0-20241209162323-e6fa225c2576/go.mod h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU= -google.golang.org/grpc v1.68.1 h1:oI5oTa11+ng8r8XMMN7jAOmWfPZWbYpCFaMUTACxkM0= -google.golang.org/grpc v1.68.1/go.mod h1:+q1XYFJjShcqn0QZHvCyeR4CXPA+llXIeUIfIe00waw= -google.golang.org/protobuf v1.36.5 h1:tPhr+woSbjfYvY6/GPufUoYizxw1cF/yFoxJ2fmpwlM= -google.golang.org/protobuf v1.36.5/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/genproto/googleapis/api v0.0.0-20260526163538-3dc84a4a5aaa h1:Kjn0N0tCrDgiAFW+lGO4JZ3ck44CehvJQMAwj9QF0G8= +google.golang.org/genproto/googleapis/api v0.0.0-20260526163538-3dc84a4a5aaa/go.mod h1:q4lMZS6kskjT5HvCPrnnypcDPVJqT/f4nfxmkE7gryY= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260526163538-3dc84a4a5aaa h1:mZHHdPZl0dbGHCflZgAq/Q468DWVFcU2whhB2KAo8fk= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260526163538-3dc84a4a5aaa/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8= +google.golang.org/grpc v1.83.0 h1:JeNZEKJFbQxArAMl+hiytHauacDNqJUllNfmIMmpqnQ= +google.golang.org/grpc v1.83.0/go.mod h1:kDyl6SKsiHKt0uylY5gtn5cEjkrIOhQOGDgIc4JGwzQ= +google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE= +google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= @@ -526,8 +526,8 @@ k8s.io/kubectl v0.33.2 h1:7XKZ6DYCklu5MZQzJe+CkCjoGZwD1wWl7t/FxzhMz7Y= k8s.io/kubectl v0.33.2/go.mod h1:8rC67FB8tVTYraovAGNi/idWIK90z2CHFNMmGJZJ3KI= k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738 h1:M3sRQVHv7vB20Xc2ybTt7ODCeFj6JSWYFzOFnYeS6Ro= k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -oras.land/oras-go/v2 v2.6.0 h1:X4ELRsiGkrbeox69+9tzTu492FMUu7zJQW6eJU+I2oc= -oras.land/oras-go/v2 v2.6.0/go.mod h1:magiQDfG6H1O9APp+rOsvCPcW1GD2MM7vgnKY0Y+u1o= +oras.land/oras-go/v2 v2.6.2 h1:N04RXngAp1LJKTG6ifz3xHPipasEkWr+hFmInja5YKo= +oras.land/oras-go/v2 v2.6.2/go.mod h1:PlTtg4JTDJkDe8yVHpM2wz7/YDc00GVas+i4jAW2TZ4= sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 h1:/Rv+M11QRah1itp8VhT6HoVx1Ray9eB4DBr+K+/sCJ8= sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3/go.mod h1:18nIHnGi6636UCz6m8i4DhaJ65T6EruyzmoQqI2BVDo= sigs.k8s.io/kustomize/api v0.19.0 h1:F+2HB2mU1MSiR9Hp1NEgoU2q9ItNOaBJl0I4Dlus5SQ= diff --git a/integration/mcp_test.go b/integration/mcp_test.go index 63394aae9..7bb124805 100644 --- a/integration/mcp_test.go +++ b/integration/mcp_test.go @@ -230,7 +230,9 @@ func TestMCP_ToolsList_ReadOnly(t *testing.T) { } var result struct { - Tools []struct{ Name string `json:"name"` } `json:"tools"` + Tools []struct { + Name string `json:"name"` + } `json:"tools"` } if err := json.Unmarshal(resp.Result, &result); err != nil { t.Fatalf("Failed to parse result: %v", err) @@ -262,7 +264,9 @@ func TestMCP_ToolsList_WithDestructive(t *testing.T) { } var result struct { - Tools []struct{ Name string `json:"name"` } `json:"tools"` + Tools []struct { + Name string `json:"name"` + } `json:"tools"` } if err := json.Unmarshal(resp.Result, &result); err != nil { t.Fatalf("Failed to parse result: %v", err) @@ -296,7 +300,9 @@ func TestMCP_CheckKubesharkStatus_NotRunning(t *testing.T) { } var result struct { - Content []struct{ Text string `json:"text"` } `json:"content"` + Content []struct { + Text string `json:"text"` + } `json:"content"` } if err := json.Unmarshal(resp.Result, &result); err != nil { t.Fatalf("Failed to parse result: %v", err) @@ -341,8 +347,10 @@ func TestMCP_StartKubeshark_WithoutFlag(t *testing.T) { resp := session.callTool(t, 2, "start_kubeshark", nil) var result struct { - Content []struct{ Text string `json:"text"` } `json:"content"` - IsError bool `json:"isError"` + Content []struct { + Text string `json:"text"` + } `json:"content"` + IsError bool `json:"isError"` } if err := json.Unmarshal(resp.Result, &result); err != nil { t.Fatalf("Failed to parse result: %v", err) diff --git a/internal/connect/hub.go b/internal/connect/hub.go index a7fc86c28..e60058c47 100644 --- a/internal/connect/hub.go +++ b/internal/connect/hub.go @@ -51,7 +51,7 @@ func (connector *Connector) TestConnection(path string) error { } if retriesLeft == 0 { - return fmt.Errorf("Couldn't reach the URL: %s after %d retries!", connector.url, connector.retries) + return fmt.Errorf("couldn't reach the URL: %s after %d retries", connector.url, connector.retries) } return nil } diff --git a/kubernetes/config.go b/kubernetes/config.go index 14d8f0c6c..52d74c585 100644 --- a/kubernetes/config.go +++ b/kubernetes/config.go @@ -6,11 +6,12 @@ import ( "slices" "strings" - "github.com/kubeshark/kubeshark/config" - "github.com/kubeshark/kubeshark/misc" "github.com/rs/zerolog/log" v1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + + "github.com/kubeshark/kubeshark/config" + "github.com/kubeshark/kubeshark/misc" ) const ( diff --git a/kubernetes/helm/helm.go b/kubernetes/helm/helm.go index 704184f89..c955fc4cb 100644 --- a/kubernetes/helm/helm.go +++ b/kubernetes/helm/helm.go @@ -8,8 +8,6 @@ import ( "regexp" "strings" - "github.com/kubeshark/kubeshark/config" - "github.com/kubeshark/kubeshark/misc" "github.com/pkg/errors" "github.com/rs/zerolog/log" "helm.sh/helm/v3/pkg/action" @@ -22,6 +20,9 @@ import ( "helm.sh/helm/v3/pkg/registry" "helm.sh/helm/v3/pkg/release" "helm.sh/helm/v3/pkg/repo" + + "github.com/kubeshark/kubeshark/config" + "github.com/kubeshark/kubeshark/misc" ) const ENV_HELM_DRIVER = "HELM_DRIVER" @@ -79,7 +80,7 @@ func (h *Helm) Install() (rel *release.Release, err error) { } var cp string - cp, err = client.ChartPathOptions.LocateChart(chartURL, settings) + cp, err = client.LocateChart(chartURL, settings) if err != nil { return } @@ -87,7 +88,7 @@ func (h *Helm) Install() (rel *release.Release, err error) { m := &downloader.Manager{ Out: os.Stdout, ChartPath: cp, - Keyring: client.ChartPathOptions.Keyring, + Keyring: client.Keyring, SkipUpdate: false, Getters: getter.All(settings), RepositoryConfig: settings.RepositoryConfig, diff --git a/kubernetes/podWatchHelper.go b/kubernetes/podWatchHelper.go index 771964466..8e026fe8c 100644 --- a/kubernetes/podWatchHelper.go +++ b/kubernetes/podWatchHelper.go @@ -16,7 +16,7 @@ type PodWatchHelper struct { func NewPodWatchHelper(kubernetesProvider *Provider, NameRegexFilter *regexp.Regexp) *PodWatchHelper { return &PodWatchHelper{ kubernetesProvider: kubernetesProvider, - NameRegexFilter: NameRegexFilter, + NameRegexFilter: NameRegexFilter, } } diff --git a/kubernetes/provider.go b/kubernetes/provider.go index 721ff5f42..d017c7fcb 100644 --- a/kubernetes/provider.go +++ b/kubernetes/provider.go @@ -11,10 +11,6 @@ import ( "regexp" "strings" - "github.com/kubeshark/kubeshark/config" - "github.com/kubeshark/kubeshark/misc" - "github.com/kubeshark/kubeshark/semver" - "github.com/kubeshark/kubeshark/utils" "github.com/rs/zerolog/log" "github.com/tanqiangyes/grep-go/reader" core "k8s.io/api/core/v1" @@ -25,6 +21,11 @@ import ( _ "k8s.io/client-go/plugin/pkg/client/auth" "k8s.io/client-go/rest" "k8s.io/client-go/tools/clientcmd" + + "github.com/kubeshark/kubeshark/config" + "github.com/kubeshark/kubeshark/misc" + "github.com/kubeshark/kubeshark/semver" + "github.com/kubeshark/kubeshark/utils" ) type Provider struct { diff --git a/kubernetes/proxy.go b/kubernetes/proxy.go index c328a6f36..608469da6 100644 --- a/kubernetes/proxy.go +++ b/kubernetes/proxy.go @@ -11,12 +11,13 @@ import ( "strings" "time" - "github.com/kubeshark/kubeshark/config" "github.com/rs/zerolog/log" "k8s.io/apimachinery/pkg/util/httpstream" "k8s.io/client-go/tools/portforward" "k8s.io/client-go/transport/spdy" "k8s.io/kubectl/pkg/proxy" + + "github.com/kubeshark/kubeshark/config" ) const k8sProxyApiPrefix = "/" @@ -155,7 +156,7 @@ func getHttpDialer(kubernetesProvider *Provider, namespace string, podName strin clientConfigHostUrl, err := url.Parse(kubernetesProvider.clientConfig.Host) if err != nil { - return nil, fmt.Errorf("Failed parsing client config host URL %s, error %w", kubernetesProvider.clientConfig.Host, err) + return nil, fmt.Errorf("failed parsing client config host URL %s, error %w", kubernetesProvider.clientConfig.Host, err) } path := fmt.Sprintf("%s/api/v1/namespaces/%s/pods/%s/portforward", clientConfigHostUrl.Path, namespace, podName) diff --git a/kubernetes/watch.go b/kubernetes/watch.go index 3692583c3..0a4d1e3c2 100644 --- a/kubernetes/watch.go +++ b/kubernetes/watch.go @@ -7,9 +7,10 @@ import ( "sync" "time" - "github.com/kubeshark/kubeshark/debounce" "github.com/rs/zerolog/log" "k8s.io/apimachinery/pkg/watch" + + "github.com/kubeshark/kubeshark/debounce" ) type EventFilterer interface { @@ -47,7 +48,6 @@ func FilteredWatch(ctx context.Context, watcherCreator WatchCreator, targetNames case <-ctx.Done(): return default: - break } if err != nil { diff --git a/kubeshark.go b/kubeshark.go index e10bdcc46..3b3e64d3a 100644 --- a/kubeshark.go +++ b/kubeshark.go @@ -5,9 +5,10 @@ import ( "strconv" "time" - "github.com/kubeshark/kubeshark/cmd" "github.com/rs/zerolog" "github.com/rs/zerolog/log" + + "github.com/kubeshark/kubeshark/cmd" ) func main() { diff --git a/misc/fsUtils/kubesharkLogsUtils.go b/misc/fsUtils/kubesharkLogsUtils.go index 5277e824f..cf321c253 100644 --- a/misc/fsUtils/kubesharkLogsUtils.go +++ b/misc/fsUtils/kubesharkLogsUtils.go @@ -7,10 +7,11 @@ import ( "os" "regexp" + "github.com/rs/zerolog/log" + "github.com/kubeshark/kubeshark/config" "github.com/kubeshark/kubeshark/kubernetes" "github.com/kubeshark/kubeshark/misc" - "github.com/rs/zerolog/log" ) func DumpLogs(ctx context.Context, provider *kubernetes.Provider, filePath string, grep string) error { @@ -21,7 +22,7 @@ func DumpLogs(ctx context.Context, provider *kubernetes.Provider, filePath strin } if len(pods) == 0 { - return fmt.Errorf("No %s pods found in namespace %s", misc.Software, config.Config.Tap.Release.Namespace) + return fmt.Errorf("no %s pods found in namespace %s", misc.Software, config.Config.Tap.Release.Namespace) } newZipFile, err := os.Create(filePath) diff --git a/misc/version/versionCheck.go b/misc/version/versionCheck.go index 9e22e6f20..bc20bd733 100644 --- a/misc/version/versionCheck.go +++ b/misc/version/versionCheck.go @@ -8,9 +8,10 @@ import ( "strings" "time" + "github.com/rs/zerolog/log" + "github.com/kubeshark/kubeshark/misc" "github.com/kubeshark/kubeshark/utils" - "github.com/rs/zerolog/log" "github.com/google/go-github/v37/github" ) diff --git a/utils/json.go b/utils/json.go index b3956f3b9..d01715a78 100644 --- a/utils/json.go +++ b/utils/json.go @@ -8,7 +8,7 @@ import ( ) func UnescapeUnicodeCharacters(raw string) string { - str, err := strconv.Unquote(strings.Replace(strconv.Quote(raw), `\\u`, `\u`, -1)) + str, err := strconv.Unquote(strings.ReplaceAll(strconv.Quote(raw), `\\u`, `\u`)) if err != nil { log.Error().Err(err).Send() return raw