From 661e17ace9b229b5c9257a2446786106e16f4b17 Mon Sep 17 00:00:00 2001 From: "M. Mert Yildiran" Date: Fri, 11 Aug 2023 00:03:37 +0300 Subject: [PATCH] :sparkles: Add `14-module-loader-config-map.yaml` and a Makefile rule that generates it --- Makefile | 5 +++ helm-chart/templates/13-module-loader.yaml | 2 +- .../14-module-loader-config-map.yaml | 42 +++++++++++++++++++ 3 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 helm-chart/templates/14-module-loader-config-map.yaml diff --git a/Makefile b/Makefile index d1f2bfbbe..68db5025d 100644 --- a/Makefile +++ b/Makefile @@ -75,6 +75,11 @@ generate-helm-values: ## Generate the Helm values from config.yaml generate-manifests: ## Generate the manifests from the Helm chart using default configuration helm template kubeshark -n default ./helm-chart > ./manifests/complete.yaml +generate-module-loader-config-map: + kubectl create configmap kubeshark-module-loader-dockerfile --from-file=./module-loader/Dockerfile && \ + kubectl get configmap kubeshark-module-loader-dockerfile -o yaml > ./helm-chart/templates/14-module-loader-config-map.yaml && \ + kubectl delete configmap kubeshark-module-loader-dockerfile + logs-worker: export LOGS_POD_PREFIX=kubeshark-worker- export LOGS_FOLLOW= diff --git a/helm-chart/templates/13-module-loader.yaml b/helm-chart/templates/13-module-loader.yaml index 119b98856..2c0dbd773 100644 --- a/helm-chart/templates/13-module-loader.yaml +++ b/helm-chart/templates/13-module-loader.yaml @@ -14,7 +14,7 @@ spec: containerImage: "kubeshark/module-loader:latest" build: dockerfileConfigMap: - name: my-kmod-dockerfile + name: kubeshark-module-loader-dockerfile sign: certSecret: name: cert-secret diff --git a/helm-chart/templates/14-module-loader-config-map.yaml b/helm-chart/templates/14-module-loader-config-map.yaml new file mode 100644 index 000000000..9efdec45e --- /dev/null +++ b/helm-chart/templates/14-module-loader-config-map.yaml @@ -0,0 +1,42 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: kubeshark-module-loader-dockerfile + namespace: {{ .Release.Namespace }} + labels: + {{- include "kubeshark.labels" . | nindent 4 }} +data: + Dockerfile: | + ### Builder image + ARG TARGETARCH=amd64 + FROM ${TARGETARCH}/debian:bullseye AS builder + + ARG KERNEL_VERSION + + RUN apt-get update + RUN apt-get install -y -q \ + curl \ + build-essential \ + linux-headers-${KERNEL_VERSION} + + WORKDIR /work + RUN curl https://github.com/ntop/PF_RING/archive/refs/tags/8.4.0.tar.gz -Lo ./pfring.tar.xz && \ + tar -xf pfring.tar.xz && \ + mv ./PF_RING-* ./pfring + + WORKDIR /work/pfring/kernel + ENV KERNELRELEASE=${KERNEL_VERSION} + RUN make + + + ### The shipped image + ARG TARGETARCH=amd64 + FROM ${TARGETARCH}/debian:bullseye + + ARG KERNEL_VERSION + + RUN apt-get update && apt-get install -y kmod + + COPY --from=builder /work/pfring/kernel/pf_ring.ko /opt/lib/modules/${KERNEL_VERSION}/ + + RUN depmod -b /opt ${KERNEL_VERSION}