Repository: hushsecurity/helm-charts
Pull request #45: HUSH-1031 Install Vermon
Author: login: moshe-hush
Created: 2025-03-25T18:49:56Z | Merged: 2025-03-31T11:45:59Z

- **HUSH-1031 hush-sensor: coding: whitespace**
- **HUSH-1031 hush-sensor: install Vermon**



Diff:
diff --git a/charts/hush-sensor/templates/_helpers.tpl b/charts/hush-sensor/templates/_helpers.tpl
index a45199c..927dcda 100644
--- a/charts/hush-sensor/templates/_helpers.tpl
+++ b/charts/hush-sensor/templates/_helpers.tpl
@@ -38,6 +38,13 @@ Create a default fully qualified app name for Sentry.
 {{- printf "%s-sentry" (include "hush-sensor.fullName" .) | trunc 63 }}
 {{- end }}
 
+{{/*
+Create a default fully qualified app name for Vermon.
+*/}}
+{{- define "hush-sensor.vermonFullName" -}}
+{{- printf "%s-vermon" (include "hush-sensor.fullName" .) | trunc 63 }}
+{{- end }}
+
 {{/*
 Create chart name and version as used by the chart label.
 */}}
@@ -156,12 +163,15 @@ Hush deployment info
 {{- $eventsUri := printf "%s/runtime-events" $baseUri -}}
 {{- $logsUri := printf "%s/runtime-logs" $baseUri -}}
 {{- $logsConfigUri := printf "%s/runtime-logs-config" $baseUri -}}
+{{- $registry := (include "hush-sensor.imageRegistry" .) -}}
+{{- $channelDigestsUri := printf "%s/runtime-versions?registry=%s" $baseUri $registry -}}
 {{- $result := dict
     "orgId" $parts._3
     "deploymentId" $parts._4
     "eventReportingUri" $eventsUri
     "logReportingUri" $logsUri
     "logConfigUri" $logsConfigUri
+    "channelDigestsUri" $channelDigestsUri
 -}}
 {{- $result | toYaml -}}
 {{- end }}
@@ -347,8 +357,8 @@ Vector image path
 -}}
 {{- include "hush-sensor.buildImagePath" $ctx -}}
 {{- end }}
-{{/*
 
+{{/*
 Sentry image path
 */}}
 {{- define "hush-sensor.sentryImagePath" -}}
@@ -360,6 +370,18 @@ Sentry image path
 {{- include "hush-sensor.buildImagePath" $ctx -}}
 {{- end }}
 
+{{/*
+Vermon image path
+*/}}
+{{- define "hush-sensor.vermonImagePath" -}}
+{{- $ctx := dict
+    "registry" (include "hush-sensor.imageRegistry" .)
+    "repository" .Values.image.vermonRepository
+    "tag" .Values.image.sensorTag
+-}}
+{{- include "hush-sensor.buildImagePath" $ctx -}}
+{{- end }}
+
 {{/*
 b64dec with error check
 */}}
diff --git a/charts/hush-sensor/templates/sensorconfigmap.yaml b/charts/hush-sensor/templates/sensorconfigmap.yaml
index ce1f9fc..e77d68c 100644
--- a/charts/hush-sensor/templates/sensorconfigmap.yaml
+++ b/charts/hush-sensor/templates/sensorconfigmap.yaml
@@ -21,5 +21,6 @@ data:
   event_reporting_uri: {{ $di.eventReportingUri | quote }}
   log_reporting_uri: {{ $di.logReportingUri | quote }}
   log_config_uri: {{ $di.logConfigUri | quote }}
+  channel_digests_uri: {{ $di.channelDigestsUri | quote }}
   org_id: {{ $di.orgId | quote }}
   deployment_id: {{ $di.deploymentId | quote }}
