diff --git a/cmd/check/imagePullInCluster.go b/cmd/check/imagePullInCluster.go index 7736abb4a..7757ee698 100644 --- a/cmd/check/imagePullInCluster.go +++ b/cmd/check/imagePullInCluster.go @@ -8,7 +8,7 @@ import ( "time" "github.com/kubeshark/kubeshark/kubernetes" - "github.com/kubeshark/kubeshark/uiUtils" + "github.com/kubeshark/kubeshark/utils" core "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) @@ -21,21 +21,21 @@ func ImagePullInCluster(ctx context.Context, kubernetesProvider *kubernetes.Prov defer func() { if err := kubernetesProvider.RemovePod(ctx, namespace, podName); err != nil { - log.Printf("%v error while removing test pod in cluster, err: %v", fmt.Sprintf(uiUtils.Red, "✗"), err) + log.Printf("%v error while removing test pod in cluster, err: %v", fmt.Sprintf(utils.Red, "✗"), err) } }() if err := createImagePullInClusterPod(ctx, kubernetesProvider, namespace, podName); err != nil { - log.Printf("%v error while creating test pod in cluster, err: %v", fmt.Sprintf(uiUtils.Red, "✗"), err) + log.Printf("%v error while creating test pod in cluster, err: %v", fmt.Sprintf(utils.Red, "✗"), err) return false } if err := checkImagePulled(ctx, kubernetesProvider, namespace, podName); err != nil { - log.Printf("%v cluster is not able to pull kubeshark containers from docker hub, err: %v", fmt.Sprintf(uiUtils.Red, "✗"), err) + log.Printf("%v cluster is not able to pull kubeshark containers from docker hub, err: %v", fmt.Sprintf(utils.Red, "✗"), err) return false } - log.Printf("%v cluster is able to pull kubeshark containers from docker hub", fmt.Sprintf(uiUtils.Green, "√")) + log.Printf("%v cluster is able to pull kubeshark containers from docker hub", fmt.Sprintf(utils.Green, "√")) return true } diff --git a/cmd/check/kubernetesApi.go b/cmd/check/kubernetesApi.go index 2812bfe1c..03ae4a7bb 100644 --- a/cmd/check/kubernetesApi.go +++ b/cmd/check/kubernetesApi.go @@ -7,7 +7,7 @@ import ( "github.com/kubeshark/kubeshark/config" "github.com/kubeshark/kubeshark/kubernetes" "github.com/kubeshark/kubeshark/semver" - "github.com/kubeshark/kubeshark/uiUtils" + "github.com/kubeshark/kubeshark/utils" ) func KubernetesApi() (*kubernetes.Provider, *semver.SemVersion, bool) { @@ -15,17 +15,17 @@ func KubernetesApi() (*kubernetes.Provider, *semver.SemVersion, bool) { kubernetesProvider, err := kubernetes.NewProvider(config.Config.KubeConfigPath(), config.Config.KubeContext) if err != nil { - log.Printf("%v can't initialize the client, err: %v", fmt.Sprintf(uiUtils.Red, "✗"), err) + log.Printf("%v can't initialize the client, err: %v", fmt.Sprintf(utils.Red, "✗"), err) return nil, nil, false } - log.Printf("%v can initialize the client", fmt.Sprintf(uiUtils.Green, "√")) + log.Printf("%v can initialize the client", fmt.Sprintf(utils.Green, "√")) kubernetesVersion, err := kubernetesProvider.GetKubernetesVersion() if err != nil { - log.Printf("%v can't query the Kubernetes API, err: %v", fmt.Sprintf(uiUtils.Red, "✗"), err) + log.Printf("%v can't query the Kubernetes API, err: %v", fmt.Sprintf(utils.Red, "✗"), err) return nil, nil, false } - log.Printf("%v can query the Kubernetes API", fmt.Sprintf(uiUtils.Green, "√")) + log.Printf("%v can query the Kubernetes API", fmt.Sprintf(utils.Green, "√")) return kubernetesProvider, kubernetesVersion, true } diff --git a/cmd/check/kubernetesPermissions.go b/cmd/check/kubernetesPermissions.go index 23e724982..4a85f41f8 100644 --- a/cmd/check/kubernetesPermissions.go +++ b/cmd/check/kubernetesPermissions.go @@ -10,7 +10,7 @@ import ( "github.com/kubeshark/kubeshark/bucket" "github.com/kubeshark/kubeshark/config" "github.com/kubeshark/kubeshark/kubernetes" - "github.com/kubeshark/kubeshark/uiUtils" + "github.com/kubeshark/kubeshark/utils" rbac "k8s.io/api/rbac/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/scheme" @@ -28,14 +28,14 @@ func TapKubernetesPermissions(ctx context.Context, embedFS embed.FS, kubernetesP data, err := embedFS.ReadFile(filePath) if err != nil { - log.Printf("%v error while checking kubernetes permissions, err: %v", fmt.Sprintf(uiUtils.Red, "✗"), err) + log.Printf("%v error while checking kubernetes permissions, err: %v", fmt.Sprintf(utils.Red, "✗"), err) return false } decode := scheme.Codecs.UniversalDeserializer().Decode obj, _, err := decode(data, nil, nil) if err != nil { - log.Printf("%v error while checking kubernetes permissions, err: %v", fmt.Sprintf(uiUtils.Red, "✗"), err) + log.Printf("%v error while checking kubernetes permissions, err: %v", fmt.Sprintf(utils.Red, "✗"), err) return false } @@ -46,7 +46,7 @@ func TapKubernetesPermissions(ctx context.Context, embedFS embed.FS, kubernetesP return checkRulesPermissions(ctx, kubernetesProvider, resource.Rules, "") } - log.Printf("%v error while checking kubernetes permissions, err: resource of type 'Role' or 'ClusterRole' not found in permission files", fmt.Sprintf(uiUtils.Red, "✗")) + log.Printf("%v error while checking kubernetes permissions, err: resource of type 'Role' or 'ClusterRole' not found in permission files", fmt.Sprintf(utils.Red, "✗")) return false } @@ -56,7 +56,7 @@ func InstallKubernetesPermissions(ctx context.Context, kubernetesProvider *kuber bucketProvider := bucket.NewProvider(config.Config.Install.TemplateUrl, bucket.DefaultTimeout) installTemplate, err := bucketProvider.GetInstallTemplate(config.Config.Install.TemplateName) if err != nil { - log.Printf("%v error while checking kubernetes permissions, err: %v", fmt.Sprintf(uiUtils.Red, "✗"), err) + log.Printf("%v error while checking kubernetes permissions, err: %v", fmt.Sprintf(utils.Red, "✗"), err) return false } @@ -68,7 +68,7 @@ func InstallKubernetesPermissions(ctx context.Context, kubernetesProvider *kuber for _, resourceTemplate := range resourcesTemplate { obj, _, err := decode([]byte(resourceTemplate), nil, nil) if err != nil { - log.Printf("%v error while checking kubernetes permissions, err: %v", fmt.Sprintf(uiUtils.Red, "✗"), err) + log.Printf("%v error while checking kubernetes permissions, err: %v", fmt.Sprintf(utils.Red, "✗"), err) return false } @@ -120,13 +120,13 @@ func checkPermissionExist(group string, resource string, verb string, namespace } if err != nil { - log.Printf("%v error checking permission for %v %v %v, err: %v", fmt.Sprintf(uiUtils.Red, "✗"), verb, resource, groupAndNamespace, err) + log.Printf("%v error checking permission for %v %v %v, err: %v", fmt.Sprintf(utils.Red, "✗"), verb, resource, groupAndNamespace, err) return false } else if !exist { - log.Printf("%v can't %v %v %v", fmt.Sprintf(uiUtils.Red, "✗"), verb, resource, groupAndNamespace) + log.Printf("%v can't %v %v %v", fmt.Sprintf(utils.Red, "✗"), verb, resource, groupAndNamespace) return false } - log.Printf("%v can %v %v %v", fmt.Sprintf(uiUtils.Green, "√"), verb, resource, groupAndNamespace) + log.Printf("%v can %v %v %v", fmt.Sprintf(utils.Green, "√"), verb, resource, groupAndNamespace) return true } diff --git a/cmd/check/kubernetesResources.go b/cmd/check/kubernetesResources.go index 18089ad56..002729639 100644 --- a/cmd/check/kubernetesResources.go +++ b/cmd/check/kubernetesResources.go @@ -7,7 +7,7 @@ import ( "github.com/kubeshark/kubeshark/config" "github.com/kubeshark/kubeshark/kubernetes" - "github.com/kubeshark/kubeshark/uiUtils" + "github.com/kubeshark/kubeshark/utils" ) func KubernetesResources(ctx context.Context, kubernetesProvider *kubernetes.Provider) bool { @@ -46,20 +46,20 @@ func KubernetesResources(ctx context.Context, kubernetesProvider *kubernetes.Pro func checkPodResourcesExist(ctx context.Context, kubernetesProvider *kubernetes.Provider) bool { if pods, err := kubernetesProvider.ListPodsByAppLabel(ctx, config.Config.KubesharkResourcesNamespace, kubernetes.ApiServerPodName); err != nil { - log.Printf("%v error checking if '%v' pod is running, err: %v", fmt.Sprintf(uiUtils.Red, "✗"), kubernetes.ApiServerPodName, err) + log.Printf("%v error checking if '%v' pod is running, err: %v", fmt.Sprintf(utils.Red, "✗"), kubernetes.ApiServerPodName, err) return false } else if len(pods) == 0 { - log.Printf("%v '%v' pod doesn't exist", fmt.Sprintf(uiUtils.Red, "✗"), kubernetes.ApiServerPodName) + log.Printf("%v '%v' pod doesn't exist", fmt.Sprintf(utils.Red, "✗"), kubernetes.ApiServerPodName) return false } else if !kubernetes.IsPodRunning(&pods[0]) { - log.Printf("%v '%v' pod not running", fmt.Sprintf(uiUtils.Red, "✗"), kubernetes.ApiServerPodName) + log.Printf("%v '%v' pod not running", fmt.Sprintf(utils.Red, "✗"), kubernetes.ApiServerPodName) return false } - log.Printf("%v '%v' pod running", fmt.Sprintf(uiUtils.Green, "√"), kubernetes.ApiServerPodName) + log.Printf("%v '%v' pod running", fmt.Sprintf(utils.Green, "√"), kubernetes.ApiServerPodName) if pods, err := kubernetesProvider.ListPodsByAppLabel(ctx, config.Config.KubesharkResourcesNamespace, kubernetes.TapperPodName); err != nil { - log.Printf("%v error checking if '%v' pods are running, err: %v", fmt.Sprintf(uiUtils.Red, "✗"), kubernetes.TapperPodName, err) + log.Printf("%v error checking if '%v' pods are running, err: %v", fmt.Sprintf(utils.Red, "✗"), kubernetes.TapperPodName, err) return false } else { tappers := 0 @@ -73,24 +73,24 @@ func checkPodResourcesExist(ctx context.Context, kubernetesProvider *kubernetes. } if notRunningTappers > 0 { - log.Printf("%v '%v' %v/%v pods are not running", fmt.Sprintf(uiUtils.Red, "✗"), kubernetes.TapperPodName, notRunningTappers, tappers) + log.Printf("%v '%v' %v/%v pods are not running", fmt.Sprintf(utils.Red, "✗"), kubernetes.TapperPodName, notRunningTappers, tappers) return false } - log.Printf("%v '%v' %v pods running", fmt.Sprintf(uiUtils.Green, "√"), kubernetes.TapperPodName, tappers) + log.Printf("%v '%v' %v pods running", fmt.Sprintf(utils.Green, "√"), kubernetes.TapperPodName, tappers) return true } } func checkResourceExist(resourceName string, resourceType string, exist bool, err error) bool { if err != nil { - log.Printf("%v error checking if '%v' %v exists, err: %v", fmt.Sprintf(uiUtils.Red, "✗"), resourceName, resourceType, err) + log.Printf("%v error checking if '%v' %v exists, err: %v", fmt.Sprintf(utils.Red, "✗"), resourceName, resourceType, err) return false } else if !exist { - log.Printf("%v '%v' %v doesn't exist", fmt.Sprintf(uiUtils.Red, "✗"), resourceName, resourceType) + log.Printf("%v '%v' %v doesn't exist", fmt.Sprintf(utils.Red, "✗"), resourceName, resourceType) return false } - log.Printf("%v '%v' %v exists", fmt.Sprintf(uiUtils.Green, "√"), resourceName, resourceType) + log.Printf("%v '%v' %v exists", fmt.Sprintf(utils.Green, "√"), resourceName, resourceType) return true } diff --git a/cmd/check/kubernetesVersion.go b/cmd/check/kubernetesVersion.go index 7ea10f84a..37454d3db 100644 --- a/cmd/check/kubernetesVersion.go +++ b/cmd/check/kubernetesVersion.go @@ -6,17 +6,17 @@ import ( "github.com/kubeshark/kubeshark/kubernetes" "github.com/kubeshark/kubeshark/semver" - "github.com/kubeshark/kubeshark/uiUtils" + "github.com/kubeshark/kubeshark/utils" ) func KubernetesVersion(kubernetesVersion *semver.SemVersion) bool { log.Printf("\nkubernetes-version\n--------------------") if err := kubernetes.ValidateKubernetesVersion(kubernetesVersion); err != nil { - log.Printf("%v not running the minimum Kubernetes API version, err: %v", fmt.Sprintf(uiUtils.Red, "✗"), err) + log.Printf("%v not running the minimum Kubernetes API version, err: %v", fmt.Sprintf(utils.Red, "✗"), err) return false } - log.Printf("%v is running the minimum Kubernetes API version", fmt.Sprintf(uiUtils.Green, "√")) + log.Printf("%v is running the minimum Kubernetes API version", fmt.Sprintf(utils.Green, "√")) return true } diff --git a/cmd/check/serverConnection.go b/cmd/check/serverConnection.go index b07c0d9a5..461977dcd 100644 --- a/cmd/check/serverConnection.go +++ b/cmd/check/serverConnection.go @@ -9,7 +9,7 @@ import ( "github.com/kubeshark/kubeshark/apiserver" "github.com/kubeshark/kubeshark/config" "github.com/kubeshark/kubeshark/kubernetes" - "github.com/kubeshark/kubeshark/uiUtils" + "github.com/kubeshark/kubeshark/utils" ) func ServerConnection(kubernetesProvider *kubernetes.Provider) bool { @@ -19,24 +19,24 @@ func ServerConnection(kubernetesProvider *kubernetes.Provider) bool { apiServerProvider := apiserver.NewProvider(serverUrl, 1, apiserver.DefaultTimeout) if err := apiServerProvider.TestConnection(""); err == nil { - log.Printf("%v found Kubeshark server tunnel available and connected successfully to API server", fmt.Sprintf(uiUtils.Green, "√")) + log.Printf("%v found Kubeshark server tunnel available and connected successfully to API server", fmt.Sprintf(utils.Green, "√")) return true } connectedToApiServer := false if err := checkProxy(serverUrl, kubernetesProvider); err != nil { - log.Printf("%v couldn't connect to API server using proxy, err: %v", fmt.Sprintf(uiUtils.Red, "✗"), err) + log.Printf("%v couldn't connect to API server using proxy, err: %v", fmt.Sprintf(utils.Red, "✗"), err) } else { connectedToApiServer = true - log.Printf("%v connected successfully to API server using proxy", fmt.Sprintf(uiUtils.Green, "√")) + log.Printf("%v connected successfully to API server using proxy", fmt.Sprintf(utils.Green, "√")) } if err := checkPortForward(serverUrl, kubernetesProvider); err != nil { - log.Printf("%v couldn't connect to API server using port-forward, err: %v", fmt.Sprintf(uiUtils.Red, "✗"), err) + log.Printf("%v couldn't connect to API server using port-forward, err: %v", fmt.Sprintf(utils.Red, "✗"), err) } else { connectedToApiServer = true - log.Printf("%v connected successfully to API server using port-forward", fmt.Sprintf(uiUtils.Green, "√")) + log.Printf("%v connected successfully to API server using port-forward", fmt.Sprintf(utils.Green, "√")) } return connectedToApiServer diff --git a/cmd/checkRunner.go b/cmd/checkRunner.go index 3ecc2b531..7636ace79 100644 --- a/cmd/checkRunner.go +++ b/cmd/checkRunner.go @@ -8,7 +8,7 @@ import ( "github.com/kubeshark/kubeshark/cmd/check" "github.com/kubeshark/kubeshark/config" - "github.com/kubeshark/kubeshark/uiUtils" + "github.com/kubeshark/kubeshark/utils" ) var ( @@ -55,8 +55,8 @@ func runKubesharkCheck() { } if checkPassed { - log.Printf("\nStatus check results are %v", fmt.Sprintf(uiUtils.Green, "√")) + log.Printf("\nStatus check results are %v", fmt.Sprintf(utils.Green, "√")) } else { - log.Printf("\nStatus check results are %v", fmt.Sprintf(uiUtils.Red, "✗")) + log.Printf("\nStatus check results are %v", fmt.Sprintf(utils.Red, "✗")) } } diff --git a/cmd/common.go b/cmd/common.go index b4c3bda2a..b72666244 100644 --- a/cmd/common.go +++ b/cmd/common.go @@ -16,7 +16,7 @@ import ( "github.com/kubeshark/kubeshark/kubeshark" "github.com/kubeshark/kubeshark/kubeshark/fsUtils" "github.com/kubeshark/kubeshark/resources" - "github.com/kubeshark/kubeshark/uiUtils" + "github.com/kubeshark/kubeshark/utils" "github.com/kubeshark/worker/models" "github.com/kubeshark/kubeshark/config" @@ -26,7 +26,7 @@ import ( func startProxyReportErrorIfAny(kubernetesProvider *kubernetes.Provider, ctx context.Context, cancel context.CancelFunc, serviceName string, srcPort uint16, dstPort uint16, healthCheck string) { httpServer, err := kubernetes.StartProxy(kubernetesProvider, config.Config.Tap.ProxyHost, srcPort, dstPort, config.Config.KubesharkResourcesNamespace, serviceName, cancel) if err != nil { - log.Printf(uiUtils.Error, fmt.Sprintf("Error occured while running k8s proxy %v\n"+ + log.Printf(utils.Error, fmt.Sprintf("Error occured while running k8s proxy %v\n"+ "Try setting different port by using --%s", errormessage.FormatError(err), configStructs.GuiPortTapName)) cancel() return @@ -41,7 +41,7 @@ func startProxyReportErrorIfAny(kubernetesProvider *kubernetes.Provider, ctx con podRegex, _ := regexp.Compile(kubernetes.ApiServerPodName) if _, err := kubernetes.NewPortForward(kubernetesProvider, config.Config.KubesharkResourcesNamespace, podRegex, srcPort, dstPort, ctx, cancel); err != nil { - log.Printf(uiUtils.Error, fmt.Sprintf("Error occured while running port forward [%s] %v\n"+ + log.Printf(utils.Error, fmt.Sprintf("Error occured while running port forward [%s] %v\n"+ "Try setting different port by using --%s", podRegex, errormessage.FormatError(err), configStructs.GuiPortTapName)) cancel() return @@ -49,7 +49,7 @@ func startProxyReportErrorIfAny(kubernetesProvider *kubernetes.Provider, ctx con provider = apiserver.NewProvider(kubernetes.GetLocalhostOnPort(srcPort), apiserver.DefaultRetries, apiserver.DefaultTimeout) if err := provider.TestConnection(healthCheck); err != nil { - log.Printf(uiUtils.Error, fmt.Sprintf("Couldn't connect to [%s].", serviceName)) + log.Printf(utils.Error, fmt.Sprintf("Couldn't connect to [%s].", serviceName)) cancel() return } diff --git a/cmd/config.go b/cmd/config.go index 7928e756f..7958bd55c 100644 --- a/cmd/config.go +++ b/cmd/config.go @@ -7,7 +7,7 @@ import ( "github.com/creasty/defaults" "github.com/kubeshark/kubeshark/config" "github.com/kubeshark/kubeshark/config/configStructs" - "github.com/kubeshark/kubeshark/uiUtils" + "github.com/kubeshark/kubeshark/utils" "github.com/spf13/cobra" ) @@ -27,9 +27,9 @@ var configCmd = &cobra.Command{ return nil } - log.Printf("Template File written to %s", fmt.Sprintf(uiUtils.Purple, config.Config.ConfigFilePath)) + log.Printf("Template File written to %s", fmt.Sprintf(utils.Purple, config.Config.ConfigFilePath)) } else { - template, err := uiUtils.PrettyYaml(configWithDefaults) + template, err := utils.PrettyYaml(configWithDefaults) if err != nil { log.Printf("Failed converting config with defaults to yaml, err: %v", err) return nil diff --git a/cmd/root.go b/cmd/root.go index 72203f852..739009425 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -8,7 +8,7 @@ import ( "github.com/creasty/defaults" "github.com/kubeshark/kubeshark/config" "github.com/kubeshark/kubeshark/kubeshark/version" - "github.com/kubeshark/kubeshark/uiUtils" + "github.com/kubeshark/kubeshark/utils" "github.com/spf13/cobra" ) @@ -40,7 +40,7 @@ func printNewVersionIfNeeded(versionChan chan string) { select { case versionMsg := <-versionChan: if versionMsg != "" { - log.Printf(uiUtils.Yellow, versionMsg) + log.Printf(utils.Yellow, versionMsg) } case <-time.After(2 * time.Second): } diff --git a/cmd/tapRunner.go b/cmd/tapRunner.go index 290ff4fdf..933608963 100644 --- a/cmd/tapRunner.go +++ b/cmd/tapRunner.go @@ -22,7 +22,6 @@ import ( "github.com/kubeshark/kubeshark/config/configStructs" "github.com/kubeshark/kubeshark/errormessage" "github.com/kubeshark/kubeshark/kubernetes" - "github.com/kubeshark/kubeshark/uiUtils" "github.com/kubeshark/worker/api" "github.com/kubeshark/worker/models" ) @@ -59,7 +58,7 @@ func RunKubesharkTap() { kubesharkAgentConfig := getTapKubesharkAgentConfig() serializedKubesharkConfig, err := getSerializedKubesharkAgentConfig(kubesharkAgentConfig) if err != nil { - log.Printf(uiUtils.Error, fmt.Sprintf("Error serializing kubeshark config: %v", errormessage.FormatError(err))) + log.Printf(utils.Error, fmt.Sprintf("Error serializing kubeshark config: %v", errormessage.FormatError(err))) return } @@ -81,7 +80,7 @@ func RunKubesharkTap() { log.Printf("Tapping pods in %s", namespacesStr) if err := printTappedPodsPreview(ctx, kubernetesProvider, state.targetNamespaces); err != nil { - log.Printf(uiUtils.Error, fmt.Sprintf("Error listing pods: %v", errormessage.FormatError(err))) + log.Printf(utils.Error, fmt.Sprintf("Error listing pods: %v", errormessage.FormatError(err))) } if config.Config.Tap.DryRun { @@ -95,7 +94,7 @@ func RunKubesharkTap() { log.Print("Kubeshark is already running in this namespace, change the `kubeshark-resources-namespace` configuration or run `kubeshark clean` to remove the currently running Kubeshark instance") } else { defer resources.CleanUpKubesharkResources(ctx, cancel, kubernetesProvider, config.Config.IsNsRestrictedMode(), config.Config.KubesharkResourcesNamespace) - log.Printf(uiUtils.Error, fmt.Sprintf("Error creating resources: %v", errormessage.FormatError(err))) + log.Printf(utils.Error, fmt.Sprintf("Error creating resources: %v", errormessage.FormatError(err))) } return @@ -145,7 +144,7 @@ func printTappedPodsPreview(ctx context.Context, kubernetesProvider *kubernetes. printNoPodsFoundSuggestion(namespaces) } for _, tappedPod := range matchingPods { - log.Printf(uiUtils.Green, fmt.Sprintf("+%s", tappedPod.Name)) + log.Printf(utils.Green, fmt.Sprintf("+%s", tappedPod.Name)) } return nil } @@ -181,7 +180,7 @@ func startTapperSyncer(ctx context.Context, cancel context.CancelFunc, provider log.Print("kubesharkTapperSyncer err channel closed, ending listener loop") return } - log.Printf(uiUtils.Error, getErrorDisplayTextForK8sTapManagerError(syncerErr)) + log.Printf(utils.Error, getErrorDisplayTextForK8sTapManagerError(syncerErr)) cancel() case _, ok := <-tapperSyncer.TapPodChangesOut: if !ok { @@ -214,7 +213,7 @@ func printNoPodsFoundSuggestion(targetNamespaces []string) { if !utils.Contains(targetNamespaces, kubernetes.K8sAllNamespaces) { suggestionStr = ". You can also try selecting a different namespace with -n or tap all namespaces with -A" } - log.Printf(uiUtils.Warning, fmt.Sprintf("Did not find any currently running pods that match the regex argument, kubeshark will automatically tap matching pods if any are created later%s", suggestionStr)) + log.Printf(utils.Warning, fmt.Sprintf("Did not find any currently running pods that match the regex argument, kubeshark will automatically tap matching pods if any are created later%s", suggestionStr)) } func getErrorDisplayTextForK8sTapManagerError(err kubernetes.K8sTapManagerError) string { @@ -256,7 +255,7 @@ func watchApiServerPod(ctx context.Context, kubernetesProvider *kubernetes.Provi case kubernetes.EventModified: modifiedPod, err := wEvent.ToPod() if err != nil { - log.Printf(uiUtils.Error, err) + log.Printf(utils.Error, err) cancel() continue } @@ -289,7 +288,7 @@ func watchApiServerPod(ctx context.Context, kubernetesProvider *kubernetes.Provi case <-timeAfter: if !isPodReady { - log.Printf(uiUtils.Error, "Kubeshark API server was not ready in time") + log.Printf(utils.Error, "Kubeshark API server was not ready in time") cancel() } case <-ctx.Done(): @@ -325,7 +324,7 @@ func watchFrontPod(ctx context.Context, kubernetesProvider *kubernetes.Provider, case kubernetes.EventModified: modifiedPod, err := wEvent.ToPod() if err != nil { - log.Printf(uiUtils.Error, err) + log.Printf(utils.Error, err) cancel() continue } @@ -357,7 +356,7 @@ func watchFrontPod(ctx context.Context, kubernetesProvider *kubernetes.Provider, case <-timeAfter: if !isPodReady { - log.Printf(uiUtils.Error, "Kubeshark API server was not ready in time") + log.Printf(utils.Error, "Kubeshark API server was not ready in time") cancel() } case <-ctx.Done(): @@ -401,7 +400,7 @@ func watchApiServerEvents(ctx context.Context, kubernetesProvider *kubernetes.Pr switch event.Reason { case "FailedScheduling", "Failed": - log.Printf(uiUtils.Error, fmt.Sprintf("Kubeshark API Server status: %s - %s", event.Reason, event.Note)) + log.Printf(utils.Error, fmt.Sprintf("Kubeshark API Server status: %s - %s", event.Reason, event.Note)) cancel() } @@ -423,7 +422,7 @@ func postApiServerStarted(ctx context.Context, kubernetesProvider *kubernetes.Pr startProxyReportErrorIfAny(kubernetesProvider, ctx, cancel, kubernetes.ApiServerServiceName, config.Config.Hub.PortForward.SrcPort, config.Config.Hub.PortForward.DstPort, "/echo") if err := startTapperSyncer(ctx, cancel, kubernetesProvider, state.targetNamespaces, state.startTime); err != nil { - log.Printf(uiUtils.Error, fmt.Sprintf("Error starting kubeshark tapper syncer: %v", errormessage.FormatError(err))) + log.Printf(utils.Error, fmt.Sprintf("Error starting kubeshark tapper syncer: %v", errormessage.FormatError(err))) cancel() } @@ -437,7 +436,7 @@ func postFrontStarted(ctx context.Context, kubernetesProvider *kubernetes.Provid url := kubernetes.GetLocalhostOnPort(config.Config.Front.PortForward.SrcPort) log.Printf("Kubeshark is available at %s", url) if !config.Config.HeadlessMode { - uiUtils.OpenBrowser(url) + utils.OpenBrowser(url) } } @@ -449,7 +448,7 @@ func getNamespaces(kubernetesProvider *kubernetes.Provider) []string { } else { currentNamespace, err := kubernetesProvider.CurrentNamespace() if err != nil { - log.Fatalf(uiUtils.Red, fmt.Sprintf("error getting current namespace: %+v", err)) + log.Fatalf(utils.Red, fmt.Sprintf("error getting current namespace: %+v", err)) } return []string{currentNamespace} } diff --git a/cmd/viewRunner.go b/cmd/viewRunner.go index 792d6a259..e69ea81bd 100644 --- a/cmd/viewRunner.go +++ b/cmd/viewRunner.go @@ -11,7 +11,6 @@ import ( "github.com/kubeshark/kubeshark/apiserver" "github.com/kubeshark/kubeshark/config" "github.com/kubeshark/kubeshark/kubernetes" - "github.com/kubeshark/kubeshark/uiUtils" ) func runKubesharkView() { @@ -51,14 +50,14 @@ func runKubesharkView() { apiServerProvider := apiserver.NewProvider(url, apiserver.DefaultRetries, apiserver.DefaultTimeout) if err := apiServerProvider.TestConnection(""); err != nil { - log.Printf(uiUtils.Error, "Couldn't connect to API server.") + log.Printf(utils.Error, "Couldn't connect to API server.") return } log.Printf("Kubeshark is available at %s", url) if !config.Config.HeadlessMode { - uiUtils.OpenBrowser(url) + utils.OpenBrowser(url) } utils.WaitForFinish(ctx, cancel) diff --git a/config/config.go b/config/config.go index 92fa7c386..1ea36282b 100644 --- a/config/config.go +++ b/config/config.go @@ -11,7 +11,6 @@ import ( "strings" "github.com/creasty/defaults" - "github.com/kubeshark/kubeshark/uiUtils" "github.com/kubeshark/kubeshark/utils" "github.com/spf13/cobra" "github.com/spf13/pflag" @@ -65,7 +64,7 @@ func InitConfig(cmd *cobra.Command) error { return fmt.Errorf("config validation failed, err: %v", err) } - finalConfigPrettified, _ := uiUtils.PrettyJson(Config) + finalConfigPrettified, _ := utils.PrettyJson(Config) log.Printf("Init config finished\n Final config: %v", finalConfigPrettified) return nil @@ -84,7 +83,7 @@ func GetConfigWithDefaults() (*ConfigStruct, error) { } func WriteConfig(config *ConfigStruct) error { - template, err := uiUtils.PrettyYaml(config) + template, err := utils.PrettyYaml(config) if err != nil { return fmt.Errorf("failed converting config to yaml, err: %v", err) } @@ -130,20 +129,20 @@ func initFlag(f *pflag.Flag) { sliceValue, isSliceValue := f.Value.(pflag.SliceValue) if !isSliceValue { if err := mergeFlagValue(configElemValue, flagPath, strings.Join(flagPath, "."), f.Value.String()); err != nil { - log.Printf(uiUtils.Warning, err) + log.Printf(utils.Warning, err) } return } if f.Name == SetCommandName { if err := mergeSetFlag(configElemValue, sliceValue.GetSlice()); err != nil { - log.Printf(uiUtils.Warning, err) + log.Printf(utils.Warning, err) } return } if err := mergeFlagValues(configElemValue, flagPath, strings.Join(flagPath, "."), sliceValue.GetSlice()); err != nil { - log.Printf(uiUtils.Warning, err) + log.Printf(utils.Warning, err) } } diff --git a/config/configStructs/tapConfig.go b/config/configStructs/tapConfig.go index 67fa873fc..5a1679685 100644 --- a/config/configStructs/tapConfig.go +++ b/config/configStructs/tapConfig.go @@ -8,10 +8,8 @@ import ( "regexp" "strings" - "github.com/kubeshark/kubeshark/uiUtils" + "github.com/kubeshark/kubeshark/utils" "github.com/kubeshark/worker/models" - - "github.com/kubeshark/kubeshark/units" ) const ( @@ -61,7 +59,7 @@ func (config *TapConfig) PodRegex() *regexp.Regexp { } func (config *TapConfig) MaxEntriesDBSizeBytes() int64 { - maxEntriesDBSizeBytes, _ := units.HumanReadableToBytes(config.HumanMaxEntriesDBSize) + maxEntriesDBSizeBytes, _ := utils.HumanReadableToBytes(config.HumanMaxEntriesDBSize) return maxEntriesDBSizeBytes } @@ -71,7 +69,7 @@ func (config *TapConfig) GetInsertionFilter() string { if _, err := os.Stat(insertionFilter); err == nil { b, err := os.ReadFile(insertionFilter) if err != nil { - log.Printf(uiUtils.Warning, fmt.Sprintf("Couldn't read the file on path: %s, err: %v", insertionFilter, err)) + log.Printf(utils.Warning, fmt.Sprintf("Couldn't read the file on path: %s, err: %v", insertionFilter, err)) } else { insertionFilter = string(b) } @@ -125,7 +123,7 @@ func (config *TapConfig) Validate() error { return fmt.Errorf("%s is not a valid regex %s", config.PodRegexStr, compileErr) } - _, parseHumanDataSizeErr := units.HumanReadableToBytes(config.HumanMaxEntriesDBSize) + _, parseHumanDataSizeErr := utils.HumanReadableToBytes(config.HumanMaxEntriesDBSize) if parseHumanDataSizeErr != nil { return fmt.Errorf("Could not parse --%s value %s", HumanMaxEntriesDBSizeTapName, config.HumanMaxEntriesDBSize) } diff --git a/resources/cleanResources.go b/resources/cleanResources.go index 836050ec5..f7a051d13 100644 --- a/resources/cleanResources.go +++ b/resources/cleanResources.go @@ -7,7 +7,6 @@ import ( "github.com/kubeshark/kubeshark/errormessage" "github.com/kubeshark/kubeshark/kubernetes" - "github.com/kubeshark/kubeshark/uiUtils" "github.com/kubeshark/kubeshark/utils" "k8s.io/apimachinery/pkg/util/wait" ) @@ -28,7 +27,7 @@ func CleanUpKubesharkResources(ctx context.Context, cancel context.CancelFunc, k for _, resource := range leftoverResources { errMsg += "\n- " + resource } - log.Printf(uiUtils.Error, errMsg) + log.Printf(utils.Error, errMsg) } } @@ -80,9 +79,9 @@ func waitUntilNamespaceDeleted(ctx context.Context, cancel context.CancelFunc, k case ctx.Err() == context.Canceled: log.Printf("Do nothing. User interrupted the wait") case err == wait.ErrWaitTimeout: - log.Printf(uiUtils.Error, fmt.Sprintf("Timeout while removing Namespace %s", kubesharkResourcesNamespace)) + log.Printf(utils.Error, fmt.Sprintf("Timeout while removing Namespace %s", kubesharkResourcesNamespace)) default: - log.Printf(uiUtils.Error, fmt.Sprintf("Error while waiting for Namespace %s to be deleted: %v", kubesharkResourcesNamespace, errormessage.FormatError(err))) + log.Printf(utils.Error, fmt.Sprintf("Error while waiting for Namespace %s to be deleted: %v", kubesharkResourcesNamespace, errormessage.FormatError(err))) } } } diff --git a/resources/createResources.go b/resources/createResources.go index 956823707..c5ccf78e2 100644 --- a/resources/createResources.go +++ b/resources/createResources.go @@ -9,7 +9,7 @@ import ( "github.com/kubeshark/kubeshark/errormessage" "github.com/kubeshark/kubeshark/kubernetes" "github.com/kubeshark/kubeshark/kubeshark" - "github.com/kubeshark/kubeshark/uiUtils" + "github.com/kubeshark/kubeshark/utils" "github.com/kubeshark/worker/models" "github.com/op/go-logging" core "k8s.io/api/core/v1" @@ -28,7 +28,7 @@ func CreateTapKubesharkResources(ctx context.Context, kubernetesProvider *kubern kubesharkServiceAccountExists, err := createRBACIfNecessary(ctx, kubernetesProvider, isNsRestrictedMode, kubesharkResourcesNamespace, []string{"pods", "services", "endpoints"}) if err != nil { - log.Printf(uiUtils.Warning, fmt.Sprintf("Failed to ensure the resources required for IP resolving. Kubeshark will not resolve target IPs to names. error: %v", errormessage.FormatError(err))) + log.Printf(utils.Warning, fmt.Sprintf("Failed to ensure the resources required for IP resolving. Kubeshark will not resolve target IPs to names. error: %v", errormessage.FormatError(err))) } var serviceAccountName string diff --git a/uiUtils/colors.go b/utils/colors.go similarity index 94% rename from uiUtils/colors.go rename to utils/colors.go index c7b0887c4..8a33069db 100644 --- a/uiUtils/colors.go +++ b/utils/colors.go @@ -1,5 +1,4 @@ -package uiUtils - +package utils const ( Black = "\033[1;30m%s\033[0m" diff --git a/units/human_data_sizes.go b/utils/humanDataSizes.go similarity index 59% rename from units/human_data_sizes.go rename to utils/humanDataSizes.go index d3c39bf7c..8b222a1f6 100644 --- a/units/human_data_sizes.go +++ b/utils/humanDataSizes.go @@ -1,11 +1,7 @@ -package units +package utils import "github.com/docker/go-units" -func BytesToHumanReadable(bytes int64) string { - return units.HumanSize(float64(bytes)) -} - func HumanReadableToBytes(humanReadableSize string) (int64, error) { return units.FromHumanSize(humanReadableSize) } diff --git a/uiUtils/openBrowser.go b/utils/openBrowser.go similarity index 96% rename from uiUtils/openBrowser.go rename to utils/openBrowser.go index e18c51027..459ffde41 100644 --- a/uiUtils/openBrowser.go +++ b/utils/openBrowser.go @@ -1,4 +1,4 @@ -package uiUtils +package utils import ( "fmt" diff --git a/uiUtils/prettyString.go b/utils/prettyString.go similarity index 97% rename from uiUtils/prettyString.go rename to utils/prettyString.go index 561ca52ee..fde61e3e0 100644 --- a/uiUtils/prettyString.go +++ b/utils/prettyString.go @@ -1,8 +1,9 @@ -package uiUtils +package utils import ( "bytes" "encoding/json" + "gopkg.in/yaml.v3" )