diff --git a/cmd/tapRunner.go b/cmd/tapRunner.go index 9d705a62a..392fbcc66 100644 --- a/cmd/tapRunner.go +++ b/cmd/tapRunner.go @@ -85,7 +85,7 @@ func tap() { } log.Info().Msg("Waiting for the creation of Kubeshark resources...") - if state.kubesharkServiceAccountExists, err = resources.CreateHubResources(ctx, kubernetesProvider, serializedKubesharkConfig, config.Config.IsNsRestrictedMode(), config.Config.ResourcesNamespace, config.Config.Tap.MaxEntriesDBSizeBytes(), config.Config.Tap.HubResources, config.Config.ImagePullPolicy(), config.Config.Tap.Debug); err != nil { + if state.kubesharkServiceAccountExists, err = resources.CreateHubResources(ctx, kubernetesProvider, serializedKubesharkConfig, config.Config.IsNsRestrictedMode(), config.Config.ResourcesNamespace, config.Config.Tap.MaxEntriesDBSizeBytes(), config.Config.Tap.Resources.Hub, config.Config.ImagePullPolicy(), config.Config.Tap.Debug); err != nil { var statusError *k8serrors.StatusError if errors.As(err, &statusError) && (statusError.ErrStatus.Reason == metav1.StatusReasonAlreadyExists) { log.Warn().Msg("Kubeshark is already running in this namespace, change the `kubeshark-resources-namespace` configuration or run `kubeshark clean` to remove the currently running Kubeshark instance") @@ -115,7 +115,7 @@ func getTapConfig() *models.Config { conf := models.Config{ MaxDBSizeBytes: config.Config.Tap.MaxEntriesDBSizeBytes(), PullPolicy: config.Config.ImagePullPolicyStr, - WorkerResources: config.Config.Tap.WorkerResources, + WorkerResources: config.Config.Tap.Resources.Worker, ResourcesNamespace: config.Config.ResourcesNamespace, DatabasePath: models.DataDirPath, } @@ -147,7 +147,7 @@ func startWorkerSyncer(ctx context.Context, cancel context.CancelFunc, provider TargetNamespaces: targetNamespaces, PodFilterRegex: *config.Config.Tap.PodRegex(), KubesharkResourcesNamespace: config.Config.ResourcesNamespace, - WorkerResources: config.Config.Tap.WorkerResources, + WorkerResources: config.Config.Tap.Resources.Worker, ImagePullPolicy: config.Config.ImagePullPolicy(), KubesharkServiceAccountExists: state.kubesharkServiceAccountExists, ServiceMesh: config.Config.Tap.ServiceMesh, diff --git a/config/configStructs/tapConfig.go b/config/configStructs/tapConfig.go index ddac9a831..c7a337421 100644 --- a/config/configStructs/tapConfig.go +++ b/config/configStructs/tapConfig.go @@ -51,21 +51,25 @@ type DockerConfig struct { Tag string `yaml:"tag" default:"latest"` } +type ResourcesConfig struct { + Worker models.Resources `yaml:"worker"` + Hub models.Resources `yaml:"hub"` +} + type TapConfig struct { - Docker DockerConfig `yaml:"docker"` - Proxy ProxyConfig `yaml:"proxy"` - PodRegexStr string `yaml:"regex" default:".*"` - Namespaces []string `yaml:"namespaces"` - AllNamespaces bool `yaml:"all-namespaces" default:"false"` - HumanMaxEntriesDBSize string `yaml:"max-entries-db-size" default:"200MB"` - DryRun bool `yaml:"dry-run" default:"false"` - Pcap string `yaml:"pcap" default:""` - HubResources models.Resources `yaml:"hub-resources"` - WorkerResources models.Resources `yaml:"worker-resources"` - ServiceMesh bool `yaml:"service-mesh" default:"true"` - Tls bool `yaml:"tls" default:"true"` - PacketCapture string `yaml:"packet-capture" default:"libpcap"` - Debug bool `yaml:"debug" default:"false"` + Docker DockerConfig `yaml:"docker"` + Proxy ProxyConfig `yaml:"proxy"` + PodRegexStr string `yaml:"regex" default:".*"` + Namespaces []string `yaml:"namespaces"` + AllNamespaces bool `yaml:"all-namespaces" default:"false"` + HumanMaxEntriesDBSize string `yaml:"max-entries-db-size" default:"200MB"` + DryRun bool `yaml:"dry-run" default:"false"` + Pcap string `yaml:"pcap" default:""` + Resources ResourcesConfig `yaml:"resources"` + ServiceMesh bool `yaml:"service-mesh" default:"true"` + Tls bool `yaml:"tls" default:"true"` + PacketCapture string `yaml:"packet-capture" default:"libpcap"` + Debug bool `yaml:"debug" default:"false"` } func (config *TapConfig) PodRegex() *regexp.Regexp {