🎨 Merge uiUtils and units packages into utils package

This commit is contained in:
M. Mert Yildiran 2022-11-26 21:32:34 +03:00
parent f4db282fcc
commit 127bea3449
No known key found for this signature in database
GPG Key ID: DA5D6DCBB758A461
20 changed files with 86 additions and 96 deletions

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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

View File

@ -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, "✗"))
}
}

View File

@ -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
}

View File

@ -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

View File

@ -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):
}

View File

@ -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}
}

View File

@ -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)

View File

@ -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)
}
}

View File

@ -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)
}

View File

@ -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)))
}
}
}

View File

@ -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

View File

@ -1,5 +1,4 @@
package uiUtils
package utils
const (
Black = "\033[1;30m%s\033[0m"

View File

@ -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)
}

View File

@ -1,4 +1,4 @@
package uiUtils
package utils
import (
"fmt"

View File

@ -1,8 +1,9 @@
package uiUtils
package utils
import (
"bytes"
"encoding/json"
"gopkg.in/yaml.v3"
)