diff --git a/charts/hush-sensor/templates/vermondeployment.yaml b/charts/hush-sensor/templates/vermondeployment.yaml
new file mode 100644
index 0000000..5c8b652
--- /dev/null
+++ b/charts/hush-sensor/templates/vermondeployment.yaml
@@ -0,0 +1,147 @@
+{{- if .Values.vermon.enabled -}}
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: {{ include "hush-sensor.vermonFullName" . }}
+  labels: {{- include "hush-sensor.labels" . | nindent 4 }}
+  namespace: {{ include "hush-sensor.namespace" . }}
+
+spec:
+  selector:
+    matchLabels: {{- include "hush-sensor.selectorLabels" . | nindent 6 }}
+  {{- with .Values.vermon.strategy }}
+  strategy: {{- toYaml . | nindent 4 }}
+  {{- end }}
+
+  template:
+    metadata:
+      labels: {{- include "hush-sensor.labels" . | nindent 8 }}
+      {{ with .Values.vermon.annotations -}}
+      annotations: {{- . | nindent 8 }}
+      {{- end }}
+
+    spec:
+      {{- with .Values.vermon.priorityClassName }}
+      priorityClassName: {{ . }}
+      {{- end }}
+      {{- with .Values.vermon.nodeSelector }}
+      nodeSelector: {{- toYaml . | nindent 8 }}
+      {{- end }}
+      {{- with .Values.vermon.tolerations }}
+      tolerations: {{- toYaml . | nindent 8 }}
+      {{- end }}
+      {{- with .Values.vermon.affinity }}
+      affinity: {{- toYaml . | nindent 8 }}
+      {{- end }}
+      dnsPolicy: ClusterFirstWithHostNet
+      restartPolicy: Always
+      {{- with (include "hush-sensor.imagePullSecretEffectiveList" .) }}
+      imagePullSecrets: {{- . | nindent 8 }}
+      {{- end }}
+      terminationGracePeriodSeconds: {{ .Values.vermon.terminationGracePeriodSeconds }}
+      serviceAccountName: {{ include "hush-sensor.vermonFullName" . }}
+      volumes:
+        - name: vector-socket
+          emptyDir:
+            sizeLimit: 1Mi
+        - name: sensor-config
+          configMap:
+            name: {{ include "hush-sensor.sensorConfigMapName" . }}
+            items:
+              - key: sensor_config
+                path: config.yaml
+        - name: host-dir
+          hostPath:
+            path: {{ .Values.hostDir }}
+            type: DirectoryOrCreate
+        {{- with and .Values.vermon .Values.vermon.extraVolumes -}}
+          {{- toYaml . | nindent 8 }}
+        {{- end }}
+      containers:
+        - name: hush-vermon
+          image: {{ include "hush-sensor.vermonImagePath" . }}
+          imagePullPolicy: {{ .Values.image.pullPolicy }}
+          volumeMounts:
+            - name: vector-socket
+              mountPath: /tmp/vector
+            - name: sensor-config
+              mountPath: /opt/lassie/config/
+              readOnly: true
+            - name: host-dir
+              mountPath: /var/lib/hush-security
+            {{- with and .Values.vermon .Values.vermon.vermonExtraVolumeMounts -}}
+              {{- toYaml . | nindent 12 }}
+            {{- end }}
+          env:
+            - name: SELF_K8S_NAMESPACE
+              valueFrom:
+                fieldRef:
+                  fieldPath: metadata.namespace
+            - name: SELF_K8S_NAME
+              valueFrom:
+                fieldRef:
+                  fieldPath: metadata.name
+            - name: LOG_CONFIG_ENDPOINT
+              valueFrom:
+                configMapKeyRef:
+                  name: {{ include "hush-sensor.sensorConfigMapName" . }}
+                  key: log_config_uri
+            - name: CHANNEL_DIGESTS_ENDPOINT
+              valueFrom:
+                configMapKeyRef:
+                  name: {{ include "hush-sensor.sensorConfigMapName" . }}
+                  key: channel_digests_uri
+            - name: CHANNEL_DIGESTS_PERIOD
+              value: {{ .Values.vermon.updateFrequency }}
+            - name: EVENT_REPORTING_ORG_ID
+              valueFrom:
+                configMapKeyRef:
+                  name: {{ include "hush-sensor.sensorConfigMapName" . }}
+                  key: org_id
+            - name: EVENT_REPORTING_DEPLOYMENT_ID
+              valueFrom:
+                configMapKeyRef:
+                  name: {{ include "hush-sensor.sensorConfigMapName" . }}
+                  key: deployment_id
+            {{- with (include "hush-sensor.effectiveDeploymentPasswordSecretRef" . | fromYaml) }}
+            - name: EVENT_REPORTING_TOKEN
+              valueFrom:
+                secretKeyRef:
+                  name: {{ .name }}
+                  key: {{ .key }}
+            {{- end }}
+        - name: hush-vermon-vector
+          image: {{ include "hush-sensor.sensorVectorImagePath" . }}
+          imagePullPolicy: {{ .Values.image.pullPolicy }}
+          volumeMounts:
+            - name: vector-socket
+              mountPath: /tmp/vector
+          env:
+            - name: EVENT_REPORTING_ENDPOINT
+              valueFrom:
+                configMapKeyRef:
+                  name: {{ include "hush-sensor.sensorConfigMapName" . }}
+                  key: event_reporting_uri
+            - name: LOG_REPORTING_ENDPOINT
+              valueFrom:
+                configMapKeyRef:
+                  name: {{ include "hush-sensor.sensorConfigMapName" . }}
+                  key: log_reporting_uri
+            - name: EVENT_REPORTING_ORG_ID
+              valueFrom:
+                configMapKeyRef:
+                  name: {{ include "hush-sensor.sensorConfigMapName" . }}
+                  key: org_id
+            - name: EVENT_REPORTING_DEPLOYMENT_ID
+              valueFrom:
+                configMapKeyRef:
+                  name: {{ include "hush-sensor.sensorConfigMapName" . }}
+                  key: deployment_id
+            {{- with (include "hush-sensor.effectiveDeploymentPasswordSecretRef" . | fromYaml) }}
+            - name: EVENT_REPORTING_TOKEN
+              valueFrom:
+                secretKeyRef:
+                  name: {{ .name }}
+                  key: {{ .key }}
+            {{- end }}
+{{- end -}}
diff --git a/charts/hush-sensor/templates/vermonrole.yaml b/charts/hush-sensor/templates/vermonrole.yaml
new file mode 100644
index 0000000..8262c69
--- /dev/null
+++ b/charts/hush-sensor/templates/vermonrole.yaml
@@ -0,0 +1,17 @@
+{{- if .Values.vermon.enabled -}}
+apiVersion: rbac.authorization.k8s.io/v1
+kind: Role
+metadata:
+  name: {{ include "hush-sensor.vermonFullName" . }}
+  labels: {{- include "hush-sensor.labels" . | nindent 4 }}
+rules:
+  - apiGroups: [""]
+    resources: ["pods"]
+    verbs: ["list"]
+  - apiGroups: ["apps"]
+    resources: ["replicasets"]
+    verbs: ["get"]
+  - apiGroups: ["apps"]
+    resources: ["daemonsets", "deployments"]
+    verbs: ["patch"]
+{{- end -}}
diff --git a/charts/hush-sensor/templates/vermonrolebinding.yaml b/charts/hush-sensor/templates/vermonrolebinding.yaml
new file mode 100644
index 0000000..cda5a26
--- /dev/null
+++ b/charts/hush-sensor/templates/vermonrolebinding.yaml
@@ -0,0 +1,15 @@
+{{- if .Values.vermon.enabled -}}
+apiVersion: rbac.authorization.k8s.io/v1
+kind: RoleBinding
+metadata:
+  name: {{ include "hush-sensor.vermonFullName" . }}
+  labels: {{- include "hush-sensor.labels" . | nindent 4 }}
+subjects:
+- kind: ServiceAccount
+  name: {{ include "hush-sensor.vermonFullName" . }}
+  namespace: {{ include "hush-sensor.namespace" . }}
+roleRef:
+  kind: Role
+  name: {{ include "hush-sensor.vermonFullName" . }}
+  apiGroup: rbac.authorization.k8s.io
+{{- end -}}
diff --git a/charts/hush-sensor/templates/vermonserviceaccount.yaml b/charts/hush-sensor/templates/vermonserviceaccount.yaml
new file mode 100644
index 0000000..0fd8e1d
--- /dev/null
+++ b/charts/hush-sensor/templates/vermonserviceaccount.yaml
@@ -0,0 +1,8 @@
+{{- if .Values.vermon.enabled -}}
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+  name: {{ include "hush-sensor.vermonFullName" . }}
+  labels: {{- include "hush-sensor.labels" . | nindent 4 }}
+  namespace: {{ include "hush-sensor.namespace" . }}
+{{- end -}}
diff --git a/charts/hush-sensor/values.yaml b/charts/hush-sensor/values.yaml
index b774d8c..2ef1bdc 100644
--- a/charts/hush-sensor/values.yaml
+++ b/charts/hush-sensor/values.yaml
@@ -100,6 +100,9 @@ image:
   # The repository used for sentry
   sentryRepository: sentry
 
