forked from argoproj/argo-helm
chore(argo-cd): Improve PDB implementation and documentation (#1544)
Signed-off-by: Petr Drastil <petr.drastil@gmail.com>main argo-cd-5.5.24
parent
d75f8e615a
commit
9743219ace
|
@ -2,7 +2,7 @@ apiVersion: v2
|
|||
appVersion: v2.4.14
|
||||
description: A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes.
|
||||
name: argo-cd
|
||||
version: 5.5.23
|
||||
version: 5.5.24
|
||||
home: https://github.com/argoproj/argo-helm
|
||||
icon: https://argo-cd.readthedocs.io/en/stable/assets/logo.png
|
||||
sources:
|
||||
|
@ -22,4 +22,8 @@ dependencies:
|
|||
condition: redis-ha.enabled
|
||||
annotations:
|
||||
artifacthub.io/changes: |
|
||||
- "[Fixed]: Fix missed apiVersion pattern change
|
||||
- "[Added]: PDB for Application Set controller"
|
||||
- "[Added]: PDB for Notifications controller"
|
||||
- "[Added]: PDB for Slack bot"
|
||||
- "[Fixed]: PDB for Redis is not created if redis-ha is enabled"
|
||||
- "[Changed]: Documentation for PDB usage"
|
||||
|
|
|
@ -448,8 +448,10 @@ NAME: my-release
|
|||
| controller.name | string | `"application-controller"` | Application controller name string |
|
||||
| controller.nodeSelector | object | `{}` | [Node selector] |
|
||||
| controller.pdb.annotations | object | `{}` | Annotations to be added to application controller pdb |
|
||||
| controller.pdb.enabled | bool | `false` | Deploy a Poddisruptionbudget for the application controller |
|
||||
| controller.pdb.enabled | bool | `false` | Deploy a [PodDisruptionBudget] for the application controller |
|
||||
| controller.pdb.labels | object | `{}` | Labels to be added to application controller pdb |
|
||||
| controller.pdb.maxUnavailable | string | `""` | Number of pods that are unavailble after eviction as number or percentage (eg.: 50%). |
|
||||
| controller.pdb.minAvailable | string | `""` (defaults to 0 if not specified) | Number of pods that are available after eviction as number or percentage (eg.: 50%) |
|
||||
| controller.podAnnotations | object | `{}` | Annotations to be added to application controller pods |
|
||||
| controller.podLabels | object | `{}` | Labels to be added to application controller pods |
|
||||
| controller.priorityClassName | string | `""` | Priority class for the application controller pods |
|
||||
|
@ -520,9 +522,11 @@ NAME: my-release
|
|||
| repoServer.metrics.serviceMonitor.tlsConfig | object | `{}` | Prometheus ServiceMonitor tlsConfig |
|
||||
| repoServer.name | string | `"repo-server"` | Repo server name |
|
||||
| repoServer.nodeSelector | object | `{}` | [Node selector] |
|
||||
| repoServer.pdb.annotations | object | `{}` | Annotations to be added to Repo server pdb |
|
||||
| repoServer.pdb.enabled | bool | `false` | Deploy a Poddisruptionbudget for the Repo server |
|
||||
| repoServer.pdb.labels | object | `{}` | Labels to be added to Repo server pdb |
|
||||
| repoServer.pdb.annotations | object | `{}` | Annotations to be added to repo server pdb |
|
||||
| repoServer.pdb.enabled | bool | `false` | Deploy a [PodDisruptionBudget] for the repo server |
|
||||
| repoServer.pdb.labels | object | `{}` | Labels to be added to repo server pdb |
|
||||
| repoServer.pdb.maxUnavailable | string | `""` | Number of pods that are unavailble after eviction as number or percentage (eg.: 50%). |
|
||||
| repoServer.pdb.minAvailable | string | `""` (defaults to 0 if not specified) | Number of pods that are available after eviction as number or percentage (eg.: 50%) |
|
||||
| repoServer.podAnnotations | object | `{}` | Annotations to be added to repo server pods |
|
||||
| repoServer.podLabels | object | `{}` | Labels to be added to repo server pods |
|
||||
| repoServer.priorityClassName | string | `""` | Priority class for the repo server |
|
||||
|
@ -644,9 +648,11 @@ NAME: my-release
|
|||
| server.metrics.serviceMonitor.tlsConfig | object | `{}` | Prometheus ServiceMonitor tlsConfig |
|
||||
| server.name | string | `"server"` | Argo CD server name |
|
||||
| server.nodeSelector | object | `{}` | [Node selector] |
|
||||
| server.pdb.annotations | object | `{}` | Annotations to be added to server pdb |
|
||||
| server.pdb.enabled | bool | `false` | Deploy a Poddisruptionbudget for the server |
|
||||
| server.pdb.labels | object | `{}` | Labels to be added to server pdb |
|
||||
| server.pdb.annotations | object | `{}` | Annotations to be added to Argo CD server pdb |
|
||||
| server.pdb.enabled | bool | `false` | Deploy a [PodDisruptionBudget] for the Argo CD server |
|
||||
| server.pdb.labels | object | `{}` | Labels to be added to Argo CD server pdb |
|
||||
| server.pdb.maxUnavailable | string | `""` | Number of pods that are unavailble after eviction as number or percentage (eg.: 50%). |
|
||||
| server.pdb.minAvailable | string | `""` (defaults to 0 if not specified) | Number of pods that are available after eviction as number or percentage (eg.: 50%) |
|
||||
| server.podAnnotations | object | `{}` | Annotations to be added to server pods |
|
||||
| server.podLabels | object | `{}` | Labels to be added to server pods |
|
||||
| server.priorityClassName | string | `""` | Priority class for the Argo CD server |
|
||||
|
@ -734,8 +740,10 @@ NAME: my-release
|
|||
| dex.name | string | `"dex-server"` | Dex name |
|
||||
| dex.nodeSelector | object | `{}` | [Node selector] |
|
||||
| dex.pdb.annotations | object | `{}` | Annotations to be added to Dex server pdb |
|
||||
| dex.pdb.enabled | bool | `false` | Deploy a Poddisruptionbudget for the Dex server |
|
||||
| dex.pdb.enabled | bool | `false` | Deploy a [PodDisruptionBudget] for the Dex server |
|
||||
| dex.pdb.labels | object | `{}` | Labels to be added to Dex server pdb |
|
||||
| dex.pdb.maxUnavailable | string | `""` | Number of pods that are unavailble after eviction as number or percentage (eg.: 50%). |
|
||||
| dex.pdb.minAvailable | string | `""` (defaults to 0 if not specified) | Number of pods that are available after eviction as number or percentage (eg.: 50%) |
|
||||
| dex.podAnnotations | object | `{}` | Annotations to be added to the Dex server pods |
|
||||
| dex.podLabels | object | `{}` | Labels to be added to the Dex server pods |
|
||||
| dex.priorityClassName | string | `""` | Priority class for dex |
|
||||
|
@ -802,9 +810,11 @@ NAME: my-release
|
|||
| redis.metrics.serviceMonitor.tlsConfig | object | `{}` | Prometheus ServiceMonitor tlsConfig |
|
||||
| redis.name | string | `"redis"` | Redis name |
|
||||
| redis.nodeSelector | object | `{}` | [Node selector] |
|
||||
| redis.pdb.annotations | object | `{}` | Annotations to be added to Redis server pdb |
|
||||
| redis.pdb.enabled | bool | `false` | Deploy a Poddisruptionbudget for the Redis server |
|
||||
| redis.pdb.labels | object | `{}` | Labels to be added to Redis server pdb |
|
||||
| redis.pdb.annotations | object | `{}` | Annotations to be added to Redis pdb |
|
||||
| redis.pdb.enabled | bool | `false` | Deploy a [PodDisruptionBudget] for the Redis |
|
||||
| redis.pdb.labels | object | `{}` | Labels to be added to Redis pdb |
|
||||
| redis.pdb.maxUnavailable | string | `""` | Number of pods that are unavailble after eviction as number or percentage (eg.: 50%). |
|
||||
| redis.pdb.minAvailable | string | `""` (defaults to 0 if not specified) | Number of pods that are available after eviction as number or percentage (eg.: 50%) |
|
||||
| redis.podAnnotations | object | `{}` | Annotations to be added to the Redis server pods |
|
||||
| redis.podLabels | object | `{}` | Labels to be added to the Redis server pods |
|
||||
| redis.priorityClassName | string | `""` | Priority class for redis |
|
||||
|
@ -873,7 +883,7 @@ If you want to use an existing Redis (eg. a managed service from a cloud provide
|
|||
| applicationSet.args.metricsAddr | string | `":8080"` | The default metric address |
|
||||
| applicationSet.args.policy | string | `"sync"` | How application is synced between the generator and the cluster |
|
||||
| applicationSet.args.probeBindAddr | string | `":8081"` | The default health check port |
|
||||
| applicationSet.enabled | bool | `true` | Enable Application Set controller |
|
||||
| applicationSet.enabled | bool | `true` | Enable ApplicationSet controller |
|
||||
| applicationSet.extraArgs | list | `[]` | List of extra cli args to add |
|
||||
| applicationSet.extraContainers | list | `[]` | Additional containers to be added to the applicationset controller pod |
|
||||
| applicationSet.extraEnv | list | `[]` | Environment variables to pass to the controller |
|
||||
|
@ -902,11 +912,16 @@ If you want to use an existing Redis (eg. a managed service from a cloud provide
|
|||
| applicationSet.metrics.serviceMonitor.tlsConfig | object | `{}` | Prometheus ServiceMonitor tlsConfig |
|
||||
| applicationSet.name | string | `"applicationset-controller"` | Application Set controller name string |
|
||||
| applicationSet.nodeSelector | object | `{}` | [Node selector] |
|
||||
| applicationSet.pdb.annotations | object | `{}` | Annotations to be added to ApplicationSet controller pdb |
|
||||
| applicationSet.pdb.enabled | bool | `false` | Deploy a [PodDisruptionBudget] for the ApplicationSet controller |
|
||||
| applicationSet.pdb.labels | object | `{}` | Labels to be added to ApplicationSet controller pdb |
|
||||
| applicationSet.pdb.maxUnavailable | string | `""` | Number of pods that are unavailble after eviction as number or percentage (eg.: 50%). |
|
||||
| applicationSet.pdb.minAvailable | string | `""` (defaults to 0 if not specified) | Number of pods that are available after eviction as number or percentage (eg.: 50%) |
|
||||
| applicationSet.podAnnotations | object | `{}` | Annotations for the controller pods |
|
||||
| applicationSet.podLabels | object | `{}` | Labels for the controller pods |
|
||||
| applicationSet.podSecurityContext | object | `{}` | Pod Security Context |
|
||||
| applicationSet.priorityClassName | string | `""` | If specified, indicates the pod's priority. If not specified, the pod priority will be default or zero if there is no default. |
|
||||
| applicationSet.replicaCount | int | `1` | The number of controller pods to run |
|
||||
| applicationSet.replicaCount | int | `1` | The number of ApplicationSet controller pods to run |
|
||||
| applicationSet.resources | object | `{}` | Resource limits and requests for the controller pods. |
|
||||
| applicationSet.securityContext | object | `{}` | Security Context |
|
||||
| applicationSet.service.annotations | object | `{}` | Application set service annotations |
|
||||
|
@ -942,6 +957,11 @@ If you want to use an existing Redis (eg. a managed service from a cloud provide
|
|||
| notifications.bots.slack.image.tag | string | `""` (defaults to global.image.tag) | Tag to use for the Slack bot |
|
||||
| notifications.bots.slack.imagePullSecrets | list | `[]` (defaults to global.imagePullSecrets) | Secrets with credentials to pull images from a private registry |
|
||||
| notifications.bots.slack.nodeSelector | object | `{}` | [Node selector] |
|
||||
| notifications.bots.slack.pdb.annotations | object | `{}` | Annotations to be added to Slack bot pdb |
|
||||
| notifications.bots.slack.pdb.enabled | bool | `false` | Deploy a [PodDisruptionBudget] for the Slack bot |
|
||||
| notifications.bots.slack.pdb.labels | object | `{}` | Labels to be added to Slack bot pdb |
|
||||
| notifications.bots.slack.pdb.maxUnavailable | string | `""` | Number of pods that are unavailble after eviction as number or percentage (eg.: 50%). |
|
||||
| notifications.bots.slack.pdb.minAvailable | string | `""` (defaults to 0 if not specified) | Number of pods that are available after eviction as number or percentage (eg.: 50%) |
|
||||
| notifications.bots.slack.resources | object | `{}` | Resource limits and requests for the Slack bot |
|
||||
| notifications.bots.slack.securityContext | object | `{"runAsNonRoot":true}` | Pod Security Context |
|
||||
| notifications.bots.slack.service.annotations | object | `{}` | Service annotations for Slack bot |
|
||||
|
@ -955,7 +975,7 @@ If you want to use an existing Redis (eg. a managed service from a cloud provide
|
|||
| notifications.cm.create | bool | `true` | Whether helm chart creates controller config map |
|
||||
| notifications.containerSecurityContext | object | `{}` | Container Security Context |
|
||||
| notifications.context | object | `{}` | Define user-defined context |
|
||||
| notifications.enabled | bool | `true` | Enable Notifications controller |
|
||||
| notifications.enabled | bool | `true` | Enable notifications controller |
|
||||
| notifications.extraArgs | list | `[]` | Extra arguments to provide to the controller |
|
||||
| notifications.extraEnv | list | `[]` | Additional container environment variables |
|
||||
| notifications.extraEnvFrom | list | `[]` (See [values.yaml]) | envFrom to pass to the controller |
|
||||
|
@ -980,6 +1000,11 @@ If you want to use an existing Redis (eg. a managed service from a cloud provide
|
|||
| notifications.name | string | `"notifications-controller"` | Notifications controller name string |
|
||||
| notifications.nodeSelector | object | `{}` | [Node selector] |
|
||||
| notifications.notifiers | object | See [values.yaml] | Configures notification services such as slack, email or custom webhook |
|
||||
| notifications.pdb.annotations | object | `{}` | Annotations to be added to notifications controller pdb |
|
||||
| notifications.pdb.enabled | bool | `false` | Deploy a [PodDisruptionBudget] for the notifications controller |
|
||||
| notifications.pdb.labels | object | `{}` | Labels to be added to notifications controller pdb |
|
||||
| notifications.pdb.maxUnavailable | string | `""` | Number of pods that are unavailble after eviction as number or percentage (eg.: 50%). |
|
||||
| notifications.pdb.minAvailable | string | `""` (defaults to 0 if not specified) | Number of pods that are available after eviction as number or percentage (eg.: 50%) |
|
||||
| notifications.podAnnotations | object | `{}` | Annotations to be applied to the controller Pods |
|
||||
| notifications.podLabels | object | `{}` | Labels to be applied to the controller Pods |
|
||||
| notifications.priorityClassName | string | `""` | Priority class for the controller pods |
|
||||
|
@ -1033,6 +1058,7 @@ Autogenerated from chart metadata using [helm-docs](https://github.com/norwoodj/
|
|||
[HPA]: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
|
||||
[MetricRelabelConfigs]: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs
|
||||
[Node selector]: https://kubernetes.io/docs/user-guide/node-selection/
|
||||
[PodDisruptionBudget]: https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#pod-disruption-budgets
|
||||
[probe]: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
|
||||
[RelabelConfigs]: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
|
||||
[Tolerations]: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
|
||||
|
|
|
@ -492,6 +492,7 @@ Autogenerated from chart metadata using [helm-docs](https://github.com/norwoodj/
|
|||
[HPA]: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
|
||||
[MetricRelabelConfigs]: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs
|
||||
[Node selector]: https://kubernetes.io/docs/user-guide/node-selection/
|
||||
[PodDisruptionBudget]: https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#pod-disruption-budgets
|
||||
[probe]: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
|
||||
[RelabelConfigs]: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
|
||||
[Tolerations]: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
|
||||
|
|
|
@ -2,23 +2,23 @@
|
|||
apiVersion: {{ include "argo-cd.apiVersion.pdb" . }}
|
||||
kind: PodDisruptionBudget
|
||||
metadata:
|
||||
name: {{ template "argo-cd.controller.fullname" . }}
|
||||
name: {{ include "argo-cd.controller.fullname" . }}
|
||||
labels:
|
||||
{{- include "argo-cd.labels" (dict "context" . "component" .Values.controller.name "name" .Values.controller.name) | nindent 4 }}
|
||||
{{- with .Values.controller.pdb.labels }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- with .Values.controller.pdb.labels }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- with .Values.controller.pdb.annotations }}
|
||||
annotations:
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- range $key, $value := . }}
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if .Values.controller.pdb.minAvailable }}
|
||||
minAvailable: {{ .Values.controller.pdb.minAvailable }}
|
||||
{{- else if .Values.controller.pdb.maxUnavailable }}
|
||||
maxUnavailable: {{ .Values.controller.pdb.maxUnavailable }}
|
||||
{{- with .Values.controller.pdb.maxUnavailable }}
|
||||
maxUnavailable: {{ . }}
|
||||
{{- else }}
|
||||
minAvailable: 0
|
||||
minAvailable: {{ .Values.controller.pdb.minAvailable | default 0 }}
|
||||
{{- end }}
|
||||
selector:
|
||||
matchLabels:
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
{{- if and .Values.applicationSet.enabled .Values.applicationSet.pdb.enabled }}
|
||||
apiVersion: {{ include "argo-cd.apiVersion.pdb" . }}
|
||||
kind: PodDisruptionBudget
|
||||
metadata:
|
||||
name: {{ include "argo-cd.applicationSet.fullname" . }}
|
||||
labels:
|
||||
{{- include "argo-cd.labels" (dict "context" . "component" .Values.applicationSet.name "name" .Values.applicationSet.name) | nindent 4 }}
|
||||
{{- with .Values.applicationSet.pdb.labels }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- with .Values.applicationSet.pdb.annotations }}
|
||||
annotations:
|
||||
{{- range $key, $value := . }}
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- with .Values.applicationSet.pdb.maxUnavailable }}
|
||||
maxUnavailable: {{ . }}
|
||||
{{- else }}
|
||||
minAvailable: {{ .Values.applicationSet.pdb.minAvailable | default 0 }}
|
||||
{{- end }}
|
||||
selector:
|
||||
matchLabels:
|
||||
{{- include "argo-cd.selectorLabels" (dict "context" . "name" .Values.applicationSet.name) | nindent 6 }}
|
||||
{{- end }}
|
|
@ -0,0 +1,26 @@
|
|||
{{- if and .Values.notifications.enabled .Values.notifications.bots.slack.enabled .Values.notifications.bots.slack.pdb.enabled }}
|
||||
apiVersion: {{ include "argo-cd.apiVersion.pdb" . }}
|
||||
kind: PodDisruptionBudget
|
||||
metadata:
|
||||
name: {{ include "argo-cd.notifications.fullname" . }}-bot
|
||||
labels:
|
||||
{{- include "argo-cd.labels" (dict "context" . "component" .Values.notifications.bots.slack.name "name" .Values.notifications.bots.slack.name) | nindent 4 }}
|
||||
{{- with .Values.notifications.bots.slack.pdb.labels }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- with .Values.notifications.bots.slack.pdb.annotations }}
|
||||
annotations:
|
||||
{{- range $key, $value := . }}
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- with .Values.notifications.bots.slack.pdb.maxUnavailable }}
|
||||
maxUnavailable: {{ . }}
|
||||
{{- else }}
|
||||
minAvailable: {{ .Values.notifications.bots.slack.pdb.minAvailable | default 0 }}
|
||||
{{- end }}
|
||||
selector:
|
||||
matchLabels:
|
||||
{{- include "argo-cd.selectorLabels" (dict "context" . "component" .Values.notifications.bots.slack.name "name" "metrics") | nindent 6 }}
|
||||
{{- end }}
|
|
@ -0,0 +1,26 @@
|
|||
{{- if and .Values.notifications.enabled .Values.notifications.pdb.enabled }}
|
||||
apiVersion: {{ include "argo-cd.apiVersion.pdb" . }}
|
||||
kind: PodDisruptionBudget
|
||||
metadata:
|
||||
name: {{ include "argo-cd.notifications.fullname" . }}
|
||||
labels:
|
||||
{{- include "argo-cd.labels" (dict "context" . "component" .Values.notifications.name "name" .Values.notifications.name) | nindent 4 }}
|
||||
{{- with .Values.notifications.pdb.labels }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- with .Values.notifications.pdb.annotations }}
|
||||
annotations:
|
||||
{{- range $key, $value := . }}
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- with .Values.notifications.pdb.maxUnavailable }}
|
||||
maxUnavailable: {{ . }}
|
||||
{{- else }}
|
||||
minAvailable: {{ .Values.notifications.pdb.minAvailable | default 0 }}
|
||||
{{- end }}
|
||||
selector:
|
||||
matchLabels:
|
||||
{{- include "argo-cd.selectorLabels" (dict "context" . "name" .Values.notifications.name) | nindent 6 }}
|
||||
{{- end }}
|
|
@ -2,23 +2,23 @@
|
|||
apiVersion: {{ include "argo-cd.apiVersion.pdb" . }}
|
||||
kind: PodDisruptionBudget
|
||||
metadata:
|
||||
name: {{ template "argo-cd.repoServer.fullname" . }}
|
||||
name: {{ include "argo-cd.repoServer.fullname" . }}
|
||||
labels:
|
||||
{{- include "argo-cd.labels" (dict "context" . "component" .Values.repoServer.name "name" .Values.repoServer.name) | nindent 4 }}
|
||||
{{- with .Values.repoServer.pdb.labels }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- with .Values.repoServer.pdb.labels }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- with .Values.repoServer.pdb.annotations }}
|
||||
annotations:
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- range $key, $value := . }}
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if .Values.repoServer.pdb.minAvailable }}
|
||||
minAvailable: {{ .Values.repoServer.pdb.minAvailable }}
|
||||
{{- else if .Values.repoServer.pdb.maxUnavailable }}
|
||||
maxUnavailable: {{ .Values.repoServer.pdb.maxUnavailable }}
|
||||
{{- with .Values.repoServer.pdb.maxUnavailable }}
|
||||
maxUnavailable: {{ . }}
|
||||
{{- else }}
|
||||
minAvailable: 0
|
||||
minAvailable: {{ .Values.repoServer.pdb.minAvailable | default 0 }}
|
||||
{{- end }}
|
||||
selector:
|
||||
matchLabels:
|
||||
|
|
|
@ -2,23 +2,23 @@
|
|||
apiVersion: {{ include "argo-cd.apiVersion.pdb" . }}
|
||||
kind: PodDisruptionBudget
|
||||
metadata:
|
||||
name: {{ template "argo-cd.server.fullname" . }}
|
||||
name: {{ include "argo-cd.server.fullname" . }}
|
||||
labels:
|
||||
{{- include "argo-cd.labels" (dict "context" . "component" .Values.server.name "name" .Values.server.name) | nindent 4 }}
|
||||
{{- with .Values.server.pdb.labels }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- with .Values.server.pdb.labels }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- with .Values.server.pdb.annotations }}
|
||||
annotations:
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- range $key, $value := . }}
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if .Values.server.pdb.minAvailable }}
|
||||
minAvailable: {{ .Values.server.pdb.minAvailable }}
|
||||
{{- else if .Values.server.pdb.maxUnavailable }}
|
||||
maxUnavailable: {{ .Values.server.pdb.maxUnavailable }}
|
||||
{{- with .Values.server.pdb.maxUnavailable }}
|
||||
maxUnavailable: {{ . }}
|
||||
{{- else }}
|
||||
minAvailable: 0
|
||||
minAvailable: {{ .Values.server.pdb.minAvailable | default 0 }}
|
||||
{{- end }}
|
||||
selector:
|
||||
matchLabels:
|
||||
|
|
|
@ -1,24 +1,24 @@
|
|||
{{- if .Values.dex.pdb.enabled }}
|
||||
{{- if and .Values.dex.enabled .Values.dex.pdb.enabled }}
|
||||
apiVersion: {{ include "argo-cd.apiVersion.pdb" . }}
|
||||
kind: PodDisruptionBudget
|
||||
metadata:
|
||||
name: {{ template "argo-cd.dex.fullname" . }}
|
||||
name: {{ include "argo-cd.dex.fullname" . }}
|
||||
labels:
|
||||
{{- include "argo-cd.labels" (dict "context" . "component" .Values.dex.name "name" .Values.dex.name) | nindent 4 }}
|
||||
{{- with .Values.dex.pdb.labels }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- with .Values.dex.pdb.labels }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- with .Values.dex.pdb.annotations }}
|
||||
annotations:
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- range $key, $value := . }}
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if .Values.dex.pdb.minAvailable }}
|
||||
minAvailable: {{ .Values.dex.pdb.minAvailable }}
|
||||
{{- else if .Values.dex.pdb.maxUnavailable }}
|
||||
maxUnavailable: {{ .Values.dex.pdb.maxUnavailable }}
|
||||
{{- with .Values.dex.pdb.maxUnavailable }}
|
||||
maxUnavailable: {{ . }}
|
||||
{{- else }}
|
||||
minAvailable: 0
|
||||
minAvailable: {{ .Values.dex.pdb.minAvailable | default 0 }}
|
||||
{{- end }}
|
||||
selector:
|
||||
matchLabels:
|
||||
|
|
|
@ -1,24 +1,25 @@
|
|||
{{- if .Values.redis.pdb.enabled }}
|
||||
{{- $redisHa := index .Values "redis-ha" -}}
|
||||
{{- if and .Values.redis.enabled (not $redisHa.enabled) .Values.redis.pdb.enabled }}
|
||||
apiVersion: {{ include "argo-cd.apiVersion.pdb" . }}
|
||||
kind: PodDisruptionBudget
|
||||
metadata:
|
||||
name: {{ template "argo-cd.redis.fullname" . }}
|
||||
name: {{ include "argo-cd.redis.fullname" . }}
|
||||
labels:
|
||||
{{- include "argo-cd.labels" (dict "context" . "component" .Values.redis.name "name" .Values.redis.name) | nindent 4 }}
|
||||
{{- with .Values.redis.pdb.labels }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- with .Values.redis.pdb.labels }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- with .Values.redis.pdb.annotations }}
|
||||
annotations:
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- range $key, $value := . }}
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if .Values.redis.pdb.minAvailable }}
|
||||
minAvailable: {{ .Values.redis.pdb.minAvailable }}
|
||||
{{- else if .Values.redis.pdb.maxUnavailable }}
|
||||
maxUnavailable: {{ .Values.redis.pdb.maxUnavailable }}
|
||||
{{- with .Values.dex.pdb.maxUnavailable }}
|
||||
maxUnavailable: {{ . }}
|
||||
{{- else }}
|
||||
minAvailable: 0
|
||||
minAvailable: {{ .Values.redis.pdb.minAvailable | default 0 }}
|
||||
{{- end }}
|
||||
selector:
|
||||
matchLabels:
|
||||
|
|
|
@ -364,11 +364,32 @@ extraObjects: []
|
|||
# labels:
|
||||
# app.kubernetes.io/part-of: argocd
|
||||
|
||||
## Controller
|
||||
## Application controller
|
||||
controller:
|
||||
# -- Application controller name string
|
||||
name: application-controller
|
||||
|
||||
# -- The number of application controller pods to run.
|
||||
# Additional replicas will cause sharding of managed clusters across number of replicas.
|
||||
replicas: 1
|
||||
|
||||
## Application controller Pod Disruption Budget
|
||||
## Ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
|
||||
pdb:
|
||||
# -- Deploy a [PodDisruptionBudget] for the application controller
|
||||
enabled: false
|
||||
# -- Labels to be added to application controller pdb
|
||||
labels: {}
|
||||
# -- Annotations to be added to application controller pdb
|
||||
annotations: {}
|
||||
# -- Number of pods that are available after eviction as number or percentage (eg.: 50%)
|
||||
# @default -- `""` (defaults to 0 if not specified)
|
||||
minAvailable: ""
|
||||
# -- Number of pods that are unavailble after eviction as number or percentage (eg.: 50%).
|
||||
## Has higher precedence over `controller.pdb.minAvailable`
|
||||
maxUnavailable: ""
|
||||
|
||||
## Application controller image
|
||||
image:
|
||||
# -- Repository to use for the application controller
|
||||
# @default -- `""` (defaults to global.image.repository)
|
||||
|
@ -384,10 +405,6 @@ controller:
|
|||
# @default -- `[]` (defaults to global.imagePullSecrets)
|
||||
imagePullSecrets: []
|
||||
|
||||
# -- The number of application controller pods to run.
|
||||
# Additional replicas will cause sharding of managed clusters across number of replicas.
|
||||
replicas: 1
|
||||
|
||||
# -- DEPRECATED - Application controller commandline flags
|
||||
args: {}
|
||||
# DEPRECATED - Use configs.params to override
|
||||
|
@ -404,7 +421,6 @@ controller:
|
|||
# # -- define the application controller `--repo-server-timeout-seconds`
|
||||
# repoServerTimeoutSeconds: "60"
|
||||
|
||||
|
||||
# DEPRECATED - Use configs.params to override
|
||||
# -- Application controller log format. Either `text` or `json`
|
||||
# @default -- `""` (defaults to global.logging.format)
|
||||
|
@ -635,18 +651,6 @@ controller:
|
|||
# name: custom-tools
|
||||
# subPath: helm
|
||||
|
||||
pdb:
|
||||
# -- Labels to be added to application controller pdb
|
||||
labels: {}
|
||||
# -- Annotations to be added to application controller pdb
|
||||
annotations: {}
|
||||
|
||||
# -- Deploy a Poddisruptionbudget for the application controller
|
||||
enabled: false
|
||||
# minAvailable: 1
|
||||
# maxUnavailable: 0
|
||||
|
||||
|
||||
## Dex
|
||||
dex:
|
||||
# -- Enable dex
|
||||
|
@ -689,6 +693,23 @@ dex:
|
|||
# -- Prometheus ServiceMonitor labels
|
||||
additionalLabels: {}
|
||||
|
||||
## Dex Pod Disruption Budget
|
||||
## Ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
|
||||
pdb:
|
||||
# -- Deploy a [PodDisruptionBudget] for the Dex server
|
||||
enabled: false
|
||||
# -- Labels to be added to Dex server pdb
|
||||
labels: {}
|
||||
# -- Annotations to be added to Dex server pdb
|
||||
annotations: {}
|
||||
# -- Number of pods that are available after eviction as number or percentage (eg.: 50%)
|
||||
# @default -- `""` (defaults to 0 if not specified)
|
||||
minAvailable: ""
|
||||
# -- Number of pods that are unavailble after eviction as number or percentage (eg.: 50%).
|
||||
## Has higher precedence over `dex.pdb.minAvailable`
|
||||
maxUnavailable: ""
|
||||
|
||||
## Dex image
|
||||
image:
|
||||
# -- Dex image repository
|
||||
repository: ghcr.io/dexidp/dex
|
||||
|
@ -846,17 +867,6 @@ dex:
|
|||
# name: custom-tools
|
||||
# subPath: helm
|
||||
|
||||
pdb:
|
||||
# -- Labels to be added to Dex server pdb
|
||||
labels: {}
|
||||
# -- Annotations to be added to Dex server pdb
|
||||
annotations: {}
|
||||
|
||||
# -- Deploy a Poddisruptionbudget for the Dex server
|
||||
enabled: false
|
||||
# minAvailable: 1
|
||||
# maxUnavailable: 0
|
||||
|
||||
## Redis
|
||||
redis:
|
||||
# -- Enable redis
|
||||
|
@ -864,6 +874,23 @@ redis:
|
|||
# -- Redis name
|
||||
name: redis
|
||||
|
||||
## Redis Pod Disruption Budget
|
||||
## Ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
|
||||
pdb:
|
||||
# -- Deploy a [PodDisruptionBudget] for the Redis
|
||||
enabled: false
|
||||
# -- Labels to be added to Redis pdb
|
||||
labels: {}
|
||||
# -- Annotations to be added to Redis pdb
|
||||
annotations: {}
|
||||
# -- Number of pods that are available after eviction as number or percentage (eg.: 50%)
|
||||
# @default -- `""` (defaults to 0 if not specified)
|
||||
minAvailable: ""
|
||||
# -- Number of pods that are unavailble after eviction as number or percentage (eg.: 50%).
|
||||
## Has higher precedence over `redis.pdb.minAvailable`
|
||||
maxUnavailable: ""
|
||||
|
||||
## Redis image
|
||||
image:
|
||||
# -- Redis repository
|
||||
repository: public.ecr.aws/docker/library/redis
|
||||
|
@ -1038,16 +1065,6 @@ redis:
|
|||
# -- Prometheus ServiceMonitor labels
|
||||
additionalLabels: {}
|
||||
|
||||
pdb:
|
||||
# -- Labels to be added to Redis server pdb
|
||||
labels: {}
|
||||
# -- Annotations to be added to Redis server pdb
|
||||
annotations: {}
|
||||
|
||||
# -- Deploy a Poddisruptionbudget for the Redis server
|
||||
enabled: false
|
||||
# minAvailable: 1
|
||||
# maxUnavailable: 0
|
||||
|
||||
# This key configures Redis-HA subchart and when enabled (redis-ha.enabled=true)
|
||||
# the custom redis deployment is omitted
|
||||
|
@ -1118,6 +1135,7 @@ server:
|
|||
# -- The number of server pods to run
|
||||
replicas: 1
|
||||
|
||||
## Argo CD server Horizontal Pod Autoscaler
|
||||
autoscaling:
|
||||
# -- Enable Horizontal Pod Autoscaler ([HPA]) for the Argo CD server
|
||||
enabled: false
|
||||
|
@ -1144,6 +1162,24 @@ server:
|
|||
# - type: Pods
|
||||
# value: 2
|
||||
# periodSeconds: 60
|
||||
|
||||
## Argo CD server Pod Disruption Budget
|
||||
## Ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
|
||||
pdb:
|
||||
# -- Deploy a [PodDisruptionBudget] for the Argo CD server
|
||||
enabled: false
|
||||
# -- Labels to be added to Argo CD server pdb
|
||||
labels: {}
|
||||
# -- Annotations to be added to Argo CD server pdb
|
||||
annotations: {}
|
||||
# -- Number of pods that are available after eviction as number or percentage (eg.: 50%)
|
||||
# @default -- `""` (defaults to 0 if not specified)
|
||||
minAvailable: ""
|
||||
# -- Number of pods that are unavailble after eviction as number or percentage (eg.: 50%).
|
||||
## Has higher precedence over `server.pdb.minAvailable`
|
||||
maxUnavailable: ""
|
||||
|
||||
## Argo CD server image
|
||||
image:
|
||||
# -- Repository to use for the Argo CD server
|
||||
# @default -- `""` (defaults to global.image.repository)
|
||||
|
@ -1704,18 +1740,6 @@ server:
|
|||
# - name: argo-rollouts
|
||||
# url: https://github.com/argoproj-labs/rollout-extension/releases/download/v0.1.0/extension.tar
|
||||
|
||||
pdb:
|
||||
# -- Labels to be added to server pdb
|
||||
labels: {}
|
||||
# -- Annotations to be added to server pdb
|
||||
annotations: {}
|
||||
|
||||
# -- Deploy a Poddisruptionbudget for the server
|
||||
enabled: false
|
||||
# minAvailable: 1
|
||||
# maxUnavailable: 0
|
||||
|
||||
|
||||
## Repo Server
|
||||
repoServer:
|
||||
# -- Repo server name
|
||||
|
@ -1724,6 +1748,7 @@ repoServer:
|
|||
# -- The number of repo server pods to run
|
||||
replicas: 1
|
||||
|
||||
## Repo server Horizontal Pod Autoscaler
|
||||
autoscaling:
|
||||
# -- Enable Horizontal Pod Autoscaler ([HPA]) for the repo server
|
||||
enabled: false
|
||||
|
@ -1751,6 +1776,23 @@ repoServer:
|
|||
# value: 2
|
||||
# periodSeconds: 60
|
||||
|
||||
## Repo server Pod Disruption Budget
|
||||
## Ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
|
||||
pdb:
|
||||
# -- Deploy a [PodDisruptionBudget] for the repo server
|
||||
enabled: false
|
||||
# -- Labels to be added to repo server pdb
|
||||
labels: {}
|
||||
# -- Annotations to be added to repo server pdb
|
||||
annotations: {}
|
||||
# -- Number of pods that are available after eviction as number or percentage (eg.: 50%)
|
||||
# @default -- `""` (defaults to 0 if not specified)
|
||||
minAvailable: ""
|
||||
# -- Number of pods that are unavailble after eviction as number or percentage (eg.: 50%).
|
||||
## Has higher precedence over `repoServer.pdb.minAvailable`
|
||||
maxUnavailable: ""
|
||||
|
||||
## Repo server image
|
||||
image:
|
||||
# -- Repository to use for the repo server
|
||||
# @default -- `""` (defaults to global.image.repository)
|
||||
|
@ -1973,27 +2015,34 @@ repoServer:
|
|||
# name: custom-tools
|
||||
# subPath: helm
|
||||
|
||||
pdb:
|
||||
# -- Labels to be added to Repo server pdb
|
||||
labels: {}
|
||||
# -- Annotations to be added to Repo server pdb
|
||||
annotations: {}
|
||||
|
||||
# -- Deploy a Poddisruptionbudget for the Repo server
|
||||
enabled: false
|
||||
# minAvailable: 1
|
||||
# maxUnavailable: 0
|
||||
|
||||
## ApplicationSet controller
|
||||
applicationSet:
|
||||
# -- Enable Application Set controller
|
||||
# -- Enable ApplicationSet controller
|
||||
enabled: true
|
||||
|
||||
# -- Application Set controller name string
|
||||
name: applicationset-controller
|
||||
|
||||
# -- The number of controller pods to run
|
||||
# -- The number of ApplicationSet controller pods to run
|
||||
replicaCount: 1
|
||||
|
||||
## ApplicationSet controller Pod Disruption Budget
|
||||
## Ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
|
||||
pdb:
|
||||
# -- Deploy a [PodDisruptionBudget] for the ApplicationSet controller
|
||||
enabled: false
|
||||
# -- Labels to be added to ApplicationSet controller pdb
|
||||
labels: {}
|
||||
# -- Annotations to be added to ApplicationSet controller pdb
|
||||
annotations: {}
|
||||
# -- Number of pods that are available after eviction as number or percentage (eg.: 50%)
|
||||
# @default -- `""` (defaults to 0 if not specified)
|
||||
minAvailable: ""
|
||||
# -- Number of pods that are unavailble after eviction as number or percentage (eg.: 50%).
|
||||
## Has higher precedence over `applicationSet.pdb.minAvailable`
|
||||
maxUnavailable: ""
|
||||
|
||||
## ApplicationSet controller image
|
||||
image:
|
||||
# -- Repository to use for the application set controller
|
||||
# @default -- `""` (defaults to global.image.repository)
|
||||
|
@ -2205,8 +2254,9 @@ applicationSet:
|
|||
# hosts:
|
||||
# - argocd-applicationset.example.com
|
||||
|
||||
## Notifications controller
|
||||
notifications:
|
||||
# -- Enable Notifications controller
|
||||
# -- Enable notifications controller
|
||||
enabled: true
|
||||
|
||||
# -- Notifications controller name string
|
||||
|
@ -2218,6 +2268,23 @@ notifications:
|
|||
# -- Argo CD dashboard url; used in place of {{.context.argocdUrl}} in templates
|
||||
argocdUrl:
|
||||
|
||||
## Notifications controller Pod Disruption Budget
|
||||
## Ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
|
||||
pdb:
|
||||
# -- Deploy a [PodDisruptionBudget] for the notifications controller
|
||||
enabled: false
|
||||
# -- Labels to be added to notifications controller pdb
|
||||
labels: {}
|
||||
# -- Annotations to be added to notifications controller pdb
|
||||
annotations: {}
|
||||
# -- Number of pods that are available after eviction as number or percentage (eg.: 50%)
|
||||
# @default -- `""` (defaults to 0 if not specified)
|
||||
minAvailable: ""
|
||||
# -- Number of pods that are unavailble after eviction as number or percentage (eg.: 50%).
|
||||
## Has higher precedence over `notifications.pdb.minAvailable`
|
||||
maxUnavailable: ""
|
||||
|
||||
## Notifications controller image
|
||||
image:
|
||||
# -- Repository to use for the notifications controller
|
||||
# @default -- `""` (defaults to global.image.repository)
|
||||
|
@ -2656,6 +2723,23 @@ notifications:
|
|||
updateStrategy:
|
||||
type: Recreate
|
||||
|
||||
## Slack bot Pod Disruption Budget
|
||||
## Ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
|
||||
pdb:
|
||||
# -- Deploy a [PodDisruptionBudget] for the Slack bot
|
||||
enabled: false
|
||||
# -- Labels to be added to Slack bot pdb
|
||||
labels: {}
|
||||
# -- Annotations to be added to Slack bot pdb
|
||||
annotations: {}
|
||||
# -- Number of pods that are available after eviction as number or percentage (eg.: 50%)
|
||||
# @default -- `""` (defaults to 0 if not specified)
|
||||
minAvailable: ""
|
||||
# -- Number of pods that are unavailble after eviction as number or percentage (eg.: 50%).
|
||||
## Has higher precedence over `notifications.bots.slack.pdb.minAvailable`
|
||||
maxUnavailable: ""
|
||||
|
||||
## Slack bot imabe
|
||||
image:
|
||||
# -- Repository to use for the Slack bot
|
||||
# @default -- `""` (defaults to global.image.repository)
|
||||
|
|
Loading…
Reference in New Issue