mirror of
https://github.com/kubeshark/kubeshark.git
synced 2025-07-05 12:28:55 +00:00
🔨 Add tap.stopTrafficCapturingDisabled
flag (#1568)
* 🔨 Add `tap.stopTrafficCapturingDisabled` helm value * 🔨 Add `STOP_TRAFFIC_CAPTURING_DISABLED` config * 🔨 Add `REACT_APP_STOP_TRAFFIC_CAPTURING_DISABLED` `env` to `front` * 🩹 Add ternary operator for `STOPPED` config * 🐛 Always enable stop-capturing functionality if `tap.stopped == true`
This commit is contained in:
parent
b7530a3c6b
commit
28ae2a645b
@ -160,41 +160,42 @@ type MiscConfig struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
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:"[]"`
|
||||||
BpfOverride string `yaml:"bpfOverride" json:"bpfOverride" default:""`
|
BpfOverride string `yaml:"bpfOverride" json:"bpfOverride" default:""`
|
||||||
Stopped bool `yaml:"stopped" json:"stopped" default:"false"`
|
Stopped bool `yaml:"stopped" json:"stopped" default:"false"`
|
||||||
Release ReleaseConfig `yaml:"release" json:"release"`
|
Release ReleaseConfig `yaml:"release" json:"release"`
|
||||||
PersistentStorage bool `yaml:"persistentStorage" json:"persistentStorage" default:"false"`
|
PersistentStorage bool `yaml:"persistentStorage" json:"persistentStorage" default:"false"`
|
||||||
PersistentStorageStatic bool `yaml:"persistentStorageStatic" json:"persistentStorageStatic" default:"false"`
|
PersistentStorageStatic bool `yaml:"persistentStorageStatic" json:"persistentStorageStatic" default:"false"`
|
||||||
EfsFileSytemIdAndPath string `yaml:"efsFileSytemIdAndPath" json:"efsFileSytemIdAndPath" default:""`
|
EfsFileSytemIdAndPath string `yaml:"efsFileSytemIdAndPath" json:"efsFileSytemIdAndPath" default:""`
|
||||||
StorageLimit string `yaml:"storageLimit" json:"storageLimit" default:"500Mi"`
|
StorageLimit string `yaml:"storageLimit" json:"storageLimit" default:"500Mi"`
|
||||||
StorageClass string `yaml:"storageClass" json:"storageClass" default:"standard"`
|
StorageClass string `yaml:"storageClass" json:"storageClass" default:"standard"`
|
||||||
DryRun bool `yaml:"dryRun" json:"dryRun" default:"false"`
|
DryRun bool `yaml:"dryRun" json:"dryRun" default:"false"`
|
||||||
Resources ResourcesConfig `yaml:"resources" json:"resources"`
|
Resources ResourcesConfig `yaml:"resources" json:"resources"`
|
||||||
ServiceMesh bool `yaml:"serviceMesh" json:"serviceMesh" default:"true"`
|
ServiceMesh bool `yaml:"serviceMesh" json:"serviceMesh" default:"true"`
|
||||||
Tls bool `yaml:"tls" json:"tls" default:"true"`
|
Tls bool `yaml:"tls" json:"tls" default:"true"`
|
||||||
PacketCapture string `yaml:"packetCapture" json:"packetCapture" default:"best"`
|
PacketCapture string `yaml:"packetCapture" json:"packetCapture" default:"best"`
|
||||||
IgnoreTainted bool `yaml:"ignoreTainted" json:"ignoreTainted" default:"false"`
|
IgnoreTainted bool `yaml:"ignoreTainted" json:"ignoreTainted" default:"false"`
|
||||||
Labels map[string]string `yaml:"labels" json:"labels" default:"{}"`
|
Labels map[string]string `yaml:"labels" json:"labels" default:"{}"`
|
||||||
Annotations map[string]string `yaml:"annotations" json:"annotations" default:"{}"`
|
Annotations map[string]string `yaml:"annotations" json:"annotations" default:"{}"`
|
||||||
NodeSelectorTerms []v1.NodeSelectorTerm `yaml:"nodeSelectorTerms" json:"nodeSelectorTerms" default:"[]"`
|
NodeSelectorTerms []v1.NodeSelectorTerm `yaml:"nodeSelectorTerms" json:"nodeSelectorTerms" default:"[]"`
|
||||||
Auth AuthConfig `yaml:"auth" json:"auth"`
|
Auth AuthConfig `yaml:"auth" json:"auth"`
|
||||||
Ingress IngressConfig `yaml:"ingress" json:"ingress"`
|
Ingress IngressConfig `yaml:"ingress" json:"ingress"`
|
||||||
IPv6 bool `yaml:"ipv6" json:"ipv6" default:"true"`
|
IPv6 bool `yaml:"ipv6" json:"ipv6" default:"true"`
|
||||||
Debug bool `yaml:"debug" json:"debug" default:"false"`
|
Debug bool `yaml:"debug" json:"debug" default:"false"`
|
||||||
KernelModule KernelModuleConfig `yaml:"kernelModule" json:"kernelModule"`
|
KernelModule KernelModuleConfig `yaml:"kernelModule" json:"kernelModule"`
|
||||||
Telemetry TelemetryConfig `yaml:"telemetry" json:"telemetry"`
|
Telemetry TelemetryConfig `yaml:"telemetry" json:"telemetry"`
|
||||||
DefaultFilter string `yaml:"defaultFilter" json:"defaultFilter"`
|
DefaultFilter string `yaml:"defaultFilter" json:"defaultFilter"`
|
||||||
ScriptingDisabled bool `yaml:"scriptingDisabled" json:"scriptingDisabled" default:"false"`
|
ScriptingDisabled bool `yaml:"scriptingDisabled" json:"scriptingDisabled" default:"false"`
|
||||||
TargetedPodsUpdateDisabled bool `yaml:"targetedPodsUpdateDisabled" json:"targetedPodsUpdateDisabled" default:"false"`
|
TargetedPodsUpdateDisabled bool `yaml:"targetedPodsUpdateDisabled" json:"targetedPodsUpdateDisabled" default:"false"`
|
||||||
RecordingDisabled bool `yaml:"recordingDisabled" json:"recordingDisabled" default:"false"`
|
RecordingDisabled bool `yaml:"recordingDisabled" json:"recordingDisabled" default:"false"`
|
||||||
Capabilities CapabilitiesConfig `yaml:"capabilities" json:"capabilities"`
|
StopTrafficCapturingDisabled bool `yaml:"stopTrafficCapturingDisabled" json:"stopTrafficCapturingDisabled" default:"false"`
|
||||||
GlobalFilter string `yaml:"globalFilter" json:"globalFilter"`
|
Capabilities CapabilitiesConfig `yaml:"capabilities" json:"capabilities"`
|
||||||
Metrics MetricsConfig `yaml:"metrics" json:"metrics"`
|
GlobalFilter string `yaml:"globalFilter" json:"globalFilter"`
|
||||||
Misc MiscConfig `yaml:"misc" json:"misc"`
|
Metrics MetricsConfig `yaml:"metrics" json:"metrics"`
|
||||||
|
Misc MiscConfig `yaml:"misc" json:"misc"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (config *TapConfig) PodRegex() *regexp.Regexp {
|
func (config *TapConfig) PodRegex() *regexp.Regexp {
|
||||||
|
@ -46,6 +46,12 @@ spec:
|
|||||||
value: '{{ eq .Values.tap.packetCapture "ebpf" | ternary "true" "false" }}'
|
value: '{{ eq .Values.tap.packetCapture "ebpf" | ternary "true" "false" }}'
|
||||||
- name: REACT_APP_RECORDING_DISABLED
|
- name: REACT_APP_RECORDING_DISABLED
|
||||||
value: '{{ .Values.tap.recordingDisabled }}'
|
value: '{{ .Values.tap.recordingDisabled }}'
|
||||||
|
- name: REACT_APP_STOP_TRAFFIC_CAPTURING_DISABLED
|
||||||
|
value: '{{- if and .Values.tap.stopTrafficCapturingDisabled .Values.tap.stopped -}}
|
||||||
|
false
|
||||||
|
{{- else -}}
|
||||||
|
{{ .Values.tap.stopTrafficCapturingDisabled | ternary "true" "false" }}
|
||||||
|
{{- end -}}'
|
||||||
- name: 'REACT_APP_CLOUD_LICENSE_ENABLED'
|
- name: 'REACT_APP_CLOUD_LICENSE_ENABLED'
|
||||||
value: '{{- if and .Values.cloudLicenseEnabled (not (empty .Values.license)) -}}
|
value: '{{- if and .Values.cloudLicenseEnabled (not (empty .Values.license)) -}}
|
||||||
"false"
|
"false"
|
||||||
|
@ -10,7 +10,7 @@ data:
|
|||||||
POD_REGEX: '{{ .Values.tap.regex }}'
|
POD_REGEX: '{{ .Values.tap.regex }}'
|
||||||
NAMESPACES: '{{ gt (len .Values.tap.namespaces) 0 | ternary (join "," .Values.tap.namespaces) "" }}'
|
NAMESPACES: '{{ gt (len .Values.tap.namespaces) 0 | ternary (join "," .Values.tap.namespaces) "" }}'
|
||||||
BPF_OVERRIDE: '{{ .Values.tap.bpfOverride }}'
|
BPF_OVERRIDE: '{{ .Values.tap.bpfOverride }}'
|
||||||
STOPPED: '{{ .Values.tap.stopped }}'
|
STOPPED: '{{ .Values.tap.stopped | ternary "true" "false" }}'
|
||||||
SCRIPTING_SCRIPTS: '{}'
|
SCRIPTING_SCRIPTS: '{}'
|
||||||
INGRESS_ENABLED: '{{ .Values.tap.ingress.enabled }}'
|
INGRESS_ENABLED: '{{ .Values.tap.ingress.enabled }}'
|
||||||
INGRESS_HOST: '{{ .Values.tap.ingress.host }}'
|
INGRESS_HOST: '{{ .Values.tap.ingress.host }}'
|
||||||
@ -28,6 +28,11 @@ data:
|
|||||||
SCRIPTING_DISABLED: '{{ .Values.tap.scriptingDisabled | ternary "true" "" }}'
|
SCRIPTING_DISABLED: '{{ .Values.tap.scriptingDisabled | ternary "true" "" }}'
|
||||||
TARGETED_PODS_UPDATE_DISABLED: '{{ .Values.tap.targetedPodsUpdateDisabled | ternary "true" "" }}'
|
TARGETED_PODS_UPDATE_DISABLED: '{{ .Values.tap.targetedPodsUpdateDisabled | ternary "true" "" }}'
|
||||||
RECORDING_DISABLED: '{{ .Values.tap.recordingDisabled | ternary "true" "" }}'
|
RECORDING_DISABLED: '{{ .Values.tap.recordingDisabled | ternary "true" "" }}'
|
||||||
|
STOP_TRAFFIC_CAPTURING_DISABLED: '{{- if and .Values.tap.stopTrafficCapturingDisabled .Values.tap.stopped -}}
|
||||||
|
false
|
||||||
|
{{- else -}}
|
||||||
|
{{ .Values.tap.stopTrafficCapturingDisabled | ternary "true" "false" }}
|
||||||
|
{{- end }}'
|
||||||
GLOBAL_FILTER: {{ include "kubeshark.escapeDoubleQuotes" .Values.tap.globalFilter | quote }}
|
GLOBAL_FILTER: {{ include "kubeshark.escapeDoubleQuotes" .Values.tap.globalFilter | quote }}
|
||||||
TRAFFIC_SAMPLE_RATE: '{{ .Values.tap.misc.trafficSampleRate }}'
|
TRAFFIC_SAMPLE_RATE: '{{ .Values.tap.misc.trafficSampleRate }}'
|
||||||
JSON_TTL: '{{ .Values.tap.misc.jsonTTL }}'
|
JSON_TTL: '{{ .Values.tap.misc.jsonTTL }}'
|
||||||
|
@ -98,6 +98,7 @@ tap:
|
|||||||
scriptingDisabled: false
|
scriptingDisabled: false
|
||||||
targetedPodsUpdateDisabled: false
|
targetedPodsUpdateDisabled: false
|
||||||
recordingDisabled: false
|
recordingDisabled: false
|
||||||
|
stopTrafficCapturingDisabled: false
|
||||||
capabilities:
|
capabilities:
|
||||||
networkCapture:
|
networkCapture:
|
||||||
- NET_RAW
|
- NET_RAW
|
||||||
|
Loading…
Reference in New Issue
Block a user