+  # The repository used for vermon
+  vermonRepository: vermon
+
 daemonSet:
   # Custom priority class
   priorityClassName: ""
@@ -214,3 +217,61 @@ sentry:
 
   # An additional set of mounts for sentry
   sentryExtraVolumeMounts: []
+
+vermon:
+  # Hush Security Vermon keeps hush sensor channel images up to date.
+  # Hush Sensor containers must be deployed with image pull policy "Always"
+  # for this feature to perform as expected.
+  #    true  = Deploy the Vermon pod as part of the Sensor installation
+  #    false = Do not deploy the Vermon pod
+  enabled: true
+
+  # How often to check for channel updates, in go time.Duration format
+  # Minimum 4 hours, maximum 360 hours (15 days)
+  updateFrequency: "8h"
+
+  # Custom priority class
+  priorityClassName: ""
+
+  # Custom node selector
+  nodeSelector: {}
+
+  # Additional annotations.
+  # For more information see
+  # https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
+  annotations: {}
+
+  # Termination grace period
+  terminationGracePeriodSeconds: 30
+
+  # An update strategy
+  strategy:
+    type: RollingUpdate
+
+  # Node affinity.
+  # Choose the node types by OS and Arch.
+  affinity:
+    nodeAffinity:
+      requiredDuringSchedulingIgnoredDuringExecution:
+        nodeSelectorTerms:
+          - matchExpressions:
+            - key: kubernetes.io/os
+              operator: In
+              values:
+                - linux
+            - key: kubernetes.io/arch
+              operator: In
+              values:
+                - amd64
+                - arm64
+
+  # A list of tolerations.
+  # For more information see
+  # https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/
+  tolerations: []
+
+  # An additional set of volumes
+  extraVolumes: []
+
+  # An additional set of mounts for vermon
+  vermonExtraVolumeMounts: []


Reviews:
user: login: r-bk
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-03-26T07:01:45Z
user: login: horomena
state: APPROVED
author_association: NONE
submitted_at: 2025-03-26T11:05:57Z
user: login: moshe-hush
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-26T13:06:05Z
user: login: horomena
state: APPROVED
author_association: NONE
submitted_at: 2025-03-26T13:16:40Z
user: login: r-bk
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-03-27T07:01:47Z
user: login: r-bk
body: IMO we should use full registry name and not be tied to Azure.
state: COMMENTED
author_association: COLLABORATOR
submitted_at: 2025-03-27T07:03:15Z
user: login: moshe-hush
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-27T13:50:38Z
user: login: horomena
state: APPROVED
author_association: NONE
submitted_at: 2025-03-27T14:26:33Z
user: login: r-bk
state: APPROVED
author_association: COLLABORATOR
submitted_at: 2025-03-30T04:55:18Z
user: login: moshe-hush
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-30T14:07:52Z
user: login: horomena
state: APPROVED
author_association: NONE
submitted_at: 2025-03-30T15:14:56Z
user: login: r-bk
state: APPROVED
author_association: COLLABORATOR
submitted_at: 2025-03-31T04:31:42Z

Review comments:
diff_hunk: @@ -156,12 +163,15 @@ Hush deployment info
 {{- $eventsUri := printf "%s/runtime-events" $baseUri -}}
 {{- $logsUri := printf "%s/runtime-logs" $baseUri -}}
 {{- $logsConfigUri := printf "%s/runtime-logs-config" $baseUri -}}
+{{- $registryParts := split "." (include "hush-sensor.imageRegistry" .) -}}
path: charts/hush-sensor/templates/_helpers.tpl
user: login: r-bk
body: Why the registry needs to be parsed?

Also, in commit message `periodically check` probably should be `periodically checks` .
created_at: 2025-03-26T06:54:31Z
author_association: COLLABORATOR
diff_hunk: @@ -156,12 +163,15 @@ Hush deployment info
 {{- $eventsUri := printf "%s/runtime-events" $baseUri -}}
 {{- $logsUri := printf "%s/runtime-logs" $baseUri -}}
 {{- $logsConfigUri := printf "%s/runtime-logs-config" $baseUri -}}
