diff --git a/bitnami/argo-cd/Chart.yaml b/bitnami/argo-cd/Chart.yaml index 8f876412d7..87fb2214e7 100644 --- a/bitnami/argo-cd/Chart.yaml +++ b/bitnami/argo-cd/Chart.yaml @@ -39,4 +39,4 @@ maintainers: name: argo-cd sources: - https://github.com/bitnami/charts/tree/main/bitnami/argo-cd -version: 5.2.12 +version: 5.3.0 \ No newline at end of file diff --git a/bitnami/argo-cd/README.md b/bitnami/argo-cd/README.md index b3729d02aa..7fa6cf7018 100644 --- a/bitnami/argo-cd/README.md +++ b/bitnami/argo-cd/README.md @@ -384,6 +384,27 @@ The command removes all the Kubernetes components associated with the chart and | `notifications.extraEnvVars` | Array with extra environment variables to add to Argo CD notifications controller nodes | `[]` | | `notifications.extraEnvVarsCM` | Name of existing ConfigMap containing extra env vars for Argo CD notifications controller nodes | `""` | | `notifications.extraEnvVarsSecret` | Name of existing Secret containing extra env vars for Argo CD notifications controller nodes | `""` | +| `notifications.startupProbe.enabled` | Enable startupProbe on Notification nodes | `false` | +| `notifications.startupProbe.initialDelaySeconds` | Initial delay seconds for startupProbe | `10` | +| `notifications.startupProbe.periodSeconds` | Period seconds for startupProbe | `10` | +| `notifications.startupProbe.timeoutSeconds` | Timeout seconds for startupProbe | `1` | +| `notifications.startupProbe.failureThreshold` | Failure threshold for startupProbe | `3` | +| `notifications.startupProbe.successThreshold` | Success threshold for startupProbe | `1` | +| `notifications.livenessProbe.enabled` | Enable livenessProbe on Notification nodes | `true` | +| `notifications.livenessProbe.initialDelaySeconds` | Initial delay seconds for livenessProbe | `10` | +| `notifications.livenessProbe.periodSeconds` | Period seconds for livenessProbe | `10` | +| `notifications.livenessProbe.timeoutSeconds` | Timeout seconds for livenessProbe | `1` | +| `notifications.livenessProbe.failureThreshold` | Failure threshold for livenessProbe | `3` | +| `notifications.livenessProbe.successThreshold` | Success threshold for livenessProbe | `1` | +| `notifications.readinessProbe.enabled` | Enable readinessProbe on Notification nodes | `true` | +| `notifications.readinessProbe.initialDelaySeconds` | Initial delay seconds for readinessProbe | `10` | +| `notifications.readinessProbe.periodSeconds` | Period seconds for readinessProbe | `10` | +| `notifications.readinessProbe.timeoutSeconds` | Timeout seconds for readinessProbe | `1` | +| `notifications.readinessProbe.failureThreshold` | Failure threshold for readinessProbe | `3` | +| `notifications.readinessProbe.successThreshold` | Success threshold for readinessProbe | `1` | +| `notifications.customStartupProbe` | Custom startupProbe that overrides the default one | `{}` | +| `notifications.customLivenessProbe` | Custom livenessProbe that overrides the default one | `{}` | +| `notifications.customReadinessProbe` | Custom readinessProbe that overrides the default one | `{}` | | `notifications.webhook.ingress.enabled` | Enable an ingress resource for Webhooks | `false` | | `notifications.webhook.ingress.annotations` | Additional ingress annotations | `{}` | | `notifications.webhook.ingress.labels` | Additional ingress labels | `{}` | @@ -419,6 +440,28 @@ The command removes all the Kubernetes components associated with the chart and | `notifications.bots.slack.nodeAffinityPreset.type` | Node affinity preset type. Ignored if `notifications.bots.slack.affinity` is set. Allowed values: `soft` or `hard` | `""` | | `notifications.bots.slack.nodeAffinityPreset.key` | Node label key to match. Ignored if `notifications.bots.slack.affinity` is set | `""` | | `notifications.bots.slack.nodeAffinityPreset.values` | Node label values to match. Ignored if `notifications.bots.slack.affinity` is set | `[]` | +| `notifications.bots.slack.containerPorts.metrics` | Slack Bot controller metrics port number | `9001` | +| `notifications.bots.slack.startupProbe.enabled` | Enable startupProbe on Slack Bot nodes | `false` | +| `notifications.bots.slack.startupProbe.initialDelaySeconds` | Initial delay seconds for startupProbe | `10` | +| `notifications.bots.slack.startupProbe.periodSeconds` | Period seconds for startupProbe | `10` | +| `notifications.bots.slack.startupProbe.timeoutSeconds` | Timeout seconds for startupProbe | `1` | +| `notifications.bots.slack.startupProbe.failureThreshold` | Failure threshold for startupProbe | `3` | +| `notifications.bots.slack.startupProbe.successThreshold` | Success threshold for startupProbe | `1` | +| `notifications.bots.slack.livenessProbe.enabled` | Enable livenessProbe on Slack Bot nodes | `true` | +| `notifications.bots.slack.livenessProbe.initialDelaySeconds` | Initial delay seconds for livenessProbe | `10` | +| `notifications.bots.slack.livenessProbe.periodSeconds` | Period seconds for livenessProbe | `10` | +| `notifications.bots.slack.livenessProbe.timeoutSeconds` | Timeout seconds for livenessProbe | `1` | +| `notifications.bots.slack.livenessProbe.failureThreshold` | Failure threshold for livenessProbe | `3` | +| `notifications.bots.slack.livenessProbe.successThreshold` | Success threshold for livenessProbe | `1` | +| `notifications.bots.slack.readinessProbe.enabled` | Enable readinessProbe on Slack Bot nodes | `true` | +| `notifications.bots.slack.readinessProbe.initialDelaySeconds` | Initial delay seconds for readinessProbe | `10` | +| `notifications.bots.slack.readinessProbe.periodSeconds` | Period seconds for readinessProbe | `10` | +| `notifications.bots.slack.readinessProbe.timeoutSeconds` | Timeout seconds for readinessProbe | `1` | +| `notifications.bots.slack.readinessProbe.failureThreshold` | Failure threshold for readinessProbe | `3` | +| `notifications.bots.slack.readinessProbe.successThreshold` | Success threshold for readinessProbe | `1` | +| `notifications.bots.slack.customStartupProbe` | Custom startupProbe that overrides the default one | `{}` | +| `notifications.bots.slack.customLivenessProbe` | Custom livenessProbe that overrides the default one | `{}` | +| `notifications.bots.slack.customReadinessProbe` | Custom readinessProbe that overrides the default one | `{}` | | `notifications.bots.slack.affinity` | Affinity for Argo CD Slack bot pods assignment | `{}` | | `notifications.bots.slack.podAnnotations` | Annotations for Argo CD Slack bot pods | `{}` | | `notifications.bots.slack.podLabels` | Extra labels for Argo CD Slack bot pods | `{}` | diff --git a/bitnami/argo-cd/templates/notifications/bots/slack/deployment.yaml b/bitnami/argo-cd/templates/notifications/bots/slack/deployment.yaml index 77f28ef0e6..d9167f15c4 100644 --- a/bitnami/argo-cd/templates/notifications/bots/slack/deployment.yaml +++ b/bitnami/argo-cd/templates/notifications/bots/slack/deployment.yaml @@ -18,7 +18,7 @@ spec: replicas: 1 strategy: type: Recreate - {{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.bots.slack.podLabels .Values.commonLabels ) "context" . ) }} + {{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.notifications.bots.slack.podLabels .Values.commonLabels ) "context" . ) }} selector: matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 6 }} app.kubernetes.io/component: notifications-slack-bot @@ -65,6 +65,8 @@ spec: args: - argocd-notifications - bot + - --metrics-port + - {{ .Values.notifications.bots.slack.containerPorts.metrics | quote }} {{- if .Values.notifications.bots.slack.extraArgs }} {{- include "common.tplvalues.render" (dict "value" .Values.notifications.bots.slack.extraArgs "context" $) | nindent 12 }} {{- end }} @@ -86,6 +88,48 @@ spec: - name: http containerPort: 8080 protocol: TCP + - name: metrics + containerPort: {{ .Values.notifications.bots.slack.containerPorts.metrics }} + protocol: TCP + {{- if .Values.notifications.bots.slack.customLivenessProbe }} + livenessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.notifications.bots.slack.customLivenessProbe "context" $) | nindent 12 }} + {{- else if .Values.notifications.bots.slack.livenessProbe.enabled }} + livenessProbe: + httpGet: + port: metrics + path: /metrics + initialDelaySeconds: {{ .Values.notifications.bots.slack.livenessProbe.initialDelaySeconds }} + periodSeconds: {{ .Values.notifications.bots.slack.livenessProbe.periodSeconds }} + timeoutSeconds: {{ .Values.notifications.bots.slack.livenessProbe.timeoutSeconds }} + successThreshold: {{ .Values.notifications.bots.slack.livenessProbe.successThreshold }} + failureThreshold: {{ .Values.notifications.bots.slack.livenessProbe.failureThreshold }} + {{- end }} + {{- if .Values.notifications.bots.slack.customReadinessProbe }} + readinessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.notifications.bots.slack.customReadinessProbe "context" $) | nindent 12 }} + {{- else if .Values.notifications.bots.slack.readinessProbe.enabled }} + readinessProbe: + httpGet: + port: metrics + path: /metrics + initialDelaySeconds: {{ .Values.notifications.bots.slack.readinessProbe.initialDelaySeconds }} + periodSeconds: {{ .Values.notifications.bots.slack.readinessProbe.periodSeconds }} + timeoutSeconds: {{ .Values.notifications.bots.slack.readinessProbe.timeoutSeconds }} + successThreshold: {{ .Values.notifications.bots.slack.readinessProbe.successThreshold }} + failureThreshold: {{ .Values.notifications.bots.slack.readinessProbe.failureThreshold }} + {{- end }} + {{- if .Values.notifications.bots.slack.customStartupProbe }} + startupProbe: {{- include "common.tplvalues.render" (dict "value" .Values.notifications.bots.slack.customStartupProbe "context" $) | nindent 12 }} + {{- else if .Values.notifications.bots.slack.startupProbe.enabled }} + startupProbe: + httpGet: + port: metrics + path: /metrics + initialDelaySeconds: {{ .Values.notifications.bots.slack.startupProbe.initialDelaySeconds }} + periodSeconds: {{ .Values.notifications.bots.slack.startupProbe.periodSeconds }} + timeoutSeconds: {{ .Values.notifications.bots.slack.startupProbe.timeoutSeconds }} + successThreshold: {{ .Values.notifications.bots.slack.startupProbe.successThreshold }} + failureThreshold: {{ .Values.notifications.bots.slack.startupProbe.failureThreshold }} + {{- end }} {{- if .Values.notifications.bots.slack.resources }} resources: {{- toYaml .Values.notifications.bots.slack.resources | nindent 12 }} {{- end }} diff --git a/bitnami/argo-cd/templates/notifications/bots/slack/service.yaml b/bitnami/argo-cd/templates/notifications/bots/slack/service.yaml index aa178b4559..37b3e407b5 100644 --- a/bitnami/argo-cd/templates/notifications/bots/slack/service.yaml +++ b/bitnami/argo-cd/templates/notifications/bots/slack/service.yaml @@ -47,7 +47,7 @@ spec: {{- if .Values.notifications.bots.slack.service.extraPorts }} {{- include "common.tplvalues.render" (dict "value" .Values.notifications.bots.slack.service.extraPorts "context" $) | nindent 4 }} {{- end }} - {{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.bots.slack.podLabels .Values.commonLabels ) "context" . ) }} + {{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.notifications.bots.slack.podLabels .Values.commonLabels ) "context" . ) }} selector: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 4 }} app.kubernetes.io/component: notifications-slack-bot {{ end }} diff --git a/bitnami/argo-cd/templates/notifications/deployment.yaml b/bitnami/argo-cd/templates/notifications/deployment.yaml index 02c3f15ec5..3a3d46423a 100644 --- a/bitnami/argo-cd/templates/notifications/deployment.yaml +++ b/bitnami/argo-cd/templates/notifications/deployment.yaml @@ -93,6 +93,45 @@ spec: - name: metrics containerPort: {{ .Values.notifications.containerPorts.metrics }} protocol: TCP + {{- if .Values.notifications.customLivenessProbe }} + livenessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.notifications.customLivenessProbe "context" $) | nindent 12 }} + {{- else if .Values.notifications.livenessProbe.enabled }} + livenessProbe: + httpGet: + port: metrics + path: /metrics + initialDelaySeconds: {{ .Values.notifications.livenessProbe.initialDelaySeconds }} + periodSeconds: {{ .Values.notifications.livenessProbe.periodSeconds }} + timeoutSeconds: {{ .Values.notifications.livenessProbe.timeoutSeconds }} + successThreshold: {{ .Values.notifications.livenessProbe.successThreshold }} + failureThreshold: {{ .Values.notifications.livenessProbe.failureThreshold }} + {{- end }} + {{- if .Values.notifications.customReadinessProbe }} + readinessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.notifications.customReadinessProbe "context" $) | nindent 12 }} + {{- else if .Values.notifications.readinessProbe.enabled }} + readinessProbe: + httpGet: + port: metrics + path: /metrics + initialDelaySeconds: {{ .Values.notifications.readinessProbe.initialDelaySeconds }} + periodSeconds: {{ .Values.notifications.readinessProbe.periodSeconds }} + timeoutSeconds: {{ .Values.notifications.readinessProbe.timeoutSeconds }} + successThreshold: {{ .Values.notifications.readinessProbe.successThreshold }} + failureThreshold: {{ .Values.notifications.readinessProbe.failureThreshold }} + {{- end }} + {{- if .Values.notifications.customStartupProbe }} + startupProbe: {{- include "common.tplvalues.render" (dict "value" .Values.notifications.customStartupProbe "context" $) | nindent 12 }} + {{- else if .Values.notifications.startupProbe.enabled }} + startupProbe: + httpGet: + path: /metrics + port: metrics + initialDelaySeconds: {{ .Values.notifications.startupProbe.initialDelaySeconds }} + periodSeconds: {{ .Values.notifications.startupProbe.periodSeconds }} + timeoutSeconds: {{ .Values.notifications.startupProbe.timeoutSeconds }} + successThreshold: {{ .Values.notifications.startupProbe.successThreshold }} + failureThreshold: {{ .Values.notifications.startupProbe.failureThreshold }} + {{- end }} {{- if .Values.notifications.resources }} resources: {{- toYaml .Values.notifications.resources | nindent 12 }} {{- end }} diff --git a/bitnami/argo-cd/values.yaml b/bitnami/argo-cd/values.yaml index 6d4914ceb3..9c5cd2dc3a 100644 --- a/bitnami/argo-cd/values.yaml +++ b/bitnami/argo-cd/values.yaml @@ -1270,6 +1270,59 @@ notifications: ## @param notifications.extraEnvVarsSecret Name of existing Secret containing extra env vars for Argo CD notifications controller nodes ## extraEnvVarsSecret: "" + ## Configure extra options for Notification containers' liveness and readiness probes + ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes + ## @param notifications.startupProbe.enabled Enable startupProbe on Notification nodes + ## @param notifications.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe + ## @param notifications.startupProbe.periodSeconds Period seconds for startupProbe + ## @param notifications.startupProbe.timeoutSeconds Timeout seconds for startupProbe + ## @param notifications.startupProbe.failureThreshold Failure threshold for startupProbe + ## @param notifications.startupProbe.successThreshold Success threshold for startupProbe + ## + startupProbe: + enabled: false + initialDelaySeconds: 10 + periodSeconds: 10 + timeoutSeconds: 1 + failureThreshold: 3 + successThreshold: 1 + ## @param notifications.livenessProbe.enabled Enable livenessProbe on Notification nodes + ## @param notifications.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe + ## @param notifications.livenessProbe.periodSeconds Period seconds for livenessProbe + ## @param notifications.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe + ## @param notifications.livenessProbe.failureThreshold Failure threshold for livenessProbe + ## @param notifications.livenessProbe.successThreshold Success threshold for livenessProbe + ## + livenessProbe: + enabled: true + initialDelaySeconds: 10 + periodSeconds: 10 + timeoutSeconds: 1 + failureThreshold: 3 + successThreshold: 1 + ## @param notifications.readinessProbe.enabled Enable readinessProbe on Notification nodes + ## @param notifications.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe + ## @param notifications.readinessProbe.periodSeconds Period seconds for readinessProbe + ## @param notifications.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe + ## @param notifications.readinessProbe.failureThreshold Failure threshold for readinessProbe + ## @param notifications.readinessProbe.successThreshold Success threshold for readinessProbe + ## + readinessProbe: + enabled: true + initialDelaySeconds: 10 + periodSeconds: 10 + timeoutSeconds: 1 + failureThreshold: 3 + successThreshold: 1 + ## @param notifications.customStartupProbe Custom startupProbe that overrides the default one + ## + customStartupProbe: {} + ## @param notifications.customLivenessProbe Custom livenessProbe that overrides the default one + ## + customLivenessProbe: {} + ## @param notifications.customReadinessProbe Custom readinessProbe that overrides the default one + ## + customReadinessProbe: {} ## Webhook for the Git Generator ## Ref: https://argocd-notifications.readthedocs.io/en/master/Generators-Git/#webhook-configuration) ## @@ -1443,6 +1496,66 @@ notifications: ## - e2e-az2 ## values: [] + + ## Argo CD Slack Bot controller ports + ## @param notifications.bots.slack.containerPorts.metrics Slack Bot controller metrics port number + ## + containerPorts: + metrics: 9001 + + ## Configure extra options for Slack Bot containers' liveness and readiness probes + ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes + ## @param notifications.bots.slack.startupProbe.enabled Enable startupProbe on Slack Bot nodes + ## @param notifications.bots.slack.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe + ## @param notifications.bots.slack.startupProbe.periodSeconds Period seconds for startupProbe + ## @param notifications.bots.slack.startupProbe.timeoutSeconds Timeout seconds for startupProbe + ## @param notifications.bots.slack.startupProbe.failureThreshold Failure threshold for startupProbe + ## @param notifications.bots.slack.startupProbe.successThreshold Success threshold for startupProbe + ## + startupProbe: + enabled: false + initialDelaySeconds: 10 + periodSeconds: 10 + timeoutSeconds: 1 + failureThreshold: 3 + successThreshold: 1 + ## @param notifications.bots.slack.livenessProbe.enabled Enable livenessProbe on Slack Bot nodes + ## @param notifications.bots.slack.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe + ## @param notifications.bots.slack.livenessProbe.periodSeconds Period seconds for livenessProbe + ## @param notifications.bots.slack.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe + ## @param notifications.bots.slack.livenessProbe.failureThreshold Failure threshold for livenessProbe + ## @param notifications.bots.slack.livenessProbe.successThreshold Success threshold for livenessProbe + ## + livenessProbe: + enabled: true + initialDelaySeconds: 10 + periodSeconds: 10 + timeoutSeconds: 1 + failureThreshold: 3 + successThreshold: 1 + ## @param notifications.bots.slack.readinessProbe.enabled Enable readinessProbe on Slack Bot nodes + ## @param notifications.bots.slack.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe + ## @param notifications.bots.slack.readinessProbe.periodSeconds Period seconds for readinessProbe + ## @param notifications.bots.slack.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe + ## @param notifications.bots.slack.readinessProbe.failureThreshold Failure threshold for readinessProbe + ## @param notifications.bots.slack.readinessProbe.successThreshold Success threshold for readinessProbe + ## + readinessProbe: + enabled: true + initialDelaySeconds: 10 + periodSeconds: 10 + timeoutSeconds: 1 + failureThreshold: 3 + successThreshold: 1 + ## @param notifications.bots.slack.customStartupProbe Custom startupProbe that overrides the default one + ## + customStartupProbe: {} + ## @param notifications.bots.slack.customLivenessProbe Custom livenessProbe that overrides the default one + ## + customLivenessProbe: {} + ## @param notifications.bots.slack.customReadinessProbe Custom readinessProbe that overrides the default one + ## + customReadinessProbe: {} ## @param notifications.bots.slack.affinity Affinity for Argo CD Slack bot pods assignment ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity ## NOTE: `notifications.bots.slack.podAffinityPreset`, `notifications.bots.slack.podAntiAffinityPreset`, and `notifications.bots.slack.nodeAffinityPreset` will be ignored when it's set