From 2827ca9d6428806fab736d383532ce37953c35f8 Mon Sep 17 00:00:00 2001 From: Jose Donizetti Date: Sat, 21 Oct 2023 21:42:46 -0300 Subject: [PATCH] fix: minikube/kind enrichment --- deploy/helm/tracee/templates/daemonset.yaml | 4 ++++ deploy/kubernetes/tracee/tracee.yaml | 4 ++++ pkg/containers/containers.go | 4 +++- pkg/k8s/k8s.go | 14 ++++++++++++++ 4 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 pkg/k8s/k8s.go diff --git a/deploy/helm/tracee/templates/daemonset.yaml b/deploy/helm/tracee/templates/daemonset.yaml index 7c98b5eb444d..97bed820566b 100644 --- a/deploy/helm/tracee/templates/daemonset.yaml +++ b/deploy/helm/tracee/templates/daemonset.yaml @@ -43,6 +43,10 @@ spec: env: - name: LIBBPFGO_OSRELEASE_FILE value: /etc/os-release-host + - name: NODE_NAME + valueFrom: + fieldRef: + fieldPath: spec.nodeName securityContext: {{- toYaml .Values.securityContext | nindent 12 }} {{- if .Values.config.healthz }} diff --git a/deploy/kubernetes/tracee/tracee.yaml b/deploy/kubernetes/tracee/tracee.yaml index a41ec91c266c..a668da0e7a57 100644 --- a/deploy/kubernetes/tracee/tracee.yaml +++ b/deploy/kubernetes/tracee/tracee.yaml @@ -108,6 +108,10 @@ spec: env: - name: LIBBPFGO_OSRELEASE_FILE value: /etc/os-release-host + - name: NODE_NAME + valueFrom: + fieldRef: + fieldPath: spec.nodeName readinessProbe: httpGet: path: /healthz diff --git a/pkg/containers/containers.go b/pkg/containers/containers.go index 0c268430d2e7..e4f8b67a61f0 100644 --- a/pkg/containers/containers.go +++ b/pkg/containers/containers.go @@ -20,6 +20,7 @@ import ( "github.com/aquasecurity/tracee/pkg/cgroup" cruntime "github.com/aquasecurity/tracee/pkg/containers/runtime" "github.com/aquasecurity/tracee/pkg/errfmt" + "github.com/aquasecurity/tracee/pkg/k8s" "github.com/aquasecurity/tracee/pkg/logger" ) @@ -210,7 +211,8 @@ func (c *Containers) EnrichCgroupInfo(cgroupId uint64) (cruntime.ContainerMetada return metadata, errfmt.Errorf("no containerId") } - if info.Dead { + isMikubeOrKind := k8s.IsMinkube() || k8s.IsKind() + if info.Dead && !isMikubeOrKind { return metadata, errfmt.Errorf("container already deleted") } diff --git a/pkg/k8s/k8s.go b/pkg/k8s/k8s.go new file mode 100644 index 000000000000..4a335bdd23d7 --- /dev/null +++ b/pkg/k8s/k8s.go @@ -0,0 +1,14 @@ +package k8s + +import ( + "os" + "strings" +) + +func IsMinkube() bool { + return strings.HasPrefix(os.Getenv("NODE_NAME"), "minikube") +} + +func IsKind() bool { + return strings.HasPrefix(os.Getenv("NODE_NAME"), "kind") +}