mirror of
https://github.com/kubeshark/kubeshark.git
synced 2025-06-24 23:34:45 +00:00
⚡ Fix the issues related to release namespace
This commit is contained in:
parent
77a14410f4
commit
0ef3e2d018
@ -4,6 +4,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"github.com/creasty/defaults"
|
"github.com/creasty/defaults"
|
||||||
|
"github.com/kubeshark/kubeshark/config"
|
||||||
"github.com/kubeshark/kubeshark/config/configStructs"
|
"github.com/kubeshark/kubeshark/config/configStructs"
|
||||||
"github.com/kubeshark/kubeshark/kubernetes/helm"
|
"github.com/kubeshark/kubeshark/kubernetes/helm"
|
||||||
"github.com/kubeshark/kubeshark/misc"
|
"github.com/kubeshark/kubeshark/misc"
|
||||||
@ -15,7 +16,11 @@ var cleanCmd = &cobra.Command{
|
|||||||
Use: "clean",
|
Use: "clean",
|
||||||
Short: fmt.Sprintf("Removes all %s resources", misc.Software),
|
Short: fmt.Sprintf("Removes all %s resources", misc.Software),
|
||||||
RunE: func(cmd *cobra.Command, args []string) error {
|
RunE: func(cmd *cobra.Command, args []string) error {
|
||||||
resp, err := helm.NewHelmDefault().Uninstall()
|
resp, err := helm.NewHelm(
|
||||||
|
config.Config.Tap.Release.Repo,
|
||||||
|
config.Config.Tap.Release.Name,
|
||||||
|
config.Config.Tap.Release.Namespace,
|
||||||
|
).Uninstall()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error().Err(err).Send()
|
log.Error().Err(err).Send()
|
||||||
} else {
|
} else {
|
||||||
@ -33,5 +38,5 @@ func init() {
|
|||||||
log.Debug().Err(err).Send()
|
log.Debug().Err(err).Send()
|
||||||
}
|
}
|
||||||
|
|
||||||
cleanCmd.Flags().StringP(configStructs.ReleaseNamespaceLabel, "s", defaultTapConfig.ReleaseNamespace, "Self-namespace of Kubeshark")
|
cleanCmd.Flags().StringP(configStructs.ReleaseNamespaceLabel, "s", defaultTapConfig.Release.Namespace, "Release namespace of Kubeshark")
|
||||||
}
|
}
|
||||||
|
@ -18,7 +18,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func startProxyReportErrorIfAny(kubernetesProvider *kubernetes.Provider, ctx context.Context, serviceName string, podName string, proxyPortLabel string, srcPort uint16, dstPort uint16, healthCheck string) {
|
func startProxyReportErrorIfAny(kubernetesProvider *kubernetes.Provider, ctx context.Context, serviceName string, podName string, proxyPortLabel string, srcPort uint16, dstPort uint16, healthCheck string) {
|
||||||
httpServer, err := kubernetes.StartProxy(kubernetesProvider, config.Config.Tap.Proxy.Host, srcPort, config.Config.Tap.ReleaseNamespace, serviceName)
|
httpServer, err := kubernetes.StartProxy(kubernetesProvider, config.Config.Tap.Proxy.Host, srcPort, config.Config.Tap.Release.Namespace, serviceName)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error().
|
log.Error().
|
||||||
Err(errormessage.FormatError(err)).
|
Err(errormessage.FormatError(err)).
|
||||||
@ -38,7 +38,7 @@ func startProxyReportErrorIfAny(kubernetesProvider *kubernetes.Provider, ctx con
|
|||||||
}
|
}
|
||||||
|
|
||||||
podRegex, _ := regexp.Compile(podName)
|
podRegex, _ := regexp.Compile(podName)
|
||||||
if _, err := kubernetes.NewPortForward(kubernetesProvider, config.Config.Tap.ReleaseNamespace, podRegex, srcPort, dstPort, ctx); err != nil {
|
if _, err := kubernetes.NewPortForward(kubernetesProvider, config.Config.Tap.Release.Namespace, podRegex, srcPort, dstPort, ctx); err != nil {
|
||||||
log.Error().
|
log.Error().
|
||||||
Str("pod-regex", podRegex.String()).
|
Str("pod-regex", podRegex.String()).
|
||||||
Err(errormessage.FormatError(err)).
|
Err(errormessage.FormatError(err)).
|
||||||
@ -99,7 +99,7 @@ func handleKubernetesProviderError(err error) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func finishSelfExecution(kubernetesProvider *kubernetes.Provider, isNsRestrictedMode bool, selfNamespace string) {
|
func finishSelfExecution(kubernetesProvider *kubernetes.Provider) {
|
||||||
removalCtx, cancel := context.WithTimeout(context.Background(), cleanupTimeout)
|
removalCtx, cancel := context.WithTimeout(context.Background(), cleanupTimeout)
|
||||||
defer cancel()
|
defer cancel()
|
||||||
dumpLogsIfNeeded(removalCtx, kubernetesProvider)
|
dumpLogsIfNeeded(removalCtx, kubernetesProvider)
|
||||||
|
@ -23,7 +23,7 @@ func runProxy(block bool, noBrowser bool) {
|
|||||||
ctx, cancel := context.WithCancel(context.Background())
|
ctx, cancel := context.WithCancel(context.Background())
|
||||||
defer cancel()
|
defer cancel()
|
||||||
|
|
||||||
exists, err := kubernetesProvider.DoesServiceExist(ctx, config.Config.Tap.ReleaseNamespace, kubernetes.FrontServiceName)
|
exists, err := kubernetesProvider.DoesServiceExist(ctx, config.Config.Tap.Release.Namespace, kubernetes.FrontServiceName)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error().
|
log.Error().
|
||||||
Str("service", kubernetes.FrontServiceName).
|
Str("service", kubernetes.FrontServiceName).
|
||||||
@ -42,7 +42,7 @@ func runProxy(block bool, noBrowser bool) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
exists, err = kubernetesProvider.DoesServiceExist(ctx, config.Config.Tap.ReleaseNamespace, kubernetes.HubServiceName)
|
exists, err = kubernetesProvider.DoesServiceExist(ctx, config.Config.Tap.Release.Namespace, kubernetes.HubServiceName)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error().
|
log.Error().
|
||||||
Str("service", kubernetes.HubServiceName).
|
Str("service", kubernetes.HubServiceName).
|
||||||
|
@ -51,7 +51,7 @@ func init() {
|
|||||||
tapCmd.Flags().Uint16(configStructs.ProxyHubPortLabel, defaultTapConfig.Proxy.Hub.Port, "Provide a custom port for the Hub proxy/port-forward")
|
tapCmd.Flags().Uint16(configStructs.ProxyHubPortLabel, defaultTapConfig.Proxy.Hub.Port, "Provide a custom port for the Hub proxy/port-forward")
|
||||||
tapCmd.Flags().String(configStructs.ProxyHostLabel, defaultTapConfig.Proxy.Host, "Provide a custom host for the proxy/port-forward")
|
tapCmd.Flags().String(configStructs.ProxyHostLabel, defaultTapConfig.Proxy.Host, "Provide a custom host for the proxy/port-forward")
|
||||||
tapCmd.Flags().StringSliceP(configStructs.NamespacesLabel, "n", defaultTapConfig.Namespaces, "Namespaces selector")
|
tapCmd.Flags().StringSliceP(configStructs.NamespacesLabel, "n", defaultTapConfig.Namespaces, "Namespaces selector")
|
||||||
tapCmd.Flags().StringP(configStructs.ReleaseNamespaceLabel, "s", defaultTapConfig.ReleaseNamespace, "Self-namespace of Kubeshark")
|
tapCmd.Flags().StringP(configStructs.ReleaseNamespaceLabel, "s", defaultTapConfig.Release.Namespace, "Release namespace of Kubeshark")
|
||||||
tapCmd.Flags().Bool(configStructs.PersistentStorageLabel, defaultTapConfig.PersistentStorage, "Enable persistent storage (PersistentVolumeClaim)")
|
tapCmd.Flags().Bool(configStructs.PersistentStorageLabel, defaultTapConfig.PersistentStorage, "Enable persistent storage (PersistentVolumeClaim)")
|
||||||
tapCmd.Flags().String(configStructs.StorageLimitLabel, defaultTapConfig.StorageLimit, "Override the default storage limit (per node)")
|
tapCmd.Flags().String(configStructs.StorageLimitLabel, defaultTapConfig.StorageLimit, "Override the default storage limit (per node)")
|
||||||
tapCmd.Flags().String(configStructs.StorageClassLabel, defaultTapConfig.StorageClass, "Override the default storage class of the PersistentVolumeClaim (per node)")
|
tapCmd.Flags().String(configStructs.StorageClassLabel, defaultTapConfig.StorageClass, "Override the default storage class of the PersistentVolumeClaim (per node)")
|
||||||
|
@ -89,7 +89,11 @@ func tap() {
|
|||||||
|
|
||||||
log.Info().Msg(fmt.Sprintf("Waiting for the creation of %s resources...", misc.Software))
|
log.Info().Msg(fmt.Sprintf("Waiting for the creation of %s resources...", misc.Software))
|
||||||
|
|
||||||
rel, err := helm.NewHelmDefault().Install()
|
rel, err := helm.NewHelm(
|
||||||
|
config.Config.Tap.Release.Repo,
|
||||||
|
config.Config.Tap.Release.Name,
|
||||||
|
config.Config.Tap.Release.Namespace,
|
||||||
|
).Install()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error().Err(err).Send()
|
log.Error().Err(err).Send()
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
@ -118,7 +122,7 @@ func printProxyCommandSuggestion() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func finishTapExecution(kubernetesProvider *kubernetes.Provider) {
|
func finishTapExecution(kubernetesProvider *kubernetes.Provider) {
|
||||||
finishSelfExecution(kubernetesProvider, config.Config.IsNsRestrictedMode(), config.Config.Tap.ReleaseNamespace)
|
finishSelfExecution(kubernetesProvider)
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -151,7 +155,7 @@ func printNoPodsFoundSuggestion(targetNamespaces []string) {
|
|||||||
func watchHubPod(ctx context.Context, kubernetesProvider *kubernetes.Provider, cancel context.CancelFunc) {
|
func watchHubPod(ctx context.Context, kubernetesProvider *kubernetes.Provider, cancel context.CancelFunc) {
|
||||||
podExactRegex := regexp.MustCompile(fmt.Sprintf("^%s$", kubernetes.HubPodName))
|
podExactRegex := regexp.MustCompile(fmt.Sprintf("^%s$", kubernetes.HubPodName))
|
||||||
podWatchHelper := kubernetes.NewPodWatchHelper(kubernetesProvider, podExactRegex)
|
podWatchHelper := kubernetes.NewPodWatchHelper(kubernetesProvider, podExactRegex)
|
||||||
eventChan, errorChan := kubernetes.FilteredWatch(ctx, podWatchHelper, []string{config.Config.Tap.ReleaseNamespace}, podWatchHelper)
|
eventChan, errorChan := kubernetes.FilteredWatch(ctx, podWatchHelper, []string{config.Config.Tap.Release.Namespace}, podWatchHelper)
|
||||||
isPodReady := false
|
isPodReady := false
|
||||||
|
|
||||||
timeAfter := time.After(120 * time.Second)
|
timeAfter := time.After(120 * time.Second)
|
||||||
@ -218,7 +222,7 @@ func watchHubPod(ctx context.Context, kubernetesProvider *kubernetes.Provider, c
|
|||||||
|
|
||||||
log.Error().
|
log.Error().
|
||||||
Str("pod", kubernetes.HubPodName).
|
Str("pod", kubernetes.HubPodName).
|
||||||
Str("namespace", config.Config.Tap.ReleaseNamespace).
|
Str("namespace", config.Config.Tap.Release.Namespace).
|
||||||
Err(err).
|
Err(err).
|
||||||
Msg("Failed creating pod.")
|
Msg("Failed creating pod.")
|
||||||
cancel()
|
cancel()
|
||||||
@ -242,7 +246,7 @@ func watchHubPod(ctx context.Context, kubernetesProvider *kubernetes.Provider, c
|
|||||||
func watchFrontPod(ctx context.Context, kubernetesProvider *kubernetes.Provider, cancel context.CancelFunc) {
|
func watchFrontPod(ctx context.Context, kubernetesProvider *kubernetes.Provider, cancel context.CancelFunc) {
|
||||||
podExactRegex := regexp.MustCompile(fmt.Sprintf("^%s$", kubernetes.FrontPodName))
|
podExactRegex := regexp.MustCompile(fmt.Sprintf("^%s$", kubernetes.FrontPodName))
|
||||||
podWatchHelper := kubernetes.NewPodWatchHelper(kubernetesProvider, podExactRegex)
|
podWatchHelper := kubernetes.NewPodWatchHelper(kubernetesProvider, podExactRegex)
|
||||||
eventChan, errorChan := kubernetes.FilteredWatch(ctx, podWatchHelper, []string{config.Config.Tap.ReleaseNamespace}, podWatchHelper)
|
eventChan, errorChan := kubernetes.FilteredWatch(ctx, podWatchHelper, []string{config.Config.Tap.Release.Namespace}, podWatchHelper)
|
||||||
isPodReady := false
|
isPodReady := false
|
||||||
|
|
||||||
timeAfter := time.After(120 * time.Second)
|
timeAfter := time.After(120 * time.Second)
|
||||||
@ -307,7 +311,7 @@ func watchFrontPod(ctx context.Context, kubernetesProvider *kubernetes.Provider,
|
|||||||
|
|
||||||
log.Error().
|
log.Error().
|
||||||
Str("pod", kubernetes.FrontPodName).
|
Str("pod", kubernetes.FrontPodName).
|
||||||
Str("namespace", config.Config.Tap.ReleaseNamespace).
|
Str("namespace", config.Config.Tap.Release.Namespace).
|
||||||
Err(err).
|
Err(err).
|
||||||
Msg("Failed creating pod.")
|
Msg("Failed creating pod.")
|
||||||
|
|
||||||
@ -330,7 +334,7 @@ func watchFrontPod(ctx context.Context, kubernetesProvider *kubernetes.Provider,
|
|||||||
func watchHubEvents(ctx context.Context, kubernetesProvider *kubernetes.Provider, cancel context.CancelFunc) {
|
func watchHubEvents(ctx context.Context, kubernetesProvider *kubernetes.Provider, cancel context.CancelFunc) {
|
||||||
podExactRegex := regexp.MustCompile(fmt.Sprintf("^%s", kubernetes.HubPodName))
|
podExactRegex := regexp.MustCompile(fmt.Sprintf("^%s", kubernetes.HubPodName))
|
||||||
eventWatchHelper := kubernetes.NewEventWatchHelper(kubernetesProvider, podExactRegex, "pod")
|
eventWatchHelper := kubernetes.NewEventWatchHelper(kubernetesProvider, podExactRegex, "pod")
|
||||||
eventChan, errorChan := kubernetes.FilteredWatch(ctx, eventWatchHelper, []string{config.Config.Tap.ReleaseNamespace}, eventWatchHelper)
|
eventChan, errorChan := kubernetes.FilteredWatch(ctx, eventWatchHelper, []string{config.Config.Tap.Release.Namespace}, eventWatchHelper)
|
||||||
for {
|
for {
|
||||||
select {
|
select {
|
||||||
case wEvent, ok := <-eventChan:
|
case wEvent, ok := <-eventChan:
|
||||||
|
@ -5,7 +5,6 @@ import (
|
|||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
|
||||||
"github.com/kubeshark/kubeshark/config/configStructs"
|
"github.com/kubeshark/kubeshark/config/configStructs"
|
||||||
"github.com/kubeshark/kubeshark/misc"
|
|
||||||
v1 "k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
"k8s.io/client-go/util/homedir"
|
"k8s.io/client-go/util/homedir"
|
||||||
)
|
)
|
||||||
@ -52,10 +51,6 @@ func (config *ConfigStruct) ImagePullSecrets() []v1.LocalObjectReference {
|
|||||||
return ref
|
return ref
|
||||||
}
|
}
|
||||||
|
|
||||||
func (config *ConfigStruct) IsNsRestrictedMode() bool {
|
|
||||||
return config.Tap.ReleaseNamespace != misc.Program // Notice "kubeshark" string must match the default ReleaseNamespace
|
|
||||||
}
|
|
||||||
|
|
||||||
func (config *ConfigStruct) KubeConfigPath() string {
|
func (config *ConfigStruct) KubeConfigPath() string {
|
||||||
if config.Kube.ConfigPathStr != "" {
|
if config.Kube.ConfigPathStr != "" {
|
||||||
return config.Kube.ConfigPathStr
|
return config.Kube.ConfigPathStr
|
||||||
|
@ -17,7 +17,7 @@ const (
|
|||||||
ProxyHubPortLabel = "proxy-hub-port"
|
ProxyHubPortLabel = "proxy-hub-port"
|
||||||
ProxyHostLabel = "proxy-host"
|
ProxyHostLabel = "proxy-host"
|
||||||
NamespacesLabel = "namespaces"
|
NamespacesLabel = "namespaces"
|
||||||
ReleaseNamespaceLabel = "releasenamespace"
|
ReleaseNamespaceLabel = "release-namespace"
|
||||||
PersistentStorageLabel = "persistentstorage"
|
PersistentStorageLabel = "persistentstorage"
|
||||||
StorageLimitLabel = "storagelimit"
|
StorageLimitLabel = "storagelimit"
|
||||||
StorageClassLabel = "storageclass"
|
StorageClassLabel = "storageclass"
|
||||||
@ -94,12 +94,18 @@ type IngressConfig struct {
|
|||||||
CertManager string `yaml:"certmanager" json:"certmanager" default:"letsencrypt-prod"`
|
CertManager string `yaml:"certmanager" json:"certmanager" default:"letsencrypt-prod"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type ReleaseConfig struct {
|
||||||
|
Repo string `yaml:"repo" json:"repo" default:"https://helm.kubeshark.co"`
|
||||||
|
Name string `yaml:"name" json:"name" default:"kubeshark"`
|
||||||
|
Namespace string `yaml:"namespace" json:"namespace" default:"default"`
|
||||||
|
}
|
||||||
|
|
||||||
type TapConfig struct {
|
type TapConfig struct {
|
||||||
Docker DockerConfig `yaml:"docker" json:"docker"`
|
Docker DockerConfig `yaml:"docker" json:"docker"`
|
||||||
Proxy ProxyConfig `yaml:"proxy" json:"proxy"`
|
Proxy ProxyConfig `yaml:"proxy" json:"proxy"`
|
||||||
PodRegexStr string `yaml:"regex" json:"regex" default:".*"`
|
PodRegexStr string `yaml:"regex" json:"regex" default:".*"`
|
||||||
Namespaces []string `yaml:"namespaces" json:"namespaces" default:"[]"`
|
Namespaces []string `yaml:"namespaces" json:"namespaces" default:"[]"`
|
||||||
ReleaseNamespace string `yaml:"releasenamespace" json:"releasenamespace" default:"default"`
|
Release ReleaseConfig `yaml:"release" json:"release"`
|
||||||
PersistentStorage bool `yaml:"persistentstorage" json:"persistentstorage" default:"false"`
|
PersistentStorage bool `yaml:"persistentstorage" json:"persistentstorage" default:"false"`
|
||||||
StorageLimit string `yaml:"storagelimit" json:"storagelimit" default:"200Mi"`
|
StorageLimit string `yaml:"storagelimit" json:"storagelimit" default:"200Mi"`
|
||||||
StorageClass string `yaml:"storageclass" json:"storageclass" default:"standard"`
|
StorageClass string `yaml:"storageclass" json:"storageclass" default:"standard"`
|
||||||
|
@ -16,7 +16,10 @@ tap:
|
|||||||
host: 127.0.0.1
|
host: 127.0.0.1
|
||||||
regex: .*
|
regex: .*
|
||||||
namespaces: []
|
namespaces: []
|
||||||
releasenamespace: default
|
release:
|
||||||
|
repo: https://helm.kubeshark.co
|
||||||
|
name: kubeshark
|
||||||
|
namespace: default
|
||||||
persistentstorage: false
|
persistentstorage: false
|
||||||
storagelimit: 200Mi
|
storagelimit: 200Mi
|
||||||
storageclass: standard
|
storageclass: standard
|
||||||
|
@ -39,14 +39,6 @@ func NewHelm(repo string, releaseName string, releaseNamespace string) *Helm {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewHelmDefault() *Helm {
|
|
||||||
return &Helm{
|
|
||||||
repo: "https://helm.kubeshark.co",
|
|
||||||
releaseName: "kubeshark",
|
|
||||||
releaseNamespace: "default",
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func parseOCIRef(chartRef string) (string, string, error) {
|
func parseOCIRef(chartRef string) (string, string, error) {
|
||||||
refTagRegexp := regexp.MustCompile(`^(oci://[^:]+(:[0-9]{1,5})?[^:]+):(.*)$`)
|
refTagRegexp := regexp.MustCompile(`^(oci://[^:]+(:[0-9]{1,5})?[^:]+):(.*)$`)
|
||||||
caps := refTagRegexp.FindStringSubmatch(chartRef)
|
caps := refTagRegexp.FindStringSubmatch(chartRef)
|
||||||
|
@ -15,13 +15,13 @@ import (
|
|||||||
|
|
||||||
func DumpLogs(ctx context.Context, provider *kubernetes.Provider, filePath string) error {
|
func DumpLogs(ctx context.Context, provider *kubernetes.Provider, filePath string) error {
|
||||||
podExactRegex := regexp.MustCompile("^" + kubernetes.SelfResourcesPrefix)
|
podExactRegex := regexp.MustCompile("^" + kubernetes.SelfResourcesPrefix)
|
||||||
pods, err := provider.ListAllPodsMatchingRegex(ctx, podExactRegex, []string{config.Config.Tap.ReleaseNamespace})
|
pods, err := provider.ListAllPodsMatchingRegex(ctx, podExactRegex, []string{config.Config.Tap.Release.Namespace})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(pods) == 0 {
|
if len(pods) == 0 {
|
||||||
return fmt.Errorf("No %s pods found in namespace %s", misc.Software, config.Config.Tap.ReleaseNamespace)
|
return fmt.Errorf("No %s pods found in namespace %s", misc.Software, config.Config.Tap.Release.Namespace)
|
||||||
}
|
}
|
||||||
|
|
||||||
newZipFile, err := os.Create(filePath)
|
newZipFile, err := os.Create(filePath)
|
||||||
@ -60,17 +60,17 @@ func DumpLogs(ctx context.Context, provider *kubernetes.Provider, filePath strin
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
events, err := provider.GetNamespaceEvents(ctx, config.Config.Tap.ReleaseNamespace)
|
events, err := provider.GetNamespaceEvents(ctx, config.Config.Tap.Release.Namespace)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error().Err(err).Msg("Failed to get k8b events!")
|
log.Error().Err(err).Msg("Failed to get k8b events!")
|
||||||
} else {
|
} else {
|
||||||
log.Debug().Str("namespace", config.Config.Tap.ReleaseNamespace).Msg("Successfully read events.")
|
log.Debug().Str("namespace", config.Config.Tap.Release.Namespace).Msg("Successfully read events.")
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := AddStrToZip(zipWriter, events, fmt.Sprintf("%s_events.log", config.Config.Tap.ReleaseNamespace)); err != nil {
|
if err := AddStrToZip(zipWriter, events, fmt.Sprintf("%s_events.log", config.Config.Tap.Release.Namespace)); err != nil {
|
||||||
log.Error().Err(err).Msg("Failed write logs!")
|
log.Error().Err(err).Msg("Failed write logs!")
|
||||||
} else {
|
} else {
|
||||||
log.Debug().Str("namespace", config.Config.Tap.ReleaseNamespace).Msg("Successfully added events.")
|
log.Debug().Str("namespace", config.Config.Tap.Release.Namespace).Msg("Successfully added events.")
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := AddFileToZip(zipWriter, config.ConfigFilePath); err != nil {
|
if err := AddFileToZip(zipWriter, config.ConfigFilePath); err != nil {
|
||||||
|
Loading…
Reference in New Issue
Block a user