From 07e9150e480d82cb816373cc4885d6959cb1aed9 Mon Sep 17 00:00:00 2001 From: Mike Bryant Date: Thu, 12 Sep 2024 15:40:02 +0100 Subject: [PATCH 1/2] feat(node-analyzer): Allow setting parameters for all probes in DaemonSet --- charts/node-analyzer/Chart.yaml | 2 +- .../templates/daemonset-node-analyzer.yaml | 16 ++++++++-------- charts/node-analyzer/values.yaml | 18 ++++++++++++++++++ 3 files changed, 27 insertions(+), 9 deletions(-) diff --git a/charts/node-analyzer/Chart.yaml b/charts/node-analyzer/Chart.yaml index 5bde78c48..90025148b 100644 --- a/charts/node-analyzer/Chart.yaml +++ b/charts/node-analyzer/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: node-analyzer description: Sysdig Node Analyzer # currently matching Sysdig's appVersion 1.14.34 -version: 1.31.7 +version: 1.32.0 appVersion: 12.9.0 keywords: - monitoring diff --git a/charts/node-analyzer/templates/daemonset-node-analyzer.yaml b/charts/node-analyzer/templates/daemonset-node-analyzer.yaml index fa1d974dd..8e2b130d3 100644 --- a/charts/node-analyzer/templates/daemonset-node-analyzer.yaml +++ b/charts/node-analyzer/templates/daemonset-node-analyzer.yaml @@ -661,14 +661,14 @@ spec: httpGet: port: {{ .Values.nodeAnalyzer.runtimeScanner.probesPort }} path: /probes/liveness - initialDelaySeconds: 90 - periodSeconds: 3 + initialDelaySeconds: {{ .Values.nodeAnalyzer.runtimeScanner.livenessProbe.probe.initialDelaySeconds }} + periodSeconds: {{ .Values.nodeAnalyzer.runtimeScanner.livenessProbe.probe.periodSeconds }} readinessProbe: httpGet: port: {{ .Values.nodeAnalyzer.runtimeScanner.probesPort }} path: /probes/readiness - initialDelaySeconds: 90 - periodSeconds: 3 + initialDelaySeconds: {{ .Values.nodeAnalyzer.runtimeScanner.readinessProbe.probe.initialDelaySeconds }} + periodSeconds: {{ .Values.nodeAnalyzer.runtimeScanner.readinessProbe.probe.periodSeconds }} securityContext: privileged: true resources: @@ -808,14 +808,14 @@ spec: httpGet: port: {{ .Values.nodeAnalyzer.hostScanner.probesPort }} path: /probes/liveness - initialDelaySeconds: 90 - periodSeconds: 3 + initialDelaySeconds: {{ .Values.nodeAnalyzer.hostScanner.livenessProbe.probe.initialDelaySeconds }} + periodSeconds: {{ .Values.nodeAnalyzer.hostScanner.livenessProbe.probe.periodSeconds }} readinessProbe: httpGet: port: {{ .Values.nodeAnalyzer.hostScanner.probesPort }} path: /probes/readiness - initialDelaySeconds: 90 - periodSeconds: 3 + initialDelaySeconds: {{ .Values.nodeAnalyzer.hostScanner.readinessProbe.probe.initialDelaySeconds }} + periodSeconds: {{ .Values.nodeAnalyzer.hostScanner.readinessProbe.probe.periodSeconds }} securityContext: # The privileged flag is necessary for OCP 4.x and other Kubernetes setups that deny host filesystem access to # running containers by default regardless of volume mounts. diff --git a/charts/node-analyzer/values.yaml b/charts/node-analyzer/values.yaml index 09b816e17..0a432c0a0 100644 --- a/charts/node-analyzer/values.yaml +++ b/charts/node-analyzer/values.yaml @@ -339,6 +339,15 @@ nodeAnalyzer: memory: 2Gi ephemeral-storage: "4Gi" + readinessProbe: + probe: + initialDelaySeconds: 90 + periodSeconds: 3 + livenessProbe: + probe: + initialDelaySeconds: 90 + periodSeconds: 3 + env: {} settings: @@ -422,6 +431,15 @@ nodeAnalyzer: memory: 150Mi ephemeral-storage: 250Mi + readinessProbe: + probe: + initialDelaySeconds: 90 + periodSeconds: 3 + livenessProbe: + probe: + initialDelaySeconds: 90 + periodSeconds: 3 + env: {} settings: From 966b71a816c3eaca6da63c4933ed0579e4e9e7ea Mon Sep 17 00:00:00 2001 From: Federico Feresini Date: Fri, 13 Sep 2024 14:30:13 +0200 Subject: [PATCH 2/2] feat(node-analyzer): Add unittest for runtime and host scanner custom probe fields --- .../tests/daemonset_probes_test.yaml | 112 ++++++++++++++++++ charts/sysdig-deploy/Chart.yaml | 4 +- 2 files changed, 114 insertions(+), 2 deletions(-) create mode 100644 charts/node-analyzer/tests/daemonset_probes_test.yaml diff --git a/charts/node-analyzer/tests/daemonset_probes_test.yaml b/charts/node-analyzer/tests/daemonset_probes_test.yaml new file mode 100644 index 000000000..8fbabce73 --- /dev/null +++ b/charts/node-analyzer/tests/daemonset_probes_test.yaml @@ -0,0 +1,112 @@ +suite: Test Daemonset Abc +templates: + - templates/daemonset-node-analyzer.yaml + # For checksums + - templates/runtimeScanner/runtime-scanner-configmap.yaml + - templates/configmap-host-scanner.yaml + - clusterrole-node-analyzer.yaml + - clusterrolebinding-node-analyzer.yaml + - configmap-benchmark-runner.yaml + - configmap-host-analyzer.yaml + - configmap-image-analyzer.yaml + - secrets.yaml + - serviceaccount-node-analyzer.yaml +values: + - ./default_required_values.yaml +tests: + - it: assert default sysdig-runtime-scanner probes + set: + nodeAnalyzer: + runtimeScanner: + deploy: true + asserts: + - equal: + path: spec.template.spec.containers[?(@.name == "sysdig-runtime-scanner")].livenessProbe.initialDelaySeconds + value: 90 + - equal: + path: spec.template.spec.containers[?(@.name == "sysdig-runtime-scanner")].livenessProbe.periodSeconds + value: 3 + - equal: + path: spec.template.spec.containers[?(@.name == "sysdig-runtime-scanner")].readinessProbe.initialDelaySeconds + value: 90 + - equal: + path: spec.template.spec.containers[?(@.name == "sysdig-runtime-scanner")].readinessProbe.periodSeconds + value: 3 + templates: + - templates/daemonset-node-analyzer.yaml + - it: assert custom sysdig-runtime-scanner probess + set: + nodeAnalyzer: + runtimeScanner: + deploy: true + livenessProbe: + probe: + initialDelaySeconds: 10 + periodSeconds: 5 + readinessProbe: + probe: + initialDelaySeconds: 15 + periodSeconds: 10 + asserts: + - equal: + path: spec.template.spec.containers[?(@.name == "sysdig-runtime-scanner")].livenessProbe.initialDelaySeconds + value: 10 + - equal: + path: spec.template.spec.containers[?(@.name == "sysdig-runtime-scanner")].livenessProbe.periodSeconds + value: 5 + - equal: + path: spec.template.spec.containers[?(@.name == "sysdig-runtime-scanner")].readinessProbe.initialDelaySeconds + value: 15 + - equal: + path: spec.template.spec.containers[?(@.name == "sysdig-runtime-scanner")].readinessProbe.periodSeconds + value: 10 + templates: + - templates/daemonset-node-analyzer.yaml + - it: assert default sysdig-host-scanner probes + set: + nodeAnalyzer: + hostScanner: + deploy: true + asserts: + - equal: + path: spec.template.spec.containers[?(@.name == "sysdig-host-scanner")].livenessProbe.initialDelaySeconds + value: 90 + - equal: + path: spec.template.spec.containers[?(@.name == "sysdig-host-scanner")].livenessProbe.periodSeconds + value: 3 + - equal: + path: spec.template.spec.containers[?(@.name == "sysdig-host-scanner")].readinessProbe.initialDelaySeconds + value: 90 + - equal: + path: spec.template.spec.containers[?(@.name == "sysdig-host-scanner")].readinessProbe.periodSeconds + value: 3 + templates: + - templates/daemonset-node-analyzer.yaml + - it: assert custom sysdig-host-scanner probess + set: + nodeAnalyzer: + hostScanner: + deploy: true + livenessProbe: + probe: + initialDelaySeconds: 10 + periodSeconds: 5 + readinessProbe: + probe: + initialDelaySeconds: 15 + periodSeconds: 10 + asserts: + - equal: + path: spec.template.spec.containers[?(@.name == "sysdig-host-scanner")].livenessProbe.initialDelaySeconds + value: 10 + - equal: + path: spec.template.spec.containers[?(@.name == "sysdig-host-scanner")].livenessProbe.periodSeconds + value: 5 + - equal: + path: spec.template.spec.containers[?(@.name == "sysdig-host-scanner")].readinessProbe.initialDelaySeconds + value: 15 + - equal: + path: spec.template.spec.containers[?(@.name == "sysdig-host-scanner")].readinessProbe.periodSeconds + value: 10 + templates: + - templates/daemonset-node-analyzer.yaml diff --git a/charts/sysdig-deploy/Chart.yaml b/charts/sysdig-deploy/Chart.yaml index 9fe6f80d1..a8fab3b32 100644 --- a/charts/sysdig-deploy/Chart.yaml +++ b/charts/sysdig-deploy/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: sysdig-deploy description: A chart with various Sysdig components for Kubernetes type: application -version: 1.64.10 +version: 1.65.0 maintainers: - name: AlbertoBarba email: alberto.barba@sysdig.com @@ -36,7 +36,7 @@ dependencies: - name: node-analyzer # repository: https://charts.sysdig.com repository: file://../node-analyzer - version: ~1.31.7 + version: ~1.32.0 alias: nodeAnalyzer condition: nodeAnalyzer.enabled - name: cluster-scanner