mirror of
https://github.com/kubeshark/kubeshark.git
synced 2026-03-02 17:50:30 +00:00
Compare commits
1 Commits
feature/he
...
cloud-stor
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5be6cd757a |
3
.gitignore
vendored
3
.gitignore
vendored
@@ -64,6 +64,3 @@ scripts/
|
|||||||
|
|
||||||
# CWD config YAML
|
# CWD config YAML
|
||||||
kubeshark.yaml
|
kubeshark.yaml
|
||||||
|
|
||||||
# Claude Code
|
|
||||||
CLAUDE.md
|
|
||||||
@@ -218,7 +218,7 @@ func newTestMCPServerWithMockBackend(handler http.HandlerFunc) (*mcpServer, *htt
|
|||||||
}
|
}
|
||||||
|
|
||||||
type hubToolCallRequest struct {
|
type hubToolCallRequest struct {
|
||||||
Tool string `json:"name"`
|
Tool string `json:"tool"`
|
||||||
Arguments map[string]any `json:"arguments"`
|
Arguments map[string]any `json:"arguments"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -62,5 +62,4 @@ func init() {
|
|||||||
tapCmd.Flags().Bool(configStructs.TelemetryEnabledLabel, defaultTapConfig.Telemetry.Enabled, "Enable/disable Telemetry")
|
tapCmd.Flags().Bool(configStructs.TelemetryEnabledLabel, defaultTapConfig.Telemetry.Enabled, "Enable/disable Telemetry")
|
||||||
tapCmd.Flags().Bool(configStructs.ResourceGuardEnabledLabel, defaultTapConfig.ResourceGuard.Enabled, "Enable/disable resource guard")
|
tapCmd.Flags().Bool(configStructs.ResourceGuardEnabledLabel, defaultTapConfig.ResourceGuard.Enabled, "Enable/disable resource guard")
|
||||||
tapCmd.Flags().Bool(configStructs.WatchdogEnabled, defaultTapConfig.Watchdog.Enabled, "Enable/disable watchdog")
|
tapCmd.Flags().Bool(configStructs.WatchdogEnabled, defaultTapConfig.Watchdog.Enabled, "Enable/disable watchdog")
|
||||||
tapCmd.Flags().String(configStructs.HelmChartPathLabel, defaultTapConfig.Release.HelmChartPath, "Path to a local Helm chart folder (overrides the remote Helm repo)")
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -45,7 +45,6 @@ const (
|
|||||||
PcapDumpEnabled = "enabled"
|
PcapDumpEnabled = "enabled"
|
||||||
PcapTime = "time"
|
PcapTime = "time"
|
||||||
WatchdogEnabled = "watchdogEnabled"
|
WatchdogEnabled = "watchdogEnabled"
|
||||||
HelmChartPathLabel = "release-helmChartPath"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type ResourceLimitsHub struct {
|
type ResourceLimitsHub struct {
|
||||||
@@ -212,7 +211,6 @@ type ReleaseConfig struct {
|
|||||||
Repo string `yaml:"repo" json:"repo" default:"https://helm.kubeshark.com"`
|
Repo string `yaml:"repo" json:"repo" default:"https://helm.kubeshark.com"`
|
||||||
Name string `yaml:"name" json:"name" default:"kubeshark"`
|
Name string `yaml:"name" json:"name" default:"kubeshark"`
|
||||||
Namespace string `yaml:"namespace" json:"namespace" default:"default"`
|
Namespace string `yaml:"namespace" json:"namespace" default:"default"`
|
||||||
HelmChartPath string `yaml:"helmChartPath" json:"helmChartPath" default:""`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type TelemetryConfig struct {
|
type TelemetryConfig struct {
|
||||||
@@ -263,8 +261,6 @@ type MiscConfig struct {
|
|||||||
DuplicateTimeframe string `yaml:"duplicateTimeframe" json:"duplicateTimeframe" default:"200ms"`
|
DuplicateTimeframe string `yaml:"duplicateTimeframe" json:"duplicateTimeframe" default:"200ms"`
|
||||||
DetectDuplicates bool `yaml:"detectDuplicates" json:"detectDuplicates" default:"false"`
|
DetectDuplicates bool `yaml:"detectDuplicates" json:"detectDuplicates" default:"false"`
|
||||||
StaleTimeoutSeconds int `yaml:"staleTimeoutSeconds" json:"staleTimeoutSeconds" default:"30"`
|
StaleTimeoutSeconds int `yaml:"staleTimeoutSeconds" json:"staleTimeoutSeconds" default:"30"`
|
||||||
TcpFlowTimeout int `yaml:"tcpFlowTimeout" json:"tcpFlowTimeout" default:"1200"`
|
|
||||||
UdpFlowTimeout int `yaml:"udpFlowTimeout" json:"udpFlowTimeout" default:"1200"`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type PcapDumpConfig struct {
|
type PcapDumpConfig struct {
|
||||||
|
|||||||
@@ -220,8 +220,6 @@ Example for overriding image names:
|
|||||||
| `tap.mountBpf` | BPF filesystem needs to be mounted for eBPF to work properly. This helm value determines whether Kubeshark will attempt to mount the filesystem. This option is not required if filesystem is already mounts. │ `true`|
|
| `tap.mountBpf` | BPF filesystem needs to be mounted for eBPF to work properly. This helm value determines whether Kubeshark will attempt to mount the filesystem. This option is not required if filesystem is already mounts. │ `true`|
|
||||||
| `tap.hostNetwork` | Enable host network mode for worker DaemonSet pods. When enabled, worker pods use the host's network namespace for direct network access. | `true` |
|
| `tap.hostNetwork` | Enable host network mode for worker DaemonSet pods. When enabled, worker pods use the host's network namespace for direct network access. | `true` |
|
||||||
| `tap.gitops.enabled` | Enable GitOps functionality. This will allow you to use GitOps to manage your Kubeshark configuration. | `false` |
|
| `tap.gitops.enabled` | Enable GitOps functionality. This will allow you to use GitOps to manage your Kubeshark configuration. | `false` |
|
||||||
| `tap.misc.tcpFlowTimeout` | TCP flow aggregation timeout in seconds. Controls how long the worker waits before finalizing a TCP flow. | `1200` |
|
|
||||||
| `tap.misc.udpFlowTimeout` | UDP flow aggregation timeout in seconds. Controls how long the worker waits before finalizing a UDP flow. | `1200` |
|
|
||||||
| `logs.file` | Logs dump path | `""` |
|
| `logs.file` | Logs dump path | `""` |
|
||||||
| `pcapdump.enabled` | Enable recording of all traffic captured according to other parameters. Whatever Kubeshark captures, considering pod targeting rules, will be stored in pcap files ready to be viewed by tools | `false` |
|
| `pcapdump.enabled` | Enable recording of all traffic captured according to other parameters. Whatever Kubeshark captures, considering pod targeting rules, will be stored in pcap files ready to be viewed by tools | `false` |
|
||||||
| `pcapdump.maxTime` | The time window into the past that will be stored. Older traffic will be discarded. | `2h` |
|
| `pcapdump.maxTime` | The time window into the past that will be stored. Older traffic will be discarded. | `2h` |
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ spec:
|
|||||||
- -capture-stop-after
|
- -capture-stop-after
|
||||||
- "{{ if hasKey .Values.tap.capture.dissection "stopAfter" }}{{ .Values.tap.capture.dissection.stopAfter }}{{ else }}5m{{ end }}"
|
- "{{ if hasKey .Values.tap.capture.dissection "stopAfter" }}{{ .Values.tap.capture.dissection.stopAfter }}{{ else }}5m{{ end }}"
|
||||||
- -snapshot-size-limit
|
- -snapshot-size-limit
|
||||||
- '{{ .Values.tap.snapshots.storageSize }}'
|
- '{{ .Values.tap.snapshots.local.storageSize }}'
|
||||||
{{- if .Values.tap.delayedDissection.image }}
|
{{- if .Values.tap.delayedDissection.image }}
|
||||||
- -dissector-image
|
- -dissector-image
|
||||||
- '{{ .Values.tap.delayedDissection.image }}'
|
- '{{ .Values.tap.delayedDissection.image }}'
|
||||||
@@ -57,12 +57,24 @@ spec:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
- -cloud-api-url
|
- -cloud-api-url
|
||||||
- '{{ .Values.cloudApiUrl }}'
|
- '{{ .Values.cloudApiUrl }}'
|
||||||
{{- if .Values.tap.secrets }}
|
{{- if .Values.tap.snapshots.cloud.provider }}
|
||||||
|
- -cloud-storage-provider
|
||||||
|
- '{{ .Values.tap.snapshots.cloud.provider }}'
|
||||||
|
{{- end }}
|
||||||
|
{{- if or .Values.tap.secrets .Values.tap.snapshots.cloud.configMaps .Values.tap.snapshots.cloud.secrets }}
|
||||||
envFrom:
|
envFrom:
|
||||||
{{- range .Values.tap.secrets }}
|
{{- range .Values.tap.secrets }}
|
||||||
- secretRef:
|
- secretRef:
|
||||||
name: {{ . }}
|
name: {{ . }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- range .Values.tap.snapshots.cloud.configMaps }}
|
||||||
|
- configMapRef:
|
||||||
|
name: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- range .Values.tap.snapshots.cloud.secrets }}
|
||||||
|
- secretRef:
|
||||||
|
name: {{ . }}
|
||||||
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
env:
|
env:
|
||||||
- name: POD_NAME
|
- name: POD_NAME
|
||||||
@@ -184,10 +196,10 @@ spec:
|
|||||||
- key: AUTH_SAML_X509_KEY
|
- key: AUTH_SAML_X509_KEY
|
||||||
path: kubeshark.key
|
path: kubeshark.key
|
||||||
- name: snapshots-volume
|
- name: snapshots-volume
|
||||||
{{- if .Values.tap.snapshots.storageClass }}
|
{{- if .Values.tap.snapshots.local.storageClass }}
|
||||||
persistentVolumeClaim:
|
persistentVolumeClaim:
|
||||||
claimName: {{ include "kubeshark.name" . }}-snapshots-pvc
|
claimName: {{ include "kubeshark.name" . }}-snapshots-pvc
|
||||||
{{- else }}
|
{{- else }}
|
||||||
emptyDir:
|
emptyDir:
|
||||||
sizeLimit: {{ .Values.tap.snapshots.storageSize }}
|
sizeLimit: {{ .Values.tap.snapshots.local.storageSize }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
{{- if .Values.tap.snapshots.storageClass }}
|
{{- if .Values.tap.snapshots.local.storageClass }}
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: PersistentVolumeClaim
|
kind: PersistentVolumeClaim
|
||||||
metadata:
|
metadata:
|
||||||
@@ -16,7 +16,7 @@ spec:
|
|||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
storage: {{ .Values.tap.snapshots.storageSize }}
|
storage: {{ .Values.tap.snapshots.local.storageSize }}
|
||||||
storageClassName: {{ .Values.tap.snapshots.storageClass }}
|
storageClassName: {{ .Values.tap.snapshots.local.storageClass }}
|
||||||
status: {}
|
status: {}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|||||||
@@ -99,10 +99,6 @@ spec:
|
|||||||
- '{{ .Values.tap.misc.resolutionStrategy }}'
|
- '{{ .Values.tap.misc.resolutionStrategy }}'
|
||||||
- -staletimeout
|
- -staletimeout
|
||||||
- '{{ .Values.tap.misc.staleTimeoutSeconds }}'
|
- '{{ .Values.tap.misc.staleTimeoutSeconds }}'
|
||||||
- -tcp-flow-full-timeout
|
|
||||||
- '{{ .Values.tap.misc.tcpFlowTimeout }}'
|
|
||||||
- -udp-flow-full-timeout
|
|
||||||
- '{{ .Values.tap.misc.udpFlowTimeout }}'
|
|
||||||
- -storage-size
|
- -storage-size
|
||||||
- '{{ .Values.tap.storageLimit }}'
|
- '{{ .Values.tap.storageLimit }}'
|
||||||
- -capture-db-max-size
|
- -capture-db-max-size
|
||||||
|
|||||||
@@ -30,10 +30,8 @@ data:
|
|||||||
proxy_set_header Authorization $http_authorization;
|
proxy_set_header Authorization $http_authorization;
|
||||||
proxy_pass_header Authorization;
|
proxy_pass_header Authorization;
|
||||||
proxy_connect_timeout 4s;
|
proxy_connect_timeout 4s;
|
||||||
# Disable buffering for gRPC/Connect streaming
|
proxy_read_timeout 120s;
|
||||||
client_max_body_size 0;
|
proxy_send_timeout 12s;
|
||||||
proxy_request_buffering off;
|
|
||||||
proxy_buffering off;
|
|
||||||
proxy_pass_request_headers on;
|
proxy_pass_request_headers on;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -88,3 +86,4 @@ data:
|
|||||||
root /usr/share/nginx/html;
|
root /usr/share/nginx/html;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -39,8 +39,13 @@ tap:
|
|||||||
cpu: "1"
|
cpu: "1"
|
||||||
memory: 4Gi
|
memory: 4Gi
|
||||||
snapshots:
|
snapshots:
|
||||||
storageClass: ""
|
local:
|
||||||
storageSize: 20Gi
|
storageClass: ""
|
||||||
|
storageSize: 20Gi
|
||||||
|
cloud:
|
||||||
|
provider: "" # cloud storage provider: "s3" (empty = disabled)
|
||||||
|
configMaps: [] # names of ConfigMaps with cloud storage env vars
|
||||||
|
secrets: [] # names of Secrets with cloud storage credentials
|
||||||
release:
|
release:
|
||||||
repo: https://helm.kubeshark.com
|
repo: https://helm.kubeshark.com
|
||||||
name: kubeshark
|
name: kubeshark
|
||||||
@@ -191,8 +196,8 @@ tap:
|
|||||||
- diameter
|
- diameter
|
||||||
- udp-flow
|
- udp-flow
|
||||||
- tcp-flow
|
- tcp-flow
|
||||||
- udp-conn
|
|
||||||
- tcp-conn
|
- tcp-conn
|
||||||
|
- udp-conn
|
||||||
portMapping:
|
portMapping:
|
||||||
http:
|
http:
|
||||||
- 80
|
- 80
|
||||||
@@ -228,8 +233,6 @@ tap:
|
|||||||
duplicateTimeframe: 200ms
|
duplicateTimeframe: 200ms
|
||||||
detectDuplicates: false
|
detectDuplicates: false
|
||||||
staleTimeoutSeconds: 30
|
staleTimeoutSeconds: 30
|
||||||
tcpFlowTimeout: 1200
|
|
||||||
udpFlowTimeout: 1200
|
|
||||||
securityContext:
|
securityContext:
|
||||||
privileged: true
|
privileged: true
|
||||||
appArmorProfile:
|
appArmorProfile:
|
||||||
@@ -272,7 +275,7 @@ kube:
|
|||||||
dumpLogs: false
|
dumpLogs: false
|
||||||
headless: false
|
headless: false
|
||||||
license: ""
|
license: ""
|
||||||
cloudApiUrl: https://api.kubeshark.com
|
cloudApiUrl: "https://api.kubeshark.com"
|
||||||
cloudLicenseEnabled: true
|
cloudLicenseEnabled: true
|
||||||
demoModeEnabled: false
|
demoModeEnabled: false
|
||||||
supportChatEnabled: false
|
supportChatEnabled: false
|
||||||
|
|||||||
@@ -67,10 +67,7 @@ func (h *Helm) Install() (rel *release.Release, err error) {
|
|||||||
client.Namespace = h.releaseNamespace
|
client.Namespace = h.releaseNamespace
|
||||||
client.ReleaseName = h.releaseName
|
client.ReleaseName = h.releaseName
|
||||||
|
|
||||||
chartPath := config.Config.Tap.Release.HelmChartPath
|
chartPath := os.Getenv(fmt.Sprintf("%s_HELM_CHART_PATH", strings.ToUpper(misc.Program)))
|
||||||
if chartPath == "" {
|
|
||||||
chartPath = os.Getenv(fmt.Sprintf("%s_HELM_CHART_PATH", strings.ToUpper(misc.Program)))
|
|
||||||
}
|
|
||||||
if chartPath == "" {
|
if chartPath == "" {
|
||||||
var chartURL string
|
var chartURL string
|
||||||
chartURL, err = repo.FindChartInRepoURL(h.repo, h.releaseName, "", "", "", "", getter.All(&cli.EnvSettings{}))
|
chartURL, err = repo.FindChartInRepoURL(h.repo, h.releaseName, "", "", "", "", getter.All(&cli.EnvSettings{}))
|
||||||
|
|||||||
@@ -209,10 +209,8 @@ data:
|
|||||||
proxy_set_header Authorization $http_authorization;
|
proxy_set_header Authorization $http_authorization;
|
||||||
proxy_pass_header Authorization;
|
proxy_pass_header Authorization;
|
||||||
proxy_connect_timeout 4s;
|
proxy_connect_timeout 4s;
|
||||||
# Disable buffering for gRPC/Connect streaming
|
proxy_read_timeout 120s;
|
||||||
client_max_body_size 0;
|
proxy_send_timeout 12s;
|
||||||
proxy_request_buffering off;
|
|
||||||
proxy_buffering off;
|
|
||||||
proxy_pass_request_headers on;
|
proxy_pass_request_headers on;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -259,7 +257,6 @@ data:
|
|||||||
EXCLUDED_NAMESPACES: ''
|
EXCLUDED_NAMESPACES: ''
|
||||||
BPF_OVERRIDE: ''
|
BPF_OVERRIDE: ''
|
||||||
DISSECTION_ENABLED: 'true'
|
DISSECTION_ENABLED: 'true'
|
||||||
CAPTURE_SELF: 'false'
|
|
||||||
SCRIPTING_SCRIPTS: '{}'
|
SCRIPTING_SCRIPTS: '{}'
|
||||||
SCRIPTING_ACTIVE_SCRIPTS: ''
|
SCRIPTING_ACTIVE_SCRIPTS: ''
|
||||||
INGRESS_ENABLED: 'false'
|
INGRESS_ENABLED: 'false'
|
||||||
@@ -269,7 +266,7 @@ data:
|
|||||||
AUTH_TYPE: 'default'
|
AUTH_TYPE: 'default'
|
||||||
AUTH_SAML_IDP_METADATA_URL: ''
|
AUTH_SAML_IDP_METADATA_URL: ''
|
||||||
AUTH_SAML_ROLE_ATTRIBUTE: 'role'
|
AUTH_SAML_ROLE_ATTRIBUTE: 'role'
|
||||||
AUTH_SAML_ROLES: '{"admin":{"canControlDissection":true,"canDownloadPCAP":true,"canStopTrafficCapturing":true,"canUpdateTargetedPods":true,"canUseScripting":true,"filter":"","scriptingPermissions":{"canActivate":true,"canDelete":true,"canSave":true},"showAdminConsoleLink":true}}'
|
AUTH_SAML_ROLES: '{"admin":{"canDownloadPCAP":true,"canStopTrafficCapturing":true,"canUpdateTargetedPods":true,"canUseScripting":true,"filter":"","scriptingPermissions":{"canActivate":true,"canDelete":true,"canSave":true},"showAdminConsoleLink":true}}'
|
||||||
AUTH_OIDC_ISSUER: 'not set'
|
AUTH_OIDC_ISSUER: 'not set'
|
||||||
AUTH_OIDC_REFRESH_TOKEN_LIFETIME: '3960h'
|
AUTH_OIDC_REFRESH_TOKEN_LIFETIME: '3960h'
|
||||||
AUTH_OIDC_STATE_PARAM_EXPIRY: '10m'
|
AUTH_OIDC_STATE_PARAM_EXPIRY: '10m'
|
||||||
@@ -288,6 +285,7 @@ data:
|
|||||||
PCAP_ERROR_TTL: '0'
|
PCAP_ERROR_TTL: '0'
|
||||||
TIMEZONE: ' '
|
TIMEZONE: ' '
|
||||||
CLOUD_LICENSE_ENABLED: 'true'
|
CLOUD_LICENSE_ENABLED: 'true'
|
||||||
|
AI_ASSISTANT_ENABLED: 'true'
|
||||||
DUPLICATE_TIMEFRAME: '200ms'
|
DUPLICATE_TIMEFRAME: '200ms'
|
||||||
ENABLED_DISSECTORS: 'amqp,dns,http,icmp,kafka,redis,ws,ldap,radius,diameter,udp-flow,tcp-flow,udp-conn,tcp-conn'
|
ENABLED_DISSECTORS: 'amqp,dns,http,icmp,kafka,redis,ws,ldap,radius,diameter,udp-flow,tcp-flow,udp-conn,tcp-conn'
|
||||||
CUSTOM_MACROS: '{"https":"tls and (http or http2)"}'
|
CUSTOM_MACROS: '{"https":"tls and (http or http2)"}'
|
||||||
@@ -608,16 +606,10 @@ spec:
|
|||||||
- 'auto'
|
- 'auto'
|
||||||
- -staletimeout
|
- -staletimeout
|
||||||
- '30'
|
- '30'
|
||||||
- -tcp-flow-full-timeout
|
|
||||||
- '1200'
|
|
||||||
- -udp-flow-full-timeout
|
|
||||||
- '1200'
|
|
||||||
- -storage-size
|
- -storage-size
|
||||||
- '10Gi'
|
- '10Gi'
|
||||||
- -capture-db-max-size
|
- -capture-db-max-size
|
||||||
- '500Mi'
|
- '500Mi'
|
||||||
- -cloud-api-url
|
|
||||||
- 'https://api.kubeshark.com'
|
|
||||||
image: 'docker.io/kubeshark/worker:v52.12'
|
image: 'docker.io/kubeshark/worker:v52.12'
|
||||||
imagePullPolicy: Always
|
imagePullPolicy: Always
|
||||||
name: sniffer
|
name: sniffer
|
||||||
@@ -638,6 +630,8 @@ spec:
|
|||||||
value: '10000'
|
value: '10000'
|
||||||
- name: TCP_STREAM_CHANNEL_TIMEOUT_SHOW
|
- name: TCP_STREAM_CHANNEL_TIMEOUT_SHOW
|
||||||
value: 'false'
|
value: 'false'
|
||||||
|
- name: KUBESHARK_CLOUD_API_URL
|
||||||
|
value: 'https://api.kubeshark.com'
|
||||||
- name: PROFILING_ENABLED
|
- name: PROFILING_ENABLED
|
||||||
value: 'false'
|
value: 'false'
|
||||||
- name: SENTRY_ENABLED
|
- name: SENTRY_ENABLED
|
||||||
@@ -826,8 +820,6 @@ spec:
|
|||||||
- '1'
|
- '1'
|
||||||
- -dissector-memory
|
- -dissector-memory
|
||||||
- '4Gi'
|
- '4Gi'
|
||||||
- -cloud-api-url
|
|
||||||
- 'https://api.kubeshark.com'
|
|
||||||
env:
|
env:
|
||||||
- name: POD_NAME
|
- name: POD_NAME
|
||||||
valueFrom:
|
valueFrom:
|
||||||
@@ -841,6 +833,8 @@ spec:
|
|||||||
value: 'false'
|
value: 'false'
|
||||||
- name: SENTRY_ENVIRONMENT
|
- name: SENTRY_ENVIRONMENT
|
||||||
value: 'production'
|
value: 'production'
|
||||||
|
- name: KUBESHARK_CLOUD_API_URL
|
||||||
|
value: 'https://api.kubeshark.com'
|
||||||
- name: PROFILING_ENABLED
|
- name: PROFILING_ENABLED
|
||||||
value: 'false'
|
value: 'false'
|
||||||
image: 'docker.io/kubeshark/hub:v52.12'
|
image: 'docker.io/kubeshark/hub:v52.12'
|
||||||
@@ -949,8 +943,6 @@ spec:
|
|||||||
value: ' '
|
value: ' '
|
||||||
- name: REACT_APP_TIMEZONE
|
- name: REACT_APP_TIMEZONE
|
||||||
value: ' '
|
value: ' '
|
||||||
- name: REACT_APP_SCRIPTING_HIDDEN
|
|
||||||
value: 'true'
|
|
||||||
- name: REACT_APP_SCRIPTING_DISABLED
|
- name: REACT_APP_SCRIPTING_DISABLED
|
||||||
value: 'false'
|
value: 'false'
|
||||||
- name: REACT_APP_TARGETED_PODS_UPDATE_DISABLED
|
- name: REACT_APP_TARGETED_PODS_UPDATE_DISABLED
|
||||||
@@ -961,12 +953,12 @@ spec:
|
|||||||
value: 'true'
|
value: 'true'
|
||||||
- name: REACT_APP_RECORDING_DISABLED
|
- name: REACT_APP_RECORDING_DISABLED
|
||||||
value: 'false'
|
value: 'false'
|
||||||
- name: REACT_APP_DISSECTION_ENABLED
|
|
||||||
value: 'true'
|
|
||||||
- name: REACT_APP_DISSECTION_CONTROL_ENABLED
|
- name: REACT_APP_DISSECTION_CONTROL_ENABLED
|
||||||
value: 'true'
|
value: 'true'
|
||||||
- name: 'REACT_APP_CLOUD_LICENSE_ENABLED'
|
- name: 'REACT_APP_CLOUD_LICENSE_ENABLED'
|
||||||
value: 'true'
|
value: 'true'
|
||||||
|
- name: 'REACT_APP_AI_ASSISTANT_ENABLED'
|
||||||
|
value: 'true'
|
||||||
- name: REACT_APP_SUPPORT_CHAT_ENABLED
|
- name: REACT_APP_SUPPORT_CHAT_ENABLED
|
||||||
value: 'false'
|
value: 'false'
|
||||||
- name: REACT_APP_BETA_ENABLED
|
- name: REACT_APP_BETA_ENABLED
|
||||||
|
|||||||
Reference in New Issue
Block a user