diff --git a/cmd/common.go b/cmd/common.go index d733e2a78..b48dbbd49 100644 --- a/cmd/common.go +++ b/cmd/common.go @@ -26,7 +26,7 @@ func startProxyReportErrorIfAny(kubernetesProvider *kubernetes.Provider, ctx con return } - connector := connect.NewConnector(kubernetes.GetLocalhostOnPort(srcPort), connect.DefaultRetries, connect.DefaultTimeout) + connector := connect.NewConnector(kubernetes.GetProxyOnPort(srcPort), connect.DefaultRetries, connect.DefaultTimeout) if err := connector.TestConnection(healthCheck); err != nil { log.Warn(). Str("service", serviceName). @@ -46,7 +46,7 @@ func startProxyReportErrorIfAny(kubernetesProvider *kubernetes.Provider, ctx con return } - connector = connect.NewConnector(kubernetes.GetLocalhostOnPort(srcPort), connect.DefaultRetries, connect.DefaultTimeout) + connector = connect.NewConnector(kubernetes.GetProxyOnPort(srcPort), connect.DefaultRetries, connect.DefaultTimeout) if err := connector.TestConnection(healthCheck); err != nil { log.Error(). Str("service", serviceName). diff --git a/cmd/console.go b/cmd/console.go index 592f1bc6a..fe2381798 100644 --- a/cmd/console.go +++ b/cmd/console.go @@ -41,7 +41,7 @@ func init() { } func runConsole() { - hubUrl := kubernetes.GetLocalhostOnPort(config.Config.Tap.Proxy.Hub.Port) + hubUrl := kubernetes.GetProxyOnPort(config.Config.Tap.Proxy.Hub.Port) response, err := http.Get(fmt.Sprintf("%s/echo", hubUrl)) if err != nil || response.StatusCode != 200 { log.Info().Msg(fmt.Sprintf(utils.Yellow, "Couldn't connect to Hub. Establishing proxy...")) diff --git a/cmd/pro.go b/cmd/pro.go index 071851af1..da0a0f66f 100644 --- a/cmd/pro.go +++ b/cmd/pro.go @@ -45,14 +45,14 @@ func init() { } func acquireLicense() { - hubUrl := kubernetes.GetLocalhostOnPort(config.Config.Tap.Proxy.Hub.Port) + hubUrl := kubernetes.GetProxyOnPort(config.Config.Tap.Proxy.Hub.Port) response, err := http.Get(fmt.Sprintf("%s/echo", hubUrl)) if err != nil || response.StatusCode != 200 { log.Info().Msg(fmt.Sprintf(utils.Yellow, "Couldn't connect to Hub. Establishing proxy...")) runProxy(false, true) } - connector = connect.NewConnector(kubernetes.GetLocalhostOnPort(config.Config.Tap.Proxy.Hub.Port), connect.DefaultRetries, connect.DefaultTimeout) + connector = connect.NewConnector(kubernetes.GetProxyOnPort(config.Config.Tap.Proxy.Hub.Port), connect.DefaultRetries, connect.DefaultTimeout) log.Info().Str("url", PRO_URL).Msg("Opening in the browser:") utils.OpenBrowser(PRO_URL) diff --git a/cmd/proxyRunner.go b/cmd/proxyRunner.go index 351a36269..640514c3d 100644 --- a/cmd/proxyRunner.go +++ b/cmd/proxyRunner.go @@ -63,7 +63,7 @@ func runProxy(block bool, noBrowser bool) { var establishedProxy bool - hubUrl := kubernetes.GetLocalhostOnPort(config.Config.Tap.Proxy.Hub.Port) + hubUrl := kubernetes.GetProxyOnPort(config.Config.Tap.Proxy.Hub.Port) response, err := http.Get(fmt.Sprintf("%s/echo", hubUrl)) if err == nil && response.StatusCode == 200 { log.Info(). @@ -93,7 +93,7 @@ func runProxy(block bool, noBrowser bool) { okToOpen("Hub", hubUrl, true) } - frontUrl := kubernetes.GetLocalhostOnPort(config.Config.Tap.Proxy.Front.Port) + frontUrl := kubernetes.GetProxyOnPort(config.Config.Tap.Proxy.Front.Port) response, err = http.Get(fmt.Sprintf("%s/", frontUrl)) if err == nil && response.StatusCode == 200 { log.Info(). diff --git a/cmd/scripts.go b/cmd/scripts.go index 866adfb48..f7f287021 100644 --- a/cmd/scripts.go +++ b/cmd/scripts.go @@ -44,14 +44,14 @@ func runScripts() { return } - hubUrl := kubernetes.GetLocalhostOnPort(config.Config.Tap.Proxy.Hub.Port) + hubUrl := kubernetes.GetProxyOnPort(config.Config.Tap.Proxy.Hub.Port) response, err := http.Get(fmt.Sprintf("%s/echo", hubUrl)) if err != nil || response.StatusCode != 200 { log.Info().Msg(fmt.Sprintf(utils.Yellow, "Couldn't connect to Hub. Establishing proxy...")) runProxy(false, true) } - connector = connect.NewConnector(kubernetes.GetLocalhostOnPort(config.Config.Tap.Proxy.Hub.Port), connect.DefaultRetries, connect.DefaultTimeout) + connector = connect.NewConnector(kubernetes.GetProxyOnPort(config.Config.Tap.Proxy.Hub.Port), connect.DefaultRetries, connect.DefaultTimeout) watchScripts(true) } diff --git a/cmd/tapPcapRunner.go b/cmd/tapPcapRunner.go index 1d3e9ac41..5f315f0a6 100644 --- a/cmd/tapPcapRunner.go +++ b/cmd/tapPcapRunner.go @@ -329,7 +329,7 @@ func pcap(tarPath string) { }, } - connector = connect.NewConnector(kubernetes.GetLocalhostOnPort(config.Config.Tap.Proxy.Hub.Port), connect.DefaultRetries, connect.DefaultTimeout) + connector = connect.NewConnector(kubernetes.GetProxyOnPort(config.Config.Tap.Proxy.Hub.Port), connect.DefaultRetries, connect.DefaultTimeout) connector.PostWorkerPodToHub(workerPod) // License @@ -338,10 +338,10 @@ func pcap(tarPath string) { } log.Info(). - Str("url", kubernetes.GetLocalhostOnPort(config.Config.Tap.Proxy.Hub.Port)). + Str("url", kubernetes.GetProxyOnPort(config.Config.Tap.Proxy.Hub.Port)). Msg(fmt.Sprintf(utils.Green, "Hub is available at:")) - url := kubernetes.GetLocalhostOnPort(config.Config.Tap.Proxy.Front.Port) + url := kubernetes.GetProxyOnPort(config.Config.Tap.Proxy.Front.Port) log.Info().Str("url", url).Msg(fmt.Sprintf(utils.Green, fmt.Sprintf("%s is available at:", misc.Software))) if !config.Config.HeadlessMode { diff --git a/cmd/tapRunner.go b/cmd/tapRunner.go index 7975e8237..0c032fc21 100644 --- a/cmd/tapRunner.go +++ b/cmd/tapRunner.go @@ -56,7 +56,7 @@ func tap() { Str("limit", config.Config.Tap.StorageLimit). Msg(fmt.Sprintf("%s will store the traffic up to a limit (per node). Oldest TCP/UDP streams will be removed once the limit is reached.", misc.Software)) - connector = connect.NewConnector(kubernetes.GetLocalhostOnPort(config.Config.Tap.Proxy.Hub.Port), connect.DefaultRetries, connect.DefaultTimeout) + connector = connect.NewConnector(kubernetes.GetProxyOnPort(config.Config.Tap.Proxy.Hub.Port), connect.DefaultRetries, connect.DefaultTimeout) kubernetesProvider, err := getKubernetesProviderForCli(false, false) if err != nil { @@ -434,7 +434,7 @@ func postHubStarted(ctx context.Context, kubernetesProvider *kubernetes.Provider if !update && !config.Config.Tap.Ingress.Enabled { // Hub proxy URL - url := kubernetes.GetLocalhostOnPort(config.Config.Tap.Proxy.Hub.Port) + url := kubernetes.GetProxyOnPort(config.Config.Tap.Proxy.Hub.Port) log.Info().Str("url", url).Msg(fmt.Sprintf(utils.Green, "Hub is available at:")) } @@ -459,7 +459,7 @@ func postFrontStarted(ctx context.Context, kubernetesProvider *kubernetes.Provid if config.Config.Tap.Ingress.Enabled { url = fmt.Sprintf("http://%s", config.Config.Tap.Ingress.Host) } else { - url = kubernetes.GetLocalhostOnPort(config.Config.Tap.Proxy.Front.Port) + url = kubernetes.GetProxyOnPort(config.Config.Tap.Proxy.Front.Port) } log.Info().Str("url", url).Msg(fmt.Sprintf(utils.Green, fmt.Sprintf("%s is available at:", misc.Software))) diff --git a/kubernetes/proxy.go b/kubernetes/proxy.go index 172c18ee0..571cc7c44 100644 --- a/kubernetes/proxy.go +++ b/kubernetes/proxy.go @@ -11,6 +11,7 @@ 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" @@ -66,8 +67,8 @@ func getSelfHubProxiedHostAndPath(selfNamespace string, selfServiceName string) return fmt.Sprintf("/api/v1/namespaces/%s/services/%s:%d/proxy", selfNamespace, selfServiceName, selfServicePort) } -func GetLocalhostOnPort(port uint16) string { - return fmt.Sprintf("http://localhost:%d", port) +func GetProxyOnPort(port uint16) string { + return fmt.Sprintf("http://%s:%d", config.Config.Tap.Proxy.Host, port) } func getRerouteHttpHandlerSelfAPI(proxyHandler http.Handler, selfNamespace string, selfServiceName string) http.Handler {