diff --git a/charts/ocis/ci/values_<1.25.0.yaml b/charts/ocis/ci/values_<1.25.0.yaml index 734cb9d3..3a5457bc 100644 --- a/charts/ocis/ci/values_<1.25.0.yaml +++ b/charts/ocis/ci/values_<1.25.0.yaml @@ -48,6 +48,9 @@ extraLabels: extra1: lorem extra2: ipsum +podDisruptionBudget: + maxUnavailable: 1 + autoscaling: enabled: true minReplicas: 3 diff --git a/charts/ocis/ci/values_>=1.25.0.yaml b/charts/ocis/ci/values_>=1.25.0.yaml index 89f4768d..868524ca 100644 --- a/charts/ocis/ci/values_>=1.25.0.yaml +++ b/charts/ocis/ci/values_>=1.25.0.yaml @@ -48,6 +48,9 @@ extraLabels: extra1: lorem extra2: ipsum +podDisruptionBudget: + maxUnavailable: 1 + autoscaling: enabled: true minReplicas: 3 diff --git a/charts/ocis/docs/values-desc-table.adoc b/charts/ocis/docs/values-desc-table.adoc index 206080c4..911be2d0 100644 --- a/charts/ocis/docs/values-desc-table.adoc +++ b/charts/ocis/docs/values-desc-table.adoc @@ -558,6 +558,12 @@ a| [subs=-attributes] a| [subs=-attributes] `nil` | Override the deployment namespace of all resources in this Helm chart. +| podDisruptionBudget +a| [subs=-attributes] ++object+ +a| [subs=-attributes] +`{}` +| | replicas a| [subs=-attributes] +int+ @@ -702,6 +708,12 @@ a| [subs=-attributes] a| [subs=-attributes] see detailed service configuration options below | AUDIT service. +| services.audit.podDisruptionBudget +a| [subs=-attributes] ++object+ +a| [subs=-attributes] +`{}` +| Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. | services.audit.resources a| [subs=-attributes] +object+ @@ -714,6 +726,12 @@ a| [subs=-attributes] a| [subs=-attributes] see detailed service configuration options below | AUTH BASIC service. Not used if `features.externalUserManagement.enabled` equals `true`. +| services.authbasic.podDisruptionBudget +a| [subs=-attributes] ++object+ +a| [subs=-attributes] +`{}` +| Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. | services.authbasic.resources a| [subs=-attributes] +object+ @@ -726,6 +744,12 @@ a| [subs=-attributes] a| [subs=-attributes] see detailed service configuration options below | AUTH MACHINE service. +| services.authmachine.podDisruptionBudget +a| [subs=-attributes] ++object+ +a| [subs=-attributes] +`{}` +| Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. | services.authmachine.resources a| [subs=-attributes] +object+ @@ -750,6 +774,12 @@ a| [subs=-attributes] a| [subs=-attributes] see detailed service configuration options below | FRONTEND service. +| services.frontend.podDisruptionBudget +a| [subs=-attributes] ++object+ +a| [subs=-attributes] +`{}` +| Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. | services.frontend.resources a| [subs=-attributes] +object+ @@ -762,6 +792,12 @@ a| [subs=-attributes] a| [subs=-attributes] see detailed service configuration options below | GATEWAY service. +| services.gateway.podDisruptionBudget +a| [subs=-attributes] ++object+ +a| [subs=-attributes] +`{}` +| Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. | services.gateway.resources a| [subs=-attributes] +object+ @@ -774,6 +810,12 @@ a| [subs=-attributes] a| [subs=-attributes] see detailed service configuration options below | GRAPH service. +| services.graph.podDisruptionBudget +a| [subs=-attributes] ++object+ +a| [subs=-attributes] +`{}` +| Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. | services.graph.resources a| [subs=-attributes] +object+ @@ -786,6 +828,12 @@ a| [subs=-attributes] a| [subs=-attributes] see detailed service configuration options below | GROUPS service. +| services.groups.podDisruptionBudget +a| [subs=-attributes] ++object+ +a| [subs=-attributes] +`{}` +| Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. | services.groups.resources a| [subs=-attributes] +object+ @@ -954,6 +1002,12 @@ a| [subs=-attributes] a| [subs=-attributes] see detailed service configuration options below | NOTIFICATIONS service. Not used if `features.emailNotifications.enabled` equals `true`. +| services.notifications.podDisruptionBudget +a| [subs=-attributes] ++object+ +a| [subs=-attributes] +`{}` +| Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. | services.notifications.resources a| [subs=-attributes] +object+ @@ -966,6 +1020,12 @@ a| [subs=-attributes] a| [subs=-attributes] see detailed service configuration options below | OCDAV service. +| services.ocdav.podDisruptionBudget +a| [subs=-attributes] ++object+ +a| [subs=-attributes] +`{}` +| Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. | services.ocdav.resources a| [subs=-attributes] +object+ @@ -978,6 +1038,12 @@ a| [subs=-attributes] a| [subs=-attributes] see detailed service configuration options below | OCS service. +| services.ocs.podDisruptionBudget +a| [subs=-attributes] ++object+ +a| [subs=-attributes] +`{}` +| Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. | services.ocs.resources a| [subs=-attributes] +object+ @@ -1002,6 +1068,12 @@ a| [subs=-attributes] a| [subs=-attributes] see detailed service configuration options below | PROXY service. +| services.proxy.podDisruptionBudget +a| [subs=-attributes] ++object+ +a| [subs=-attributes] +`{}` +| Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. | services.proxy.resources a| [subs=-attributes] +object+ @@ -1092,6 +1164,12 @@ a| [subs=-attributes] a| [subs=-attributes] `nil` | Storage class to use. Uses the default storage class if not set. +| services.search.podDisruptionBudget +a| [subs=-attributes] ++object+ +a| [subs=-attributes] +`{}` +| Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. | services.search.resources a| [subs=-attributes] +object+ @@ -1104,6 +1182,12 @@ a| [subs=-attributes] a| [subs=-attributes] see detailed service configuration options below | SETTINGS service. +| services.settings.podDisruptionBudget +a| [subs=-attributes] ++object+ +a| [subs=-attributes] +`{}` +| Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. | services.settings.resources a| [subs=-attributes] +object+ @@ -1116,6 +1200,12 @@ a| [subs=-attributes] a| [subs=-attributes] see detailed service configuration options below | SHARING service. +| services.sharing.podDisruptionBudget +a| [subs=-attributes] ++object+ +a| [subs=-attributes] +`{}` +| Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. | services.sharing.resources a| [subs=-attributes] +object+ @@ -1128,6 +1218,12 @@ a| [subs=-attributes] a| [subs=-attributes] see detailed service configuration options below | STORAGE-PUBLICLINK service. +| services.storagepubliclink.podDisruptionBudget +a| [subs=-attributes] ++object+ +a| [subs=-attributes] +`{}` +| Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. | services.storagepubliclink.resources a| [subs=-attributes] +object+ @@ -1140,6 +1236,12 @@ a| [subs=-attributes] a| [subs=-attributes] see detailed service configuration options below | STORAGE-SHARES service. +| services.storageshares.podDisruptionBudget +a| [subs=-attributes] ++object+ +a| [subs=-attributes] +`{}` +| Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. | services.storageshares.resources a| [subs=-attributes] +object+ @@ -1212,6 +1314,12 @@ a| [subs=-attributes] a| [subs=-attributes] `nil` | Storage class to use. Uses the default storage class if not set. +| services.storagesystem.podDisruptionBudget +a| [subs=-attributes] ++object+ +a| [subs=-attributes] +`{}` +| Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. | services.storagesystem.resources a| [subs=-attributes] +object+ @@ -1296,6 +1404,12 @@ a| [subs=-attributes] a| [subs=-attributes] `nil` | Storage class to use. Uses the default storage class if not set. +| services.storageusers.podDisruptionBudget +a| [subs=-attributes] ++object+ +a| [subs=-attributes] +`{}` +| Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. | services.storageusers.resources a| [subs=-attributes] +object+ @@ -1476,6 +1590,12 @@ a| [subs=-attributes] a| [subs=-attributes] `nil` | Storage class to use. Uses the default storage class if not set. +| services.thumbnails.podDisruptionBudget +a| [subs=-attributes] ++object+ +a| [subs=-attributes] +`{}` +| Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. | services.thumbnails.resources a| [subs=-attributes] +object+ @@ -1500,6 +1620,12 @@ a| [subs=-attributes] a| [subs=-attributes] see detailed service configuration options below | USERS service. +| services.users.podDisruptionBudget +a| [subs=-attributes] ++object+ +a| [subs=-attributes] +`{}` +| Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. | services.users.resources a| [subs=-attributes] +object+ @@ -1548,6 +1674,12 @@ a| [subs=-attributes] a| [subs=-attributes] `""` | URL to load themes from. Will be prepended to the theme path. Defaults to the value of "externalDomain". +| services.web.podDisruptionBudget +a| [subs=-attributes] ++object+ +a| [subs=-attributes] +`{}` +| Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. | services.web.resources a| [subs=-attributes] +object+ @@ -1560,6 +1692,12 @@ a| [subs=-attributes] a| [subs=-attributes] see detailed service configuration options below | WEBDAV service. +| services.webdav.podDisruptionBudget +a| [subs=-attributes] ++object+ +a| [subs=-attributes] +`{}` +| Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. | services.webdav.resources a| [subs=-attributes] +object+ diff --git a/charts/ocis/docs/values.adoc.yaml b/charts/ocis/docs/values.adoc.yaml index 2c9b75d6..9fbb6e61 100644 --- a/charts/ocis/docs/values.adoc.yaml +++ b/charts/ocis/docs/values.adoc.yaml @@ -355,6 +355,11 @@ namespaceOverride: # -- Number of replicas for each scalable service. Has no effect when `autoscaling.enabled` is set to `true`. replicas: 1 +# Default PodDisruptionBudget to apply to all services, except per-service PodDisruptionBudget configuration in `services..podDisruptionBudget` is set. +podDisruptionBudget: {} + # -- Sets the maxUnavailable or the global PodDisruptionBudget. + #maxUnavailable: 1 + # Autoscaling settings. autoscaling: # -- Enables autoscaling. When set to `true`, `replicas` is no longer applied. @@ -443,18 +448,24 @@ services: audit: # -- Per-service resources configuration. Overrides the default setting from `resources` if set. resources: {} + # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. + podDisruptionBudget: {} # -- AUTH BASIC service. Not used if `features.externalUserManagement.enabled` equals `true`. # @default -- see detailed service configuration options below authbasic: # -- Per-service resources configuration. Overrides the default setting from `resources` if set. resources: {} + # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. + podDisruptionBudget: {} # -- AUTH MACHINE service. # @default -- see detailed service configuration options below authmachine: # -- Per-service resources configuration. Overrides the default setting from `resources` if set. resources: {} + # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. + podDisruptionBudget: {} # -- EVENT HISTORY service. # @default -- see detailed service configuration options below @@ -467,24 +478,32 @@ services: frontend: # -- Per-service resources configuration. Overrides the default setting from `resources` if set. resources: {} + # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. + podDisruptionBudget: {} # -- GATEWAY service. # @default -- see detailed service configuration options below gateway: # -- Per-service resources configuration. Overrides the default setting from `resources` if set. resources: {} + # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. + podDisruptionBudget: {} # -- GRAPH service. # @default -- see detailed service configuration options below graph: # -- Per-service resources configuration. Overrides the default setting from `resources` if set. resources: {} + # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. + podDisruptionBudget: {} # -- GROUPS service. # @default -- see detailed service configuration options below groups: # -- Per-service resources configuration. Overrides the default setting from `resources` if set. resources: {} + # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. + podDisruptionBudget: {} # -- IDM service. Not used if `features.externalUserManagement.enabled` equals `true`. # @default -- see detailed service configuration options below @@ -568,18 +587,24 @@ services: notifications: # -- Per-service resources configuration. Overrides the default setting from `resources` if set. resources: {} + # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. + podDisruptionBudget: {} # -- OCDAV service. # @default -- see detailed service configuration options below ocdav: # -- Per-service resources configuration. Overrides the default setting from `resources` if set. resources: {} + # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. + podDisruptionBudget: {} # -- OCS service. # @default -- see detailed service configuration options below ocs: # -- Per-service resources configuration. Overrides the default setting from `resources` if set. resources: {} + # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. + podDisruptionBudget: {} # -- POSTPROCESSING service. # @default -- see detailed service configuration options below @@ -592,6 +617,8 @@ services: proxy: # -- Per-service resources configuration. Overrides the default setting from `resources` if set. resources: {} + # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. + podDisruptionBudget: {} # -- SEARCH service. # @default -- see detailed service configuration options below @@ -637,30 +664,40 @@ services: existingClaim: # -- Per-service resources configuration. Overrides the default setting from `resources` if set. resources: {} + # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. + podDisruptionBudget: {} # -- SETTINGS service. # @default -- see detailed service configuration options below settings: # -- Per-service resources configuration. Overrides the default setting from `resources` if set. resources: {} + # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. + podDisruptionBudget: {} # -- SHARING service. # @default -- see detailed service configuration options below sharing: # -- Per-service resources configuration. Overrides the default setting from `resources` if set. resources: {} + # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. + podDisruptionBudget: {} # -- STORAGE-PUBLICLINK service. # @default -- see detailed service configuration options below storagepubliclink: # -- Per-service resources configuration. Overrides the default setting from `resources` if set. resources: {} + # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. + podDisruptionBudget: {} # -- STORAGE-SHARES service. # @default -- see detailed service configuration options below storageshares: # -- Per-service resources configuration. Overrides the default setting from `resources` if set. resources: {} + # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. + podDisruptionBudget: {} # -- STORAGE-SYSTEM service. # @default -- see detailed service configuration options below @@ -696,6 +733,8 @@ services: existingClaim: # -- Per-service resources configuration. Overrides the default setting from `resources` if set. resources: {} + # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. + podDisruptionBudget: {} # -- STORAGE-USERS service. # @default -- see detailed service configuration options below @@ -774,6 +813,8 @@ services: existingClaim: # -- Per-service resources configuration. Overrides the default setting from `resources` if set. resources: {} + # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. + podDisruptionBudget: {} # -- STORE service. @@ -844,6 +885,8 @@ services: existingClaim: # -- Per-service resources configuration. Overrides the default setting from `resources` if set. resources: {} + # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. + podDisruptionBudget: {} # -- USERLOG service. # @default -- see detailed service configuration options below @@ -856,6 +899,8 @@ services: users: # -- Per-service resources configuration. Overrides the default setting from `resources` if set. resources: {} + # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. + podDisruptionBudget: {} # -- ownCloud WEB service. # @default -- see detailed service configuration options below @@ -901,12 +946,16 @@ services: path: "" # -- Per-service resources configuration. Overrides the default setting from `resources` if set. resources: {} + # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. + podDisruptionBudget: {} # -- WEBDAV service. # @default -- see detailed service configuration options below webdav: # -- Per-service resources configuration. Overrides the default setting from `resources` if set. resources: {} + # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. + podDisruptionBudget: {} # -- WEBFINGER service. # @default -- see detailed service configuration options below diff --git a/charts/ocis/templates/_common/_tplvalues.tpl b/charts/ocis/templates/_common/_tplvalues.tpl index 35aeb7a3..1c9a6a66 100644 --- a/charts/ocis/templates/_common/_tplvalues.tpl +++ b/charts/ocis/templates/_common/_tplvalues.tpl @@ -94,3 +94,25 @@ Adds the app names to the scope and set the name of the app based on the input p {{- $_ := set .scope "appName" (index .scope .appName) -}} {{- end -}} {{- end -}} + +{{/* +oCIS PDB template + +*/}} +{{- define "ocis.pdb" -}} +{{- $_ := set . "podDisruptionBudget" (default (default (dict) .Values.podDisruptionBudget) (index .Values.services .appName).podDisruptionBudget) -}} +{{ if .podDisruptionBudget }} +apiVersion: policy/v1 +kind: PodDisruptionBudget +metadata: + name: {{ .appName }} + namespace: {{ template "ocis.namespace" . }} + labels: + {{- include "ocis.labels" . | nindent 4 }} +spec: + {{- toYaml .podDisruptionBudget | nindent 2 }} + selector: + matchLabels: + app: {{ .appName }} +{{- end }} +{{- end -}} diff --git a/charts/ocis/templates/audit/pdb.yaml b/charts/ocis/templates/audit/pdb.yaml new file mode 100644 index 00000000..7afc86c7 --- /dev/null +++ b/charts/ocis/templates/audit/pdb.yaml @@ -0,0 +1,2 @@ +{{- include "ocis.appNames" (dict "scope" . "appName" "appNameAudit" "appNameSuffix" "") -}} +{{ include "ocis.pdb" . }} diff --git a/charts/ocis/templates/authbasic/pdb.yaml b/charts/ocis/templates/authbasic/pdb.yaml new file mode 100644 index 00000000..635f97ca --- /dev/null +++ b/charts/ocis/templates/authbasic/pdb.yaml @@ -0,0 +1,4 @@ +{{ if .Values.features.basicAuthentication }} +{{- include "ocis.appNames" (dict "scope" . "appName" "appNameAuthBasic" "appNameSuffix" "") -}} +{{ include "ocis.pdb" . }} +{{ end }} diff --git a/charts/ocis/templates/authmachine/pdb.yaml b/charts/ocis/templates/authmachine/pdb.yaml new file mode 100644 index 00000000..b5a29c78 --- /dev/null +++ b/charts/ocis/templates/authmachine/pdb.yaml @@ -0,0 +1,2 @@ +{{- include "ocis.appNames" (dict "scope" . "appName" "appNameAuthMachine" "appNameSuffix" "") -}} +{{ include "ocis.pdb" . }} diff --git a/charts/ocis/templates/frontend/pdb.yaml b/charts/ocis/templates/frontend/pdb.yaml new file mode 100644 index 00000000..c4289ea0 --- /dev/null +++ b/charts/ocis/templates/frontend/pdb.yaml @@ -0,0 +1,2 @@ +{{- include "ocis.appNames" (dict "scope" . "appName" "appNameFrontend" "appNameSuffix" "") -}} +{{ include "ocis.pdb" . }} diff --git a/charts/ocis/templates/gateway/pdb.yaml b/charts/ocis/templates/gateway/pdb.yaml new file mode 100644 index 00000000..e80b7055 --- /dev/null +++ b/charts/ocis/templates/gateway/pdb.yaml @@ -0,0 +1,2 @@ +{{- include "ocis.appNames" (dict "scope" . "appName" "appNameGateway" "appNameSuffix" "") -}} +{{ include "ocis.pdb" . }} diff --git a/charts/ocis/templates/graph/pdb.yaml b/charts/ocis/templates/graph/pdb.yaml new file mode 100644 index 00000000..b4533cda --- /dev/null +++ b/charts/ocis/templates/graph/pdb.yaml @@ -0,0 +1,2 @@ +{{- include "ocis.appNames" (dict "scope" . "appName" "appNameGraph" "appNameSuffix" "") -}} +{{ include "ocis.pdb" . }} diff --git a/charts/ocis/templates/groups/pdb.yaml b/charts/ocis/templates/groups/pdb.yaml new file mode 100644 index 00000000..db4389f6 --- /dev/null +++ b/charts/ocis/templates/groups/pdb.yaml @@ -0,0 +1,2 @@ +{{- include "ocis.appNames" (dict "scope" . "appName" "appNameGroups" "appNameSuffix" "") -}} +{{ include "ocis.pdb" . }} diff --git a/charts/ocis/templates/notifications/pdb.yaml b/charts/ocis/templates/notifications/pdb.yaml new file mode 100644 index 00000000..10466a74 --- /dev/null +++ b/charts/ocis/templates/notifications/pdb.yaml @@ -0,0 +1,4 @@ +{{- if .Values.features.emailNotifications.enabled }} +{{- include "ocis.appNames" (dict "scope" . "appName" "appNameNotifications" "appNameSuffix" "") -}} +{{ include "ocis.pdb" . }} +{{- end }} diff --git a/charts/ocis/templates/ocdav/pdb.yaml b/charts/ocis/templates/ocdav/pdb.yaml new file mode 100644 index 00000000..d99d86b5 --- /dev/null +++ b/charts/ocis/templates/ocdav/pdb.yaml @@ -0,0 +1,2 @@ +{{- include "ocis.appNames" (dict "scope" . "appName" "appNameOcdav" "appNameSuffix" "") -}} +{{ include "ocis.pdb" . }} diff --git a/charts/ocis/templates/ocs/pdb.yaml b/charts/ocis/templates/ocs/pdb.yaml new file mode 100644 index 00000000..cbeb01c9 --- /dev/null +++ b/charts/ocis/templates/ocs/pdb.yaml @@ -0,0 +1,2 @@ +{{- include "ocis.appNames" (dict "scope" . "appName" "appNameOcs" "appNameSuffix" "") -}} +{{ include "ocis.pdb" . }} diff --git a/charts/ocis/templates/proxy/pdb.yaml b/charts/ocis/templates/proxy/pdb.yaml new file mode 100644 index 00000000..46c08837 --- /dev/null +++ b/charts/ocis/templates/proxy/pdb.yaml @@ -0,0 +1,2 @@ +{{- include "ocis.appNames" (dict "scope" . "appName" "appNameProxy" "appNameSuffix" "") -}} +{{ include "ocis.pdb" . }} diff --git a/charts/ocis/templates/search/pdb.yaml b/charts/ocis/templates/search/pdb.yaml new file mode 100644 index 00000000..5f6e963f --- /dev/null +++ b/charts/ocis/templates/search/pdb.yaml @@ -0,0 +1,2 @@ +{{- include "ocis.appNames" (dict "scope" . "appName" "appNameSearch" "appNameSuffix" "") -}} +{{ include "ocis.pdb" . }} diff --git a/charts/ocis/templates/settings/pdb.yaml b/charts/ocis/templates/settings/pdb.yaml new file mode 100644 index 00000000..d0da0dac --- /dev/null +++ b/charts/ocis/templates/settings/pdb.yaml @@ -0,0 +1,2 @@ +{{- include "ocis.appNames" (dict "scope" . "appName" "appNameSettings" "appNameSuffix" "") -}} +{{ include "ocis.pdb" . }} diff --git a/charts/ocis/templates/sharing/pdb.yaml b/charts/ocis/templates/sharing/pdb.yaml new file mode 100644 index 00000000..ed36733c --- /dev/null +++ b/charts/ocis/templates/sharing/pdb.yaml @@ -0,0 +1,2 @@ +{{- include "ocis.appNames" (dict "scope" . "appName" "appNameSharing" "appNameSuffix" "") -}} +{{ include "ocis.pdb" . }} diff --git a/charts/ocis/templates/storagepubliclink/pdb.yaml b/charts/ocis/templates/storagepubliclink/pdb.yaml new file mode 100644 index 00000000..1c40d0fd --- /dev/null +++ b/charts/ocis/templates/storagepubliclink/pdb.yaml @@ -0,0 +1,2 @@ +{{- include "ocis.appNames" (dict "scope" . "appName" "appNameStoragePubliclink" "appNameSuffix" "") -}} +{{ include "ocis.pdb" . }} diff --git a/charts/ocis/templates/storageshares/pdb.yaml b/charts/ocis/templates/storageshares/pdb.yaml new file mode 100644 index 00000000..6f70c56c --- /dev/null +++ b/charts/ocis/templates/storageshares/pdb.yaml @@ -0,0 +1,2 @@ +{{- include "ocis.appNames" (dict "scope" . "appName" "appNameStorageShares" "appNameSuffix" "") -}} +{{ include "ocis.pdb" . }} diff --git a/charts/ocis/templates/storagesystem/pdb.yaml b/charts/ocis/templates/storagesystem/pdb.yaml new file mode 100644 index 00000000..48dfd642 --- /dev/null +++ b/charts/ocis/templates/storagesystem/pdb.yaml @@ -0,0 +1,2 @@ +{{- include "ocis.appNames" (dict "scope" . "appName" "appNameStorageSystem" "appNameSuffix" "") -}} +{{ include "ocis.pdb" . }} diff --git a/charts/ocis/templates/storageusers/pdb.yaml b/charts/ocis/templates/storageusers/pdb.yaml new file mode 100644 index 00000000..d1526bdd --- /dev/null +++ b/charts/ocis/templates/storageusers/pdb.yaml @@ -0,0 +1,2 @@ +{{- include "ocis.appNames" (dict "scope" . "appName" "appNameStorageUsers" "appNameSuffix" "") -}} +{{ include "ocis.pdb" . }} diff --git a/charts/ocis/templates/thumbnails/pdb.yaml b/charts/ocis/templates/thumbnails/pdb.yaml new file mode 100644 index 00000000..ab0e6a30 --- /dev/null +++ b/charts/ocis/templates/thumbnails/pdb.yaml @@ -0,0 +1,2 @@ +{{- include "ocis.appNames" (dict "scope" . "appName" "appNameThumbnails" "appNameSuffix" "") -}} +{{ include "ocis.pdb" . }} diff --git a/charts/ocis/templates/users/pdb.yaml b/charts/ocis/templates/users/pdb.yaml new file mode 100644 index 00000000..0f98812f --- /dev/null +++ b/charts/ocis/templates/users/pdb.yaml @@ -0,0 +1,2 @@ +{{- include "ocis.appNames" (dict "scope" . "appName" "appNameUsers" "appNameSuffix" "") -}} +{{ include "ocis.pdb" . }} diff --git a/charts/ocis/templates/web/pdb.yaml b/charts/ocis/templates/web/pdb.yaml new file mode 100644 index 00000000..df50f023 --- /dev/null +++ b/charts/ocis/templates/web/pdb.yaml @@ -0,0 +1,2 @@ +{{- include "ocis.appNames" (dict "scope" . "appName" "appNameWeb" "appNameSuffix" "") -}} +{{ include "ocis.pdb" . }} diff --git a/charts/ocis/templates/webdav/pdb.yaml b/charts/ocis/templates/webdav/pdb.yaml new file mode 100644 index 00000000..5be32cab --- /dev/null +++ b/charts/ocis/templates/webdav/pdb.yaml @@ -0,0 +1,2 @@ +{{- include "ocis.appNames" (dict "scope" . "appName" "appNameWebdav" "appNameSuffix" "") -}} +{{ include "ocis.pdb" . }} diff --git a/charts/ocis/values.yaml b/charts/ocis/values.yaml index 941e5d67..1abd81ef 100644 --- a/charts/ocis/values.yaml +++ b/charts/ocis/values.yaml @@ -354,6 +354,11 @@ namespaceOverride: # -- Number of replicas for each scalable service. Has no effect when `autoscaling.enabled` is set to `true`. replicas: 1 +# Default PodDisruptionBudget to apply to all services, except per-service PodDisruptionBudget configuration in `services..podDisruptionBudget` is set. +podDisruptionBudget: {} + # -- Sets the maxUnavailable or the global PodDisruptionBudget. + #maxUnavailable: 1 + # Autoscaling settings. autoscaling: # -- Enables autoscaling. When set to `true`, `replicas` is no longer applied. @@ -442,18 +447,24 @@ services: audit: # -- Per-service resources configuration. Overrides the default setting from `resources` if set. resources: {} + # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. + podDisruptionBudget: {} # -- AUTH BASIC service. Not used if `features.externalUserManagement.enabled` equals `true`. # @default -- see detailed service configuration options below authbasic: # -- Per-service resources configuration. Overrides the default setting from `resources` if set. resources: {} + # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. + podDisruptionBudget: {} # -- AUTH MACHINE service. # @default -- see detailed service configuration options below authmachine: # -- Per-service resources configuration. Overrides the default setting from `resources` if set. resources: {} + # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. + podDisruptionBudget: {} # -- EVENT HISTORY service. # @default -- see detailed service configuration options below @@ -466,24 +477,32 @@ services: frontend: # -- Per-service resources configuration. Overrides the default setting from `resources` if set. resources: {} + # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. + podDisruptionBudget: {} # -- GATEWAY service. # @default -- see detailed service configuration options below gateway: # -- Per-service resources configuration. Overrides the default setting from `resources` if set. resources: {} + # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. + podDisruptionBudget: {} # -- GRAPH service. # @default -- see detailed service configuration options below graph: # -- Per-service resources configuration. Overrides the default setting from `resources` if set. resources: {} + # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. + podDisruptionBudget: {} # -- GROUPS service. # @default -- see detailed service configuration options below groups: # -- Per-service resources configuration. Overrides the default setting from `resources` if set. resources: {} + # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. + podDisruptionBudget: {} # -- IDM service. Not used if `features.externalUserManagement.enabled` equals `true`. # @default -- see detailed service configuration options below @@ -567,18 +586,24 @@ services: notifications: # -- Per-service resources configuration. Overrides the default setting from `resources` if set. resources: {} + # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. + podDisruptionBudget: {} # -- OCDAV service. # @default -- see detailed service configuration options below ocdav: # -- Per-service resources configuration. Overrides the default setting from `resources` if set. resources: {} + # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. + podDisruptionBudget: {} # -- OCS service. # @default -- see detailed service configuration options below ocs: # -- Per-service resources configuration. Overrides the default setting from `resources` if set. resources: {} + # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. + podDisruptionBudget: {} # -- POSTPROCESSING service. # @default -- see detailed service configuration options below @@ -591,6 +616,8 @@ services: proxy: # -- Per-service resources configuration. Overrides the default setting from `resources` if set. resources: {} + # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. + podDisruptionBudget: {} # -- SEARCH service. # @default -- see detailed service configuration options below @@ -636,30 +663,40 @@ services: existingClaim: # -- Per-service resources configuration. Overrides the default setting from `resources` if set. resources: {} + # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. + podDisruptionBudget: {} # -- SETTINGS service. # @default -- see detailed service configuration options below settings: # -- Per-service resources configuration. Overrides the default setting from `resources` if set. resources: {} + # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. + podDisruptionBudget: {} # -- SHARING service. # @default -- see detailed service configuration options below sharing: # -- Per-service resources configuration. Overrides the default setting from `resources` if set. resources: {} + # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. + podDisruptionBudget: {} # -- STORAGE-PUBLICLINK service. # @default -- see detailed service configuration options below storagepubliclink: # -- Per-service resources configuration. Overrides the default setting from `resources` if set. resources: {} + # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. + podDisruptionBudget: {} # -- STORAGE-SHARES service. # @default -- see detailed service configuration options below storageshares: # -- Per-service resources configuration. Overrides the default setting from `resources` if set. resources: {} + # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. + podDisruptionBudget: {} # -- STORAGE-SYSTEM service. # @default -- see detailed service configuration options below @@ -695,6 +732,8 @@ services: existingClaim: # -- Per-service resources configuration. Overrides the default setting from `resources` if set. resources: {} + # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. + podDisruptionBudget: {} # -- STORAGE-USERS service. # @default -- see detailed service configuration options below @@ -773,6 +812,8 @@ services: existingClaim: # -- Per-service resources configuration. Overrides the default setting from `resources` if set. resources: {} + # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. + podDisruptionBudget: {} # -- STORE service. @@ -843,6 +884,8 @@ services: existingClaim: # -- Per-service resources configuration. Overrides the default setting from `resources` if set. resources: {} + # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. + podDisruptionBudget: {} # -- USERLOG service. # @default -- see detailed service configuration options below @@ -855,6 +898,8 @@ services: users: # -- Per-service resources configuration. Overrides the default setting from `resources` if set. resources: {} + # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. + podDisruptionBudget: {} # -- ownCloud WEB service. # @default -- see detailed service configuration options below @@ -900,12 +945,16 @@ services: path: "" # -- Per-service resources configuration. Overrides the default setting from `resources` if set. resources: {} + # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. + podDisruptionBudget: {} # -- WEBDAV service. # @default -- see detailed service configuration options below webdav: # -- Per-service resources configuration. Overrides the default setting from `resources` if set. resources: {} + # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. + podDisruptionBudget: {} # -- WEBFINGER service. # @default -- see detailed service configuration options below