Add MiscConfig struct with has JsonTTL and PcapTTL fields

This commit is contained in:
M. Mert Yildiran
2024-01-30 02:25:04 +03:00
parent 4117d008a9
commit 4802cca646
4 changed files with 72 additions and 49 deletions

View File

@@ -142,6 +142,11 @@ type MetricsConfig struct {
Port uint16 `yaml:"port" json:"port" default:"49100"` Port uint16 `yaml:"port" json:"port" default:"49100"`
} }
type MiscConfig struct {
JsonTTL string `yaml:"jsonTTL" json:"jsonTTL" default:"5m"`
PcapTTL string `yaml:"pcapTTL" json:"pcapTTL" default:"10s"`
}
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"`
@@ -174,6 +179,7 @@ type TapConfig struct {
Metrics MetricsConfig `yaml:"metrics" json:"metrics"` Metrics MetricsConfig `yaml:"metrics" json:"metrics"`
TrafficSampleRate int `yaml:"trafficSampleRate" json:"trafficSampleRate" default:"100"` TrafficSampleRate int `yaml:"trafficSampleRate" json:"trafficSampleRate" default:"100"`
TcpStreamChannelTimeoutMs int `yaml:"tcpStreamChannelTimeoutMs" json:"tcpStreamChannelTimeoutMs" default:"10000"` TcpStreamChannelTimeoutMs int `yaml:"tcpStreamChannelTimeoutMs" json:"tcpStreamChannelTimeoutMs" default:"10000"`
Misc MiscConfig `yaml:"misc" json:"misc"`
} }
func (config *TapConfig) PodRegex() *regexp.Regexp { func (config *TapConfig) PodRegex() *regexp.Regexp {

View File

@@ -26,4 +26,5 @@ data:
GLOBAL_FILTER: {{ include "kubeshark.escapeDoubleQuotes" .Values.tap.globalFilter | quote }} GLOBAL_FILTER: {{ include "kubeshark.escapeDoubleQuotes" .Values.tap.globalFilter | quote }}
TRAFFIC_SAMPLE_RATE: '{{ .Values.tap.trafficSampleRate }}' TRAFFIC_SAMPLE_RATE: '{{ .Values.tap.trafficSampleRate }}'
KUBESHARK_CLOUD_API_URL: 'https://api.kubeshark.co' KUBESHARK_CLOUD_API_URL: 'https://api.kubeshark.co'
CONFIG_JSON_TTL: '{{ .Values.tap.misc.jsonTTL }}'
CONFIG_PCAP_TTL: '{{ .Values.tap.misc.pcapTTL }}'

View File

@@ -112,6 +112,9 @@ tap:
port: 49100 port: 49100
trafficSampleRate: 100 trafficSampleRate: 100
tcpStreamChannelTimeoutMs: 10000 tcpStreamChannelTimeoutMs: 10000
misc:
jsonTTL: 5m
pcapTTL: 10s
logs: logs:
file: "" file: ""
kube: kube:

View File

@@ -4,10 +4,10 @@ apiVersion: v1
kind: ServiceAccount kind: ServiceAccount
metadata: metadata:
labels: labels:
helm.sh/chart: kubeshark-52.1.0 helm.sh/chart: kubeshark-52.1.9
app.kubernetes.io/name: kubeshark app.kubernetes.io/name: kubeshark
app.kubernetes.io/instance: kubeshark app.kubernetes.io/instance: kubeshark
app.kubernetes.io/version: "52.1.0" app.kubernetes.io/version: "52.1.9"
app.kubernetes.io/managed-by: Helm app.kubernetes.io/managed-by: Helm
annotations: annotations:
name: kubeshark-service-account name: kubeshark-service-account
@@ -21,10 +21,10 @@ metadata:
namespace: default namespace: default
labels: labels:
app.kubeshark.co/app: hub app.kubeshark.co/app: hub
helm.sh/chart: kubeshark-52.1.0 helm.sh/chart: kubeshark-52.1.9
app.kubernetes.io/name: kubeshark app.kubernetes.io/name: kubeshark
app.kubernetes.io/instance: kubeshark app.kubernetes.io/instance: kubeshark
app.kubernetes.io/version: "52.1.0" app.kubernetes.io/version: "52.1.9"
app.kubernetes.io/managed-by: Helm app.kubernetes.io/managed-by: Helm
stringData: stringData:
LICENSE: '' LICENSE: ''
@@ -38,10 +38,10 @@ metadata:
namespace: default namespace: default
labels: labels:
app.kubeshark.co/app: hub app.kubeshark.co/app: hub
helm.sh/chart: kubeshark-52.1.0 helm.sh/chart: kubeshark-52.1.9
app.kubernetes.io/name: kubeshark app.kubernetes.io/name: kubeshark
app.kubernetes.io/instance: kubeshark app.kubernetes.io/instance: kubeshark
app.kubernetes.io/version: "52.1.0" app.kubernetes.io/version: "52.1.9"
app.kubernetes.io/managed-by: Helm app.kubernetes.io/managed-by: Helm
stringData: stringData:
AUTH_SAML_X509_CRT: | AUTH_SAML_X509_CRT: |
@@ -54,10 +54,10 @@ metadata:
namespace: default namespace: default
labels: labels:
app.kubeshark.co/app: hub app.kubeshark.co/app: hub
helm.sh/chart: kubeshark-52.1.0 helm.sh/chart: kubeshark-52.1.9
app.kubernetes.io/name: kubeshark app.kubernetes.io/name: kubeshark
app.kubernetes.io/instance: kubeshark app.kubernetes.io/instance: kubeshark
app.kubernetes.io/version: "52.1.0" app.kubernetes.io/version: "52.1.9"
app.kubernetes.io/managed-by: Helm app.kubernetes.io/managed-by: Helm
stringData: stringData:
AUTH_SAML_X509_KEY: | AUTH_SAML_X509_KEY: |
@@ -69,10 +69,10 @@ metadata:
name: kubeshark-nginx-config-map name: kubeshark-nginx-config-map
namespace: default namespace: default
labels: labels:
helm.sh/chart: kubeshark-52.1.0 helm.sh/chart: kubeshark-52.1.9
app.kubernetes.io/name: kubeshark app.kubernetes.io/name: kubeshark
app.kubernetes.io/instance: kubeshark app.kubernetes.io/instance: kubeshark
app.kubernetes.io/version: "52.1.0" app.kubernetes.io/version: "52.1.9"
app.kubernetes.io/managed-by: Helm app.kubernetes.io/managed-by: Helm
data: data:
default.conf: | default.conf: |
@@ -133,10 +133,10 @@ metadata:
namespace: default namespace: default
labels: labels:
app.kubeshark.co/app: hub app.kubeshark.co/app: hub
helm.sh/chart: kubeshark-52.1.0 helm.sh/chart: kubeshark-52.1.9
app.kubernetes.io/name: kubeshark app.kubernetes.io/name: kubeshark
app.kubernetes.io/instance: kubeshark app.kubernetes.io/instance: kubeshark
app.kubernetes.io/version: "52.1.0" app.kubernetes.io/version: "52.1.9"
app.kubernetes.io/managed-by: Helm app.kubernetes.io/managed-by: Helm
data: data:
POD_REGEX: '.*' POD_REGEX: '.*'
@@ -157,16 +157,19 @@ data:
REPLAY_DISABLED: '' REPLAY_DISABLED: ''
GLOBAL_FILTER: "" GLOBAL_FILTER: ""
TRAFFIC_SAMPLE_RATE: '100' TRAFFIC_SAMPLE_RATE: '100'
KUBESHARK_CLOUD_API_URL: 'https://api.kubeshark.co'
CONFIG_JSON_TTL: '5m'
CONFIG_PCAP_TTL: '10s'
--- ---
# Source: kubeshark/templates/02-cluster-role.yaml # Source: kubeshark/templates/02-cluster-role.yaml
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole kind: ClusterRole
metadata: metadata:
labels: labels:
helm.sh/chart: kubeshark-52.1.0 helm.sh/chart: kubeshark-52.1.9
app.kubernetes.io/name: kubeshark app.kubernetes.io/name: kubeshark
app.kubernetes.io/instance: kubeshark app.kubernetes.io/instance: kubeshark
app.kubernetes.io/version: "52.1.0" app.kubernetes.io/version: "52.1.9"
app.kubernetes.io/managed-by: Helm app.kubernetes.io/managed-by: Helm
annotations: annotations:
name: kubeshark-cluster-role name: kubeshark-cluster-role
@@ -191,10 +194,10 @@ apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding kind: ClusterRoleBinding
metadata: metadata:
labels: labels:
helm.sh/chart: kubeshark-52.1.0 helm.sh/chart: kubeshark-52.1.9
app.kubernetes.io/name: kubeshark app.kubernetes.io/name: kubeshark
app.kubernetes.io/instance: kubeshark app.kubernetes.io/instance: kubeshark
app.kubernetes.io/version: "52.1.0" app.kubernetes.io/version: "52.1.9"
app.kubernetes.io/managed-by: Helm app.kubernetes.io/managed-by: Helm
annotations: annotations:
name: kubeshark-cluster-role-binding name: kubeshark-cluster-role-binding
@@ -213,10 +216,10 @@ apiVersion: rbac.authorization.k8s.io/v1
kind: Role kind: Role
metadata: metadata:
labels: labels:
helm.sh/chart: kubeshark-52.1.0 helm.sh/chart: kubeshark-52.1.9
app.kubernetes.io/name: kubeshark app.kubernetes.io/name: kubeshark
app.kubernetes.io/instance: kubeshark app.kubernetes.io/instance: kubeshark
app.kubernetes.io/version: "52.1.0" app.kubernetes.io/version: "52.1.9"
app.kubernetes.io/managed-by: Helm app.kubernetes.io/managed-by: Helm
annotations: annotations:
name: kubeshark-self-config-role name: kubeshark-self-config-role
@@ -242,10 +245,10 @@ apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding kind: RoleBinding
metadata: metadata:
labels: labels:
helm.sh/chart: kubeshark-52.1.0 helm.sh/chart: kubeshark-52.1.9
app.kubernetes.io/name: kubeshark app.kubernetes.io/name: kubeshark
app.kubernetes.io/instance: kubeshark app.kubernetes.io/instance: kubeshark
app.kubernetes.io/version: "52.1.0" app.kubernetes.io/version: "52.1.9"
app.kubernetes.io/managed-by: Helm app.kubernetes.io/managed-by: Helm
annotations: annotations:
name: kubeshark-self-config-role-binding name: kubeshark-self-config-role-binding
@@ -265,10 +268,10 @@ kind: Service
metadata: metadata:
labels: labels:
app.kubeshark.co/app: hub app.kubeshark.co/app: hub
helm.sh/chart: kubeshark-52.1.0 helm.sh/chart: kubeshark-52.1.9
app.kubernetes.io/name: kubeshark app.kubernetes.io/name: kubeshark
app.kubernetes.io/instance: kubeshark app.kubernetes.io/instance: kubeshark
app.kubernetes.io/version: "52.1.0" app.kubernetes.io/version: "52.1.9"
app.kubernetes.io/managed-by: Helm app.kubernetes.io/managed-by: Helm
annotations: annotations:
name: kubeshark-hub name: kubeshark-hub
@@ -287,10 +290,10 @@ apiVersion: v1
kind: Service kind: Service
metadata: metadata:
labels: labels:
helm.sh/chart: kubeshark-52.1.0 helm.sh/chart: kubeshark-52.1.9
app.kubernetes.io/name: kubeshark app.kubernetes.io/name: kubeshark
app.kubernetes.io/instance: kubeshark app.kubernetes.io/instance: kubeshark
app.kubernetes.io/version: "52.1.0" app.kubernetes.io/version: "52.1.9"
app.kubernetes.io/managed-by: Helm app.kubernetes.io/managed-by: Helm
annotations: annotations:
name: kubeshark-front name: kubeshark-front
@@ -316,10 +319,10 @@ metadata:
spec: spec:
selector: selector:
app.kubeshark.co/app: worker app.kubeshark.co/app: worker
helm.sh/chart: kubeshark-52.1.0 helm.sh/chart: kubeshark-52.1.9
app.kubernetes.io/name: kubeshark app.kubernetes.io/name: kubeshark
app.kubernetes.io/instance: kubeshark app.kubernetes.io/instance: kubeshark
app.kubernetes.io/version: "52.1.0" app.kubernetes.io/version: "52.1.9"
app.kubernetes.io/managed-by: Helm app.kubernetes.io/managed-by: Helm
ports: ports:
- name: metrics - name: metrics
@@ -334,10 +337,10 @@ metadata:
labels: labels:
app.kubeshark.co/app: worker app.kubeshark.co/app: worker
sidecar.istio.io/inject: "false" sidecar.istio.io/inject: "false"
helm.sh/chart: kubeshark-52.1.0 helm.sh/chart: kubeshark-52.1.9
app.kubernetes.io/name: kubeshark app.kubernetes.io/name: kubeshark
app.kubernetes.io/instance: kubeshark app.kubernetes.io/instance: kubeshark
app.kubernetes.io/version: "52.1.0" app.kubernetes.io/version: "52.1.9"
app.kubernetes.io/managed-by: Helm app.kubernetes.io/managed-by: Helm
annotations: annotations:
name: kubeshark-worker-daemon-set name: kubeshark-worker-daemon-set
@@ -346,19 +349,19 @@ spec:
selector: selector:
matchLabels: matchLabels:
app.kubeshark.co/app: worker app.kubeshark.co/app: worker
helm.sh/chart: kubeshark-52.1.0 helm.sh/chart: kubeshark-52.1.9
app.kubernetes.io/name: kubeshark app.kubernetes.io/name: kubeshark
app.kubernetes.io/instance: kubeshark app.kubernetes.io/instance: kubeshark
app.kubernetes.io/version: "52.1.0" app.kubernetes.io/version: "52.1.9"
app.kubernetes.io/managed-by: Helm app.kubernetes.io/managed-by: Helm
template: template:
metadata: metadata:
labels: labels:
app.kubeshark.co/app: worker app.kubeshark.co/app: worker
helm.sh/chart: kubeshark-52.1.0 helm.sh/chart: kubeshark-52.1.9
app.kubernetes.io/name: kubeshark app.kubernetes.io/name: kubeshark
app.kubernetes.io/instance: kubeshark app.kubernetes.io/instance: kubeshark
app.kubernetes.io/version: "52.1.0" app.kubernetes.io/version: "52.1.9"
app.kubernetes.io/managed-by: Helm app.kubernetes.io/managed-by: Helm
name: kubeshark-worker-daemon-set name: kubeshark-worker-daemon-set
namespace: kubeshark namespace: kubeshark
@@ -389,7 +392,7 @@ spec:
- -procfs - -procfs
- /hostproc - /hostproc
- -kernel-module - -kernel-module
image: 'docker.io/kubeshark/worker:v52.1.0' image: 'docker.io/kubeshark/worker:v52.1.9'
imagePullPolicy: Always imagePullPolicy: Always
name: sniffer name: sniffer
ports: ports:
@@ -407,6 +410,11 @@ spec:
fieldPath: metadata.namespace fieldPath: metadata.namespace
- name: TCP_STREAM_CHANNEL_TIMEOUT_MS - name: TCP_STREAM_CHANNEL_TIMEOUT_MS
value: '10000' value: '10000'
- name: KUBESHARK_CLOUD_API_URL
valueFrom:
configMapKeyRef:
name: kubeshark-config-map
key: KUBESHARK_CLOUD_API_URL
resources: resources:
limits: limits:
cpu: 750m cpu: 750m
@@ -452,7 +460,7 @@ spec:
- ./tracer - ./tracer
- -procfs - -procfs
- /hostproc - /hostproc
image: 'docker.io/kubeshark/worker:v52.1.0' image: 'docker.io/kubeshark/worker:v52.1.9'
imagePullPolicy: Always imagePullPolicy: Always
name: tracer name: tracer
env: env:
@@ -527,10 +535,10 @@ kind: Deployment
metadata: metadata:
labels: labels:
app.kubeshark.co/app: hub app.kubeshark.co/app: hub
helm.sh/chart: kubeshark-52.1.0 helm.sh/chart: kubeshark-52.1.9
app.kubernetes.io/name: kubeshark app.kubernetes.io/name: kubeshark
app.kubernetes.io/instance: kubeshark app.kubernetes.io/instance: kubeshark
app.kubernetes.io/version: "52.1.0" app.kubernetes.io/version: "52.1.9"
app.kubernetes.io/managed-by: Helm app.kubernetes.io/managed-by: Helm
annotations: annotations:
name: kubeshark-hub name: kubeshark-hub
@@ -540,19 +548,19 @@ spec:
selector: selector:
matchLabels: matchLabels:
app.kubeshark.co/app: hub app.kubeshark.co/app: hub
helm.sh/chart: kubeshark-52.1.0 helm.sh/chart: kubeshark-52.1.9
app.kubernetes.io/name: kubeshark app.kubernetes.io/name: kubeshark
app.kubernetes.io/instance: kubeshark app.kubernetes.io/instance: kubeshark
app.kubernetes.io/version: "52.1.0" app.kubernetes.io/version: "52.1.9"
app.kubernetes.io/managed-by: Helm app.kubernetes.io/managed-by: Helm
template: template:
metadata: metadata:
labels: labels:
app.kubeshark.co/app: hub app.kubeshark.co/app: hub
helm.sh/chart: kubeshark-52.1.0 helm.sh/chart: kubeshark-52.1.9
app.kubernetes.io/name: kubeshark app.kubernetes.io/name: kubeshark
app.kubernetes.io/instance: kubeshark app.kubernetes.io/instance: kubeshark
app.kubernetes.io/version: "52.1.0" app.kubernetes.io/version: "52.1.9"
app.kubernetes.io/managed-by: Helm app.kubernetes.io/managed-by: Helm
spec: spec:
dnsPolicy: ClusterFirstWithHostNet dnsPolicy: ClusterFirstWithHostNet
@@ -570,7 +578,12 @@ spec:
valueFrom: valueFrom:
fieldRef: fieldRef:
fieldPath: metadata.namespace fieldPath: metadata.namespace
image: 'docker.io/kubeshark/hub:v52.1.0' - name: KUBESHARK_CLOUD_API_URL
valueFrom:
configMapKeyRef:
name: kubeshark-config-map
key: KUBESHARK_CLOUD_API_URL
image: 'docker.io/kubeshark/hub:v52.1.9'
imagePullPolicy: Always imagePullPolicy: Always
readinessProbe: readinessProbe:
periodSeconds: 1 periodSeconds: 1
@@ -618,10 +631,10 @@ kind: Deployment
metadata: metadata:
labels: labels:
app.kubeshark.co/app: front app.kubeshark.co/app: front
helm.sh/chart: kubeshark-52.1.0 helm.sh/chart: kubeshark-52.1.9
app.kubernetes.io/name: kubeshark app.kubernetes.io/name: kubeshark
app.kubernetes.io/instance: kubeshark app.kubernetes.io/instance: kubeshark
app.kubernetes.io/version: "52.1.0" app.kubernetes.io/version: "52.1.9"
app.kubernetes.io/managed-by: Helm app.kubernetes.io/managed-by: Helm
annotations: annotations:
name: kubeshark-front name: kubeshark-front
@@ -631,19 +644,19 @@ spec:
selector: selector:
matchLabels: matchLabels:
app.kubeshark.co/app: front app.kubeshark.co/app: front
helm.sh/chart: kubeshark-52.1.0 helm.sh/chart: kubeshark-52.1.9
app.kubernetes.io/name: kubeshark app.kubernetes.io/name: kubeshark
app.kubernetes.io/instance: kubeshark app.kubernetes.io/instance: kubeshark
app.kubernetes.io/version: "52.1.0" app.kubernetes.io/version: "52.1.9"
app.kubernetes.io/managed-by: Helm app.kubernetes.io/managed-by: Helm
template: template:
metadata: metadata:
labels: labels:
app.kubeshark.co/app: front app.kubeshark.co/app: front
helm.sh/chart: kubeshark-52.1.0 helm.sh/chart: kubeshark-52.1.9
app.kubernetes.io/name: kubeshark app.kubernetes.io/name: kubeshark
app.kubernetes.io/instance: kubeshark app.kubernetes.io/instance: kubeshark
app.kubernetes.io/version: "52.1.0" app.kubernetes.io/version: "52.1.9"
app.kubernetes.io/managed-by: Helm app.kubernetes.io/managed-by: Helm
spec: spec:
containers: containers:
@@ -658,7 +671,7 @@ spec:
value: ' ' value: ' '
- name: REACT_APP_REPLAY_DISABLED - name: REACT_APP_REPLAY_DISABLED
value: 'false' value: 'false'
image: 'docker.io/kubeshark/front:v52.1.0' image: 'docker.io/kubeshark/front:v52.1.9'
imagePullPolicy: Always imagePullPolicy: Always
name: kubeshark-front name: kubeshark-front
livenessProbe: livenessProbe: