diff --git a/charts/README.md b/charts/README.md index 6a6a7cd..0c82f7b 100644 --- a/charts/README.md +++ b/charts/README.md @@ -50,7 +50,8 @@ helm install hyperfleet-sentinel oci://REGISTRY/hyperfleet-sentinel \ | nodeSelector | object | `{}` | Node selector constraints for pod scheduling | | tolerations | list | `[]` | Tolerations for pod scheduling | | affinity | object | `{}` | Affinity rules for pod scheduling | -| podDisruptionBudget | object | `{"enabled":true,"maxUnavailable":1}` | PodDisruptionBudget configuration | +| extraVolumes | list | `[]` | | +| extraVolumeMounts | list | `[]` | | | podDisruptionBudget.enabled | bool | `true` | Enable the PDB | | podDisruptionBudget.maxUnavailable | int | `1` | Maximum number of pods that can be unavailable during disruption | | config | object | `{"clients":{"hyperfleetApi":{"baseUrl":"http://hyperfleet-api:8000","timeout":"10s","version":"v1"}},"debugConfig":false,"log":{"format":"json","level":"info","output":"stdout"},"messageData":{"generation":"resource.generation","href":"resource.href","id":"resource.id","kind":"resource.kind"},"messageDecision":{"params":[{"expr":"condition(\"Reconciled\").last_updated_time","name":"ref_time"},{"expr":"condition(\"Reconciled\").status == \"True\"","name":"is_reconciled"},{"expr":"ref_time != \"\"","name":"has_ref_time"},{"expr":"!is_reconciled && resource.generation == 1","name":"is_new_resource"},{"expr":"resource.generation > condition(\"Reconciled\").observed_generation","name":"generation_mismatch"},{"expr":"is_reconciled && has_ref_time && now - timestamp(ref_time) > duration(\"30m\")","name":"reconciled_and_stale"},{"expr":"!is_reconciled && has_ref_time && now - timestamp(ref_time) > duration(\"10s\")","name":"not_reconciled_and_debounced"}],"result":"is_new_resource || generation_mismatch || reconciled_and_stale || not_reconciled_and_debounced"},"pollInterval":"5s","resourceSelector":[{"label":"shard","value":"1"}],"resourceType":"clusters","sentinel":{"name":"hyperfleet-sentinel-{{ .Values.config.resourceType }}"}}` | Sentinel application configuration. All settings in this section generate the ConfigMap consumed by the sentinel. | diff --git a/charts/templates/deployment.yaml b/charts/templates/deployment.yaml index 133b185..f36f6e7 100644 --- a/charts/templates/deployment.yaml +++ b/charts/templates/deployment.yaml @@ -108,6 +108,9 @@ spec: mountPath: /etc/hyperfleet/broker.yaml subPath: broker.yaml readOnly: true + {{- with .Values.extraVolumeMounts }} + {{- toYaml . | nindent 10 }} + {{- end }} resources: {{- toYaml .Values.resources | nindent 12 }} volumes: @@ -117,6 +120,9 @@ spec: - name: broker-config configMap: name: {{ include "sentinel.fullname" . }}-broker-config + {{- with .Values.extraVolumes }} + {{- toYaml . | nindent 8 }} + {{- end }} {{- with .Values.nodeSelector }} nodeSelector: {{- toYaml . | nindent 8 }} diff --git a/charts/values.yaml b/charts/values.yaml index 476548d..40f1328 100644 --- a/charts/values.yaml +++ b/charts/values.yaml @@ -76,7 +76,18 @@ tolerations: [] # -- Affinity rules for pod scheduling affinity: {} -# -- PodDisruptionBudget configuration +# Extra volumes to add to the pod +extraVolumes: [] +# - name: example-volume +# emptyDir: {} + +# Extra volume mounts to add to the container +extraVolumeMounts: [] +# - name: example-volume +# mountPath: /example + +# PodDisruptionBudget configuration +# See: https://kubernetes.io/docs/tasks/run-application/configure-pdb/#specifying-a-poddisruptionbudget podDisruptionBudget: # -- Enable the PDB enabled: true