+{{- $registryParts := split "." (include "hush-sensor.imageRegistry" .) -}}
path: charts/hush-sensor/templates/_helpers.tpl
user: login: moshe-hush
body: The registry in values.yaml is a FQDN, i.e. `hushsecurity.azurecr.io` while the query param expects `hushsecurity` or `hushdev` only.

Will fix the commit message.
created_at: 2025-03-26T13:06:04Z
author_association: CONTRIBUTOR
diff_hunk: @@ -156,12 +163,15 @@ Hush deployment info
 {{- $eventsUri := printf "%s/runtime-events" $baseUri -}}
 {{- $logsUri := printf "%s/runtime-logs" $baseUri -}}
 {{- $logsConfigUri := printf "%s/runtime-logs-config" $baseUri -}}
+{{- $registryParts := split "." (include "hush-sensor.imageRegistry" .) -}}
path: charts/hush-sensor/templates/_helpers.tpl
user: login: r-bk
body: Better use the full registry name.
You don't want to play with this if we change our public CR to something other than Azure.
created_at: 2025-03-27T07:01:47Z
author_association: COLLABORATOR
diff_hunk: @@ -156,12 +163,15 @@ Hush deployment info
 {{- $eventsUri := printf "%s/runtime-events" $baseUri -}}
 {{- $logsUri := printf "%s/runtime-logs" $baseUri -}}
 {{- $logsConfigUri := printf "%s/runtime-logs-config" $baseUri -}}
+{{- $registryParts := split "." (include "hush-sensor.imageRegistry" .) -}}
path: charts/hush-sensor/templates/_helpers.tpl
user: login: moshe-hush
body: Fixed.
created_at: 2025-03-27T13:50:38Z
author_association: CONTRIBUTOR
diff_hunk: @@ -214,3 +217,59 @@ sentry:
 
   # An additional set of mounts for sentry
   sentryExtraVolumeMounts: []
+
+vermon:
+  # Hush Security Vermon keeps hush sensor channel images up to date
+  #    true  = Deploy the Vermon pod as part of the Sensor installation
+  #    false = Do not deploy the Vermon pod
path: charts/hush-sensor/values.yaml
user: login: r-bk
body: Maybe mention that `Always` pull policy must be present on containers, otherwise nothing is updated.
created_at: 2025-03-30T04:55:08Z
author_association: COLLABORATOR
diff_hunk: @@ -214,3 +217,59 @@ sentry:
 
   # An additional set of mounts for sentry
   sentryExtraVolumeMounts: []
+
+vermon:
+  # Hush Security Vermon keeps hush sensor channel images up to date
+  #    true  = Deploy the Vermon pod as part of the Sensor installation
+  #    false = Do not deploy the Vermon pod
path: charts/hush-sensor/values.yaml
user: login: moshe-hush
body: Added in revision 4.
created_at: 2025-03-30T14:07:52Z
author_association: CONTRIBUTOR

