diff --git a/api/pkg/up9/main.go b/api/pkg/up9/main.go index 3601f5321..4a8ca52e8 100644 --- a/api/pkg/up9/main.go +++ b/api/pkg/up9/main.go @@ -12,10 +12,10 @@ import ( "mizuserver/pkg/models" "net/http" "net/url" + "strings" "time" ) - const ( AnalyzeCheckSleepTime = 5 * time.Second ) @@ -40,7 +40,10 @@ func getGuestToken(url string, target *GuestToken) error { } func CreateAnonymousToken(envPrefix string) (*GuestToken, error) { - tokenUrl := fmt.Sprintf("https://trcc.%v/anonymous/token", envPrefix) + tokenUrl := fmt.Sprintf("https://trcc.%s/anonymous/token", envPrefix) + if strings.HasPrefix(envPrefix, "http") { + tokenUrl = fmt.Sprintf("%s/api/token", envPrefix) + } token := &GuestToken{} if err := getGuestToken(tokenUrl, token); err != nil { fmt.Println(err) @@ -76,7 +79,11 @@ func CheckIfModelReady(analyzeDestination string, analyzeModel string, analyzeTo } func GetTrafficDumpUrl(analyzeDestination string, analyzeModel string) *url.URL { - postUrl, _ := url.Parse(fmt.Sprintf("https://traffic.%s/dumpTrafficBulk/%s", analyzeDestination, analyzeModel)) + strUrl := fmt.Sprintf("https://traffic.%s/dumpTrafficBulk/%s", analyzeDestination, analyzeModel) + if strings.HasPrefix(analyzeDestination, "http") { + strUrl = fmt.Sprintf("%s/api/workspace/dumpTrafficBulk", analyzeDestination) + } + postUrl, _ := url.Parse(strUrl) return postUrl } diff --git a/cli/cmd/tap.go b/cli/cmd/tap.go index a8b67d603..47f209738 100644 --- a/cli/cmd/tap.go +++ b/cli/cmd/tap.go @@ -62,7 +62,7 @@ func init() { tapCmd.Flags().Uint16VarP(&mizuTapOptions.GuiPort, "gui-port", "p", 8899, "Provide a custom port for the web interface webserver") tapCmd.Flags().StringVarP(&mizuTapOptions.Namespace, "namespace", "n", "", "Namespace selector") - tapCmd.Flags().BoolVar(&mizuTapOptions.Analyze, "analyze", false, "Uploads traffic to UP9 cloud for further analysis (Beta)") + tapCmd.Flags().BoolVar(&mizuTapOptions.Analyze, "analyze", false, "Uploads traffic to UP9 for further analysis (Beta)") tapCmd.Flags().StringVar(&mizuTapOptions.AnalyzeDestination, "dest", "up9.app", "Destination environment") tapCmd.Flags().BoolVarP(&mizuTapOptions.AllNamespaces, "all-namespaces", "A", false, "Tap all namespaces") tapCmd.Flags().StringVarP(&mizuTapOptions.KubeConfigPath, "kube-config", "k", "", "Path to kube-config file") diff --git a/cli/cmd/tapRunner.go b/cli/cmd/tapRunner.go index 85101bf3d..d3a6a69f8 100644 --- a/cli/cmd/tapRunner.go +++ b/cli/cmd/tapRunner.go @@ -3,20 +3,19 @@ package cmd import ( "context" "fmt" + "github.com/up9inc/mizu/cli/debounce" + "github.com/up9inc/mizu/cli/kubernetes" + "github.com/up9inc/mizu/cli/mizu" + "github.com/up9inc/mizu/shared" + core "k8s.io/api/core/v1" + "log" "net/http" + "net/url" "os" "os/signal" "regexp" "syscall" "time" - - "github.com/up9inc/mizu/shared" - - core "k8s.io/api/core/v1" - - "github.com/up9inc/mizu/cli/debounce" - "github.com/up9inc/mizu/cli/kubernetes" - "github.com/up9inc/mizu/cli/mizu" ) var mizuServiceAccountExists bool @@ -80,7 +79,6 @@ func RunMizuTap(podRegexQuery *regexp.Regexp, tappingOptions *MizuTapOptions) { waitForFinish(ctx, cancel) } - func createMizuResources(ctx context.Context, kubernetesProvider *kubernetes.Provider, nodeToTappedPodIPMap map[string][]string, tappingOptions *MizuTapOptions, mizuApiFilteringOptions *shared.TrafficFilteringOptions) error { if err := createMizuAggregator(ctx, kubernetesProvider, tappingOptions, mizuApiFilteringOptions); err != nil { return err @@ -254,10 +252,15 @@ func portForwardApiPod(ctx context.Context, kubernetesProvider *kubernetes.Provi time.Sleep(time.Second * 5) // Waiting to be sure the proxy is ready if tappingOptions.Analyze { - if _, err := http.Get(fmt.Sprintf("http://%s/api/uploadEntries?dest=%s", mizuProxiedUrl, tappingOptions.AnalyzeDestination)); err != nil { - fmt.Println(err) + url_path := fmt.Sprintf("http://%s/api/uploadEntries?dest=%s", mizuProxiedUrl, tappingOptions.AnalyzeDestination) + u, err := url.ParseRequestURI(url_path) + if err != nil { + log.Fatal(fmt.Sprintf("Failed parsing the URL %v\n", err)) + } + if response, err := http.Get(u.String()); err != nil && response.StatusCode != 200 { + fmt.Printf("error sending upload entries req %v\n", err) } else { - fmt.Printf(mizu.Purple, "Traffic is uploading to UP9 cloud for further analsys") + fmt.Printf(mizu.Purple, "Traffic is uploading to UP9 for further analsys") fmt.Println() } }