diff --git a/acceptanceTests/go.mod b/acceptanceTests/go.mod index edc445e61..cc5a3b1a3 100644 --- a/acceptanceTests/go.mod +++ b/acceptanceTests/go.mod @@ -18,7 +18,6 @@ require ( github.com/fsnotify/fsnotify v1.5.1 // indirect github.com/go-logr/logr v1.2.2 // indirect github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang-jwt/jwt/v4 v4.2.0 // indirect github.com/golang/protobuf v1.5.2 // indirect github.com/google/go-cmp v0.5.7 // indirect github.com/google/gofuzz v1.2.0 // indirect @@ -29,7 +28,6 @@ require ( github.com/modern-go/reflect2 v1.0.2 // indirect github.com/op/go-logging v0.0.0-20160315200505-970db520ece7 // indirect github.com/spf13/pflag v1.0.5 // indirect - github.com/up9inc/mizu/logger v0.0.0 // indirect golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd // indirect golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8 // indirect golang.org/x/sys v0.0.0-20220207234003-57398862261d // indirect diff --git a/acceptanceTests/go.sum b/acceptanceTests/go.sum index db21d06c7..46fc452db 100644 --- a/acceptanceTests/go.sum +++ b/acceptanceTests/go.sum @@ -206,7 +206,6 @@ github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zV github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= -github.com/golang-jwt/jwt/v4 v4.2.0 h1:besgBTC8w8HjP6NzQdxwKH9Z5oQMZ24ThTrHp3cZ8eU= github.com/golang-jwt/jwt/v4 v4.2.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= diff --git a/acceptanceTests/testsUtils.go b/acceptanceTests/testsUtils.go index 739be3532..87378a033 100644 --- a/acceptanceTests/testsUtils.go +++ b/acceptanceTests/testsUtils.go @@ -215,12 +215,11 @@ func DeleteKubeFile(kubeContext string, namespace string, filename string) error func getDefaultCommandArgs() []string { agentImageValue := os.Getenv("MIZU_CI_IMAGE") setFlag := "--set" - telemetry := "telemetry=false" agentImage := fmt.Sprintf("agent-image=%s", agentImageValue) imagePullPolicy := "image-pull-policy=IfNotPresent" headless := "headless=true" - return []string{setFlag, telemetry, setFlag, agentImage, setFlag, imagePullPolicy, setFlag, headless} + return []string{setFlag, agentImage, setFlag, imagePullPolicy, setFlag, headless} } func GetDefaultTapCommandArgs() []string { diff --git a/agent/go.mod b/agent/go.mod index 88582a936..0e53f4ed2 100644 --- a/agent/go.mod +++ b/agent/go.mod @@ -48,7 +48,6 @@ require ( github.com/Masterminds/semver v1.5.0 // indirect github.com/PuerkitoBio/purell v1.1.1 // indirect github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect - github.com/beevik/etree v1.1.0 // indirect github.com/chai2010/gettext-go v0.0.0-20160711120539-c6fed771bfd5 // indirect github.com/chanced/dynamic v0.0.0-20211210164248-f8fadb1d735b // indirect github.com/cilium/ebpf v0.9.0 // indirect diff --git a/agent/go.sum b/agent/go.sum index 39a908e93..e1708e5f1 100644 --- a/agent/go.sum +++ b/agent/go.sum @@ -101,7 +101,6 @@ github.com/armon/go-metrics v0.3.10/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= -github.com/beevik/etree v1.1.0 h1:T0xke/WvNtMoCqgzPhkX2r4rjY3GDZFi+FjpRZY2Jbs= github.com/beevik/etree v1.1.0/go.mod h1:r8Aw8JqVegEf0w2fDnATrX9VpkMcyFeM0FhwO62wh+A= github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= diff --git a/cli/apiserver/provider.go b/cli/apiserver/provider.go index af1fae796..f0a22b3f9 100644 --- a/cli/apiserver/provider.go +++ b/cli/apiserver/provider.go @@ -4,9 +4,7 @@ import ( "bytes" "encoding/json" "fmt" - "io/ioutil" "net/http" - "net/url" "time" "github.com/up9inc/mizu/cli/utils" @@ -93,45 +91,3 @@ func (provider *Provider) ReportTappedPods(pods []core.Pod) error { } } } - -func (provider *Provider) GetGeneralStats() (map[string]interface{}, error) { - generalStatsUrl := fmt.Sprintf("%s/status/general", provider.url) - - response, requestErr := utils.Get(generalStatsUrl, provider.client) - if requestErr != nil { - return nil, fmt.Errorf("failed to get general stats for telemetry, err: %w", requestErr) - } - - defer response.Body.Close() - - data, readErr := ioutil.ReadAll(response.Body) - if readErr != nil { - return nil, fmt.Errorf("failed to read general stats for telemetry, err: %v", readErr) - } - - var generalStats map[string]interface{} - if parseErr := json.Unmarshal(data, &generalStats); parseErr != nil { - return nil, fmt.Errorf("failed to parse general stats for telemetry, err: %v", parseErr) - } - return generalStats, nil -} - -func (provider *Provider) GetVersion() (string, error) { - versionUrl, _ := url.Parse(fmt.Sprintf("%s/metadata/version", provider.url)) - req := &http.Request{ - Method: http.MethodGet, - URL: versionUrl, - } - statusResp, err := utils.Do(req, provider.client) - if err != nil { - return "", err - } - defer statusResp.Body.Close() - - versionResponse := &shared.VersionResponse{} - if err := json.NewDecoder(statusResp.Body).Decode(&versionResponse); err != nil { - return "", err - } - - return versionResponse.Ver, nil -} diff --git a/cli/cmd/check.go b/cli/cmd/check.go index 792bbbd05..7e9673f05 100644 --- a/cli/cmd/check.go +++ b/cli/cmd/check.go @@ -4,7 +4,6 @@ import ( "github.com/creasty/defaults" "github.com/spf13/cobra" "github.com/up9inc/mizu/cli/config/configStructs" - "github.com/up9inc/mizu/cli/telemetry" "github.com/up9inc/mizu/logger" ) @@ -12,7 +11,6 @@ var checkCmd = &cobra.Command{ Use: "check", Short: "Check the Mizu installation for potential problems", RunE: func(cmd *cobra.Command, args []string) error { - go telemetry.ReportRun("check", nil) runMizuCheck() return nil }, diff --git a/cli/cmd/clean.go b/cli/cmd/clean.go index 263685af2..63b18b136 100644 --- a/cli/cmd/clean.go +++ b/cli/cmd/clean.go @@ -2,14 +2,12 @@ package cmd import ( "github.com/spf13/cobra" - "github.com/up9inc/mizu/cli/telemetry" ) var cleanCmd = &cobra.Command{ Use: "clean", Short: "Removes all mizu resources", RunE: func(cmd *cobra.Command, args []string) error { - go telemetry.ReportRun("clean", nil) performCleanCommand() return nil }, diff --git a/cli/cmd/config.go b/cli/cmd/config.go index 393330627..7414073ab 100644 --- a/cli/cmd/config.go +++ b/cli/cmd/config.go @@ -7,7 +7,6 @@ import ( "github.com/spf13/cobra" "github.com/up9inc/mizu/cli/config" "github.com/up9inc/mizu/cli/config/configStructs" - "github.com/up9inc/mizu/cli/telemetry" "github.com/up9inc/mizu/cli/uiUtils" "github.com/up9inc/mizu/logger" ) @@ -16,8 +15,6 @@ var configCmd = &cobra.Command{ Use: "config", Short: "Generate config with default values", RunE: func(cmd *cobra.Command, args []string) error { - go telemetry.ReportRun("config", config.Config.Config) - configWithDefaults, err := config.GetConfigWithDefaults() if err != nil { logger.Log.Errorf("Failed generating config with defaults, err: %v", err) diff --git a/cli/cmd/install.go b/cli/cmd/install.go index f7634519e..b6b42c05c 100644 --- a/cli/cmd/install.go +++ b/cli/cmd/install.go @@ -4,7 +4,6 @@ import ( "github.com/creasty/defaults" "github.com/spf13/cobra" "github.com/up9inc/mizu/cli/config/configStructs" - "github.com/up9inc/mizu/cli/telemetry" "github.com/up9inc/mizu/logger" ) @@ -12,7 +11,6 @@ var installCmd = &cobra.Command{ Use: "install", Short: "Installs mizu components", RunE: func(cmd *cobra.Command, args []string) error { - go telemetry.ReportRun("install", nil) runMizuInstall() return nil }, diff --git a/cli/cmd/logs.go b/cli/cmd/logs.go index 4a0cb2f04..cbcdbafcb 100644 --- a/cli/cmd/logs.go +++ b/cli/cmd/logs.go @@ -9,7 +9,6 @@ import ( "github.com/up9inc/mizu/cli/config/configStructs" "github.com/up9inc/mizu/cli/errormessage" "github.com/up9inc/mizu/cli/mizu/fsUtils" - "github.com/up9inc/mizu/cli/telemetry" "github.com/up9inc/mizu/logger" ) @@ -17,8 +16,6 @@ var logsCmd = &cobra.Command{ Use: "logs", Short: "Create a zip file with logs for Github issue or troubleshoot", RunE: func(cmd *cobra.Command, args []string) error { - go telemetry.ReportRun("logs", config.Config.Logs) - kubernetesProvider, err := getKubernetesProviderForCli() if err != nil { return nil diff --git a/cli/cmd/tapRunner.go b/cli/cmd/tapRunner.go index 4bc72d3a3..1fe45dbde 100644 --- a/cli/cmd/tapRunner.go +++ b/cli/cmd/tapRunner.go @@ -9,7 +9,6 @@ import ( "time" "github.com/up9inc/mizu/cli/resources" - "github.com/up9inc/mizu/cli/telemetry" "github.com/up9inc/mizu/cli/utils" core "k8s.io/api/core/v1" @@ -109,8 +108,6 @@ func RunMizuTap() { } func finishTapExecution(kubernetesProvider *kubernetes.Provider) { - telemetry.ReportTapTelemetry(apiProvider, config.Config.Tap, state.startTime) - finishMizuExecution(kubernetesProvider, config.Config.IsNsRestrictedMode(), config.Config.MizuResourcesNamespace) } @@ -126,7 +123,6 @@ func getTapMizuAgentConfig() *shared.MizuAgentConfig { AgentDatabasePath: shared.DataDirPath, ServiceMap: config.Config.ServiceMap, OAS: config.Config.OAS, - Telemetry: config.Config.Telemetry, } return &mizuAgentConfig diff --git a/cli/cmd/version.go b/cli/cmd/version.go index 5163636e1..99295ad1d 100644 --- a/cli/cmd/version.go +++ b/cli/cmd/version.go @@ -6,7 +6,6 @@ import ( "github.com/up9inc/mizu/cli/config" "github.com/up9inc/mizu/cli/config/configStructs" - "github.com/up9inc/mizu/cli/telemetry" "github.com/up9inc/mizu/logger" "github.com/creasty/defaults" @@ -18,8 +17,6 @@ var versionCmd = &cobra.Command{ Use: "version", Short: "Print version info", RunE: func(cmd *cobra.Command, args []string) error { - go telemetry.ReportRun("version", config.Config.Version) - if config.Config.Version.DebugInfo { timeStampInt, _ := strconv.ParseInt(mizu.BuildTimestamp, 10, 0) logger.Log.Infof("Version: %s \nBranch: %s (%s)", mizu.Ver, mizu.Branch, mizu.GitCommitHash) diff --git a/cli/cmd/view.go b/cli/cmd/view.go index e8884fe95..472ae6f2c 100644 --- a/cli/cmd/view.go +++ b/cli/cmd/view.go @@ -3,9 +3,7 @@ package cmd import ( "github.com/creasty/defaults" "github.com/spf13/cobra" - "github.com/up9inc/mizu/cli/config" "github.com/up9inc/mizu/cli/config/configStructs" - "github.com/up9inc/mizu/cli/telemetry" "github.com/up9inc/mizu/logger" ) @@ -13,7 +11,6 @@ var viewCmd = &cobra.Command{ Use: "view", Short: "Open GUI in browser", RunE: func(cmd *cobra.Command, args []string) error { - go telemetry.ReportRun("view", config.Config.View) runMizuView() return nil }, diff --git a/cli/config/configStruct.go b/cli/config/configStruct.go index 07b8f4a82..b5d10001b 100644 --- a/cli/config/configStruct.go +++ b/cli/config/configStruct.go @@ -31,7 +31,6 @@ type ConfigStruct struct { AgentImage string `yaml:"agent-image,omitempty" readonly:""` ImagePullPolicyStr string `yaml:"image-pull-policy" default:"Always"` MizuResourcesNamespace string `yaml:"mizu-resources-namespace" default:"mizu"` - Telemetry bool `yaml:"telemetry" default:"true"` DumpLogs bool `yaml:"dump-logs" default:"false"` KubeConfigPathStr string `yaml:"kube-config-path"` KubeContext string `yaml:"kube-context"` diff --git a/cli/go.mod b/cli/go.mod index 44fdcb23f..e209005fe 100644 --- a/cli/go.mod +++ b/cli/go.mod @@ -4,7 +4,6 @@ go 1.17 require ( github.com/creasty/defaults v1.5.2 - github.com/denisbrodbeck/machineid v1.0.1 github.com/google/go-github/v37 v37.0.0 github.com/op/go-logging v0.0.0-20160315200505-970db520ece7 github.com/spf13/cobra v1.3.0 diff --git a/cli/go.sum b/cli/go.sum index 9c7c79969..58159c60f 100644 --- a/cli/go.sum +++ b/cli/go.sum @@ -145,8 +145,6 @@ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs 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/daviddengcn/go-colortext v0.0.0-20160507010035-511bcaf42ccd/go.mod h1:dv4zxwHi5C/8AeI+4gX4dCWOIvNi7I6JCSX0HvlKPgE= -github.com/denisbrodbeck/machineid v1.0.1 h1:geKr9qtkB876mXguW2X6TU4ZynleN6ezuMSRhl4D7AQ= -github.com/denisbrodbeck/machineid v1.0.1/go.mod h1:dJUwb7PTidGDeYyUBmXZ2GphQBbjJCrnectwCyxcUSI= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= diff --git a/cli/mizu/consts.go b/cli/mizu/consts.go index 0a107f391..b1c576f0d 100644 --- a/cli/mizu/consts.go +++ b/cli/mizu/consts.go @@ -14,8 +14,6 @@ var ( Platform = "" ) -const DEVENVVAR = "MIZU_DISABLE_TELEMTRY" - func GetMizuFolderPath() string { home, homeDirErr := os.UserHomeDir() if homeDirErr != nil { diff --git a/cli/mizu/version/versionCheck.go b/cli/mizu/version/versionCheck.go index 192908b71..8908e0d24 100644 --- a/cli/mizu/version/versionCheck.go +++ b/cli/mizu/version/versionCheck.go @@ -5,7 +5,6 @@ import ( "fmt" "io/ioutil" "net/http" - "os" "runtime" "strings" "time" @@ -18,10 +17,6 @@ import ( ) func CheckNewerVersion(versionChan chan string) { - if _, present := os.LookupEnv(mizu.DEVENVVAR); present { - versionChan <- "" - return - } logger.Log.Debugf("Checking for newer version...") start := time.Now() client := github.NewClient(nil) diff --git a/cli/telemetry/telemetry.go b/cli/telemetry/telemetry.go deleted file mode 100644 index 176efaa36..000000000 --- a/cli/telemetry/telemetry.go +++ /dev/null @@ -1,97 +0,0 @@ -package telemetry - -import ( - "bytes" - "encoding/json" - "fmt" - "net/http" - "os" - "time" - - "github.com/denisbrodbeck/machineid" - "github.com/up9inc/mizu/cli/apiserver" - "github.com/up9inc/mizu/cli/config" - "github.com/up9inc/mizu/cli/mizu" - "github.com/up9inc/mizu/logger" -) - -const telemetryUrl = "https://us-east4-up9-prod.cloudfunctions.net/mizu-telemetry" - -func ReportRun(cmd string, args interface{}) { - if !shouldRunTelemetry() { - logger.Log.Debug("not reporting telemetry") - return - } - - argsBytes, _ := json.Marshal(args) - argsMap := map[string]interface{}{ - "cmd": cmd, - "args": string(argsBytes), - } - - if err := sendTelemetry(argsMap); err != nil { - logger.Log.Debug(err) - return - } - - logger.Log.Debugf("successfully reported telemetry for cmd %v", cmd) -} - -func ReportTapTelemetry(apiProvider *apiserver.Provider, args interface{}, startTime time.Time) { - if !shouldRunTelemetry() { - logger.Log.Debug("not reporting telemetry") - return - } - - generalStats, err := apiProvider.GetGeneralStats() - if err != nil { - logger.Log.Debugf("[ERROR] failed to get general stats from api server %v", err) - return - } - argsBytes, _ := json.Marshal(args) - argsMap := map[string]interface{}{ - "cmd": "tap", - "args": string(argsBytes), - "executionTimeInSeconds": int(time.Since(startTime).Seconds()), - "apiCallsCount": generalStats["EntriesCount"], - "trafficVolumeInGB": generalStats["EntriesVolumeInGB"], - } - - if err := sendTelemetry(argsMap); err != nil { - logger.Log.Debug(err) - return - } - - logger.Log.Debug("successfully reported telemetry of tap command") -} - -func shouldRunTelemetry() bool { - if _, present := os.LookupEnv(mizu.DEVENVVAR); present { - return false - } - if !config.Config.Telemetry { - return false - } - - return mizu.Branch == "main" || mizu.Branch == "develop" -} - -func sendTelemetry(argsMap map[string]interface{}) error { - argsMap["component"] = "mizu_cli" - argsMap["buildTimestamp"] = mizu.BuildTimestamp - argsMap["branch"] = mizu.Branch - argsMap["version"] = mizu.Ver - argsMap["platform"] = mizu.Platform - - if machineId, err := machineid.ProtectedID("mizu"); err == nil { - argsMap["machineId"] = machineId - } - - jsonValue, _ := json.Marshal(argsMap) - - if resp, err := http.Post(telemetryUrl, "application/json", bytes.NewBuffer(jsonValue)); err != nil { - return fmt.Errorf("ERROR: failed sending telemetry, err: %v, response %v", err, resp) - } - - return nil -} diff --git a/shared/models.go b/shared/models.go index f49880164..af5265646 100644 --- a/shared/models.go +++ b/shared/models.go @@ -43,7 +43,6 @@ type MizuAgentConfig struct { AgentDatabasePath string `json:"agentDatabasePath"` ServiceMap bool `json:"serviceMap"` OAS OASConfig `json:"oas"` - Telemetry bool `json:"telemetry"` } type WebSocketMessageMetadata struct {