PR comments:
user: login: moshe-hush
created_at: 2025-03-25T18:50:05Z
body: Revision 1
---
**Compare**
- [0..1](https://github.com/hushsecurity/helm-charts/compare/47fe3a0fe80b51a1b0ac7678afd132c8b8332f3a..e678a09bebb347b649be440a295b8c748e6e12b8)

**CC** @r-bk @sladkani @horomena @danaHush


[//]: # (gh-pr-revision:{"number":1,"hash":"e678a09bebb347b649be440a295b8c748e6e12b8","baseHash":"47fe3a0fe80b51a1b0ac7678afd132c8b8332f3a","user_reviewers":["r-bk","sladkani","horomena","danaHush"]})
author_association: CONTRIBUTOR
user: login: moshe-hush
created_at: 2025-03-26T13:10:18Z
body: Revision 2
---


[//]: # (gh-pr-revision-body-start)

Fixed commit message

[//]: # (gh-pr-revision-body-end)

**Compare**
- [1..2](https://github.com/hushsecurity/helm-charts/compare/e678a09bebb347b649be440a295b8c748e6e12b8..506e5b083cf86f308bdf30f8f2e85da5bb317b9a)
- [0..1](https://github.com/hushsecurity/helm-charts/compare/47fe3a0fe80b51a1b0ac7678afd132c8b8332f3a..e678a09bebb347b649be440a295b8c748e6e12b8), [0..2](https://github.com/hushsecurity/helm-charts/compare/47fe3a0fe80b51a1b0ac7678afd132c8b8332f3a..506e5b083cf86f308bdf30f8f2e85da5bb317b9a)

**CC** @r-bk @sladkani @horomena @danaHush


[//]: # (gh-pr-revision:{"number":2,"hash":"506e5b083cf86f308bdf30f8f2e85da5bb317b9a","baseHash":"47fe3a0fe80b51a1b0ac7678afd132c8b8332f3a","user_reviewers":["r-bk","sladkani","horomena","danaHush"]})
author_association: CONTRIBUTOR
user: login: moshe-hush
created_at: 2025-03-27T13:51:42Z
body: Revision 3
---
**Compare**
- [2..3](https://github.com/hushsecurity/helm-charts/compare/506e5b083cf86f308bdf30f8f2e85da5bb317b9a..8e8b6519dd16a5cf30ab4213f6dd3386e6e01bfc)
- [1..2](https://github.com/hushsecurity/helm-charts/compare/e678a09bebb347b649be440a295b8c748e6e12b8..506e5b083cf86f308bdf30f8f2e85da5bb317b9a), [1..3](https://github.com/hushsecurity/helm-charts/compare/e678a09bebb347b649be440a295b8c748e6e12b8..8e8b6519dd16a5cf30ab4213f6dd3386e6e01bfc)
- [0..1](https://github.com/hushsecurity/helm-charts/compare/47fe3a0fe80b51a1b0ac7678afd132c8b8332f3a..e678a09bebb347b649be440a295b8c748e6e12b8), [0..3](https://github.com/hushsecurity/helm-charts/compare/47fe3a0fe80b51a1b0ac7678afd132c8b8332f3a..8e8b6519dd16a5cf30ab4213f6dd3386e6e01bfc)

**CC** @r-bk @sladkani @horomena @danaHush


[//]: # (gh-pr-revision:{"number":3,"hash":"8e8b6519dd16a5cf30ab4213f6dd3386e6e01bfc","baseHash":"47fe3a0fe80b51a1b0ac7678afd132c8b8332f3a","user_reviewers":["r-bk","sladkani","horomena","danaHush"]})
author_association: CONTRIBUTOR
user: login: moshe-hush
created_at: 2025-03-30T14:07:13Z
body: Revision 4
---


[//]: # (gh-pr-revision-body-start)

Added verbiage regarding image pull policy requirements

[//]: # (gh-pr-revision-body-end)

**Compare**
- [3..4](https://github.com/hushsecurity/helm-charts/compare/8e8b6519dd16a5cf30ab4213f6dd3386e6e01bfc..4f96073a5788e5b2b987fd618dbb9a0bf79dc4ca)
- [2..3](https://github.com/hushsecurity/helm-charts/compare/506e5b083cf86f308bdf30f8f2e85da5bb317b9a..8e8b6519dd16a5cf30ab4213f6dd3386e6e01bfc), [2..4](https://github.com/hushsecurity/helm-charts/compare/506e5b083cf86f308bdf30f8f2e85da5bb317b9a..4f96073a5788e5b2b987fd618dbb9a0bf79dc4ca)
- [1..2](https://github.com/hushsecurity/helm-charts/compare/e678a09bebb347b649be440a295b8c748e6e12b8..506e5b083cf86f308bdf30f8f2e85da5bb317b9a), [1..4](https://github.com/hushsecurity/helm-charts/compare/e678a09bebb347b649be440a295b8c748e6e12b8..4f96073a5788e5b2b987fd618dbb9a0bf79dc4ca)
- [0..1](https://github.com/hushsecurity/helm-charts/compare/47fe3a0fe80b51a1b0ac7678afd132c8b8332f3a..e678a09bebb347b649be440a295b8c748e6e12b8), [0..4](https://github.com/hushsecurity/helm-charts/compare/47fe3a0fe80b51a1b0ac7678afd132c8b8332f3a..4f96073a5788e5b2b987fd618dbb9a0bf79dc4ca)

**CC** @r-bk @sladkani @horomena @danaHush


[//]: # (gh-pr-revision:{"number":4,"hash":"4f96073a5788e5b2b987fd618dbb9a0bf79dc4ca","baseHash":"47fe3a0fe80b51a1b0ac7678afd132c8b8332f3a","user_reviewers":["r-bk","sladkani","horomena","danaHush"]})
author_association: CONTRIBUTOR