From 1a00bb6a07d4192f8e5559090921fda558d10156 Mon Sep 17 00:00:00 2001 From: DanielY <55952458+case0sh@users.noreply.github.com> Date: Tue, 12 Sep 2023 12:06:23 +0200 Subject: [PATCH] pods priority (#393) * add priority pods to all services * priority classes for all services * priorityClass for jobs and refactoring * priorityClass for jobs and refactoring * ci tests values * helmchart to test priority classes --- charts/ocis/ci/values.yaml | 2 + charts/ocis/docs/values-desc-table.adoc | 222 ++++++++++++++++++ charts/ocis/docs/values.adoc.yaml | 83 ++++++- charts/ocis/templates/_common/_tplvalues.tpl | 8 + .../ocis/templates/antivirus/deployment.yaml | 1 + .../templates/appprovider/deployment.yaml | 1 + .../templates/appregistry/deployment.yaml | 1 + charts/ocis/templates/audit/deployment.yaml | 1 + .../ocis/templates/authbasic/deployment.yaml | 1 + .../templates/authmachine/deployment.yaml | 1 + .../templates/eventhistory/deployment.yaml | 1 + .../ocis/templates/frontend/deployment.yaml | 1 + charts/ocis/templates/gateway/deployment.yaml | 1 + charts/ocis/templates/graph/deployment.yaml | 1 + charts/ocis/templates/groups/deployment.yaml | 1 + charts/ocis/templates/idm/deployment.yaml | 1 + charts/ocis/templates/idp/deployment.yaml | 1 + charts/ocis/templates/nats/deployment.yaml | 1 + .../templates/notifications/deployment.yaml | 1 + charts/ocis/templates/ocdav/deployment.yaml | 1 + charts/ocis/templates/ocs/deployment.yaml | 1 + .../ocis/templates/policies/deployment.yaml | 1 + .../templates/postprocessing/deployment.yaml | 1 + charts/ocis/templates/proxy/deployment.yaml | 1 + charts/ocis/templates/search/deployment.yaml | 1 + .../ocis/templates/settings/deployment.yaml | 1 + charts/ocis/templates/sharing/deployment.yaml | 1 + .../storagepubliclink/deployment.yaml | 1 + .../templates/storageshares/deployment.yaml | 1 + .../templates/storagesystem/deployment.yaml | 1 + .../templates/storageusers/deployment.yaml | 1 + charts/ocis/templates/storageusers/jobs.yaml | 1 + charts/ocis/templates/store/deployment.yaml | 1 + .../ocis/templates/thumbnails/deployment.yaml | 1 + charts/ocis/templates/thumbnails/jobs.yaml | 1 + charts/ocis/templates/userlog/deployment.yaml | 1 + charts/ocis/templates/users/deployment.yaml | 1 + charts/ocis/templates/web/deployment.yaml | 1 + charts/ocis/templates/webdav/deployment.yaml | 1 + charts/ocis/values.yaml | 83 ++++++- deployments/priority-classes/README.md | 54 +++++ .../priority-classes/examples/priority.yml | 23 ++ deployments/priority-classes/helmfile.yaml | 75 ++++++ 43 files changed, 583 insertions(+), 2 deletions(-) create mode 100644 deployments/priority-classes/README.md create mode 100644 deployments/priority-classes/examples/priority.yml create mode 100644 deployments/priority-classes/helmfile.yaml diff --git a/charts/ocis/ci/values.yaml b/charts/ocis/ci/values.yaml index f856338c6..d2e07c99e 100644 --- a/charts/ocis/ci/values.yaml +++ b/charts/ocis/ci/values.yaml @@ -21,6 +21,8 @@ image: - name: some-pull-secret nodeSelector: kubernetes.io/arch: "amd64" +priorityClassName: ocis-middle-priority +jobPriorityClassName: ocis-job-middle-priority features: emailNotifications: enabled: true diff --git a/charts/ocis/docs/values-desc-table.adoc b/charts/ocis/docs/values-desc-table.adoc index 244246c6d..42d66709d 100644 --- a/charts/ocis/docs/values-desc-table.adoc +++ b/charts/ocis/docs/values-desc-table.adoc @@ -828,6 +828,12 @@ a| [subs=-attributes] a| [subs=-attributes] `{}` | Default nodeSelector to apply to all jobs, except per-service job nodeSelector configuration in `services..jobNodeSelector` is set. +| jobPriorityClassName +a| [subs=-attributes] ++string+ +a| [subs=-attributes] +`""` +| Default priorityClassName to apply to all services, except per-service jobPriorityClassName configuration in `services..jobPriorityClassName` is set. | jobResources a| [subs=-attributes] +object+ @@ -930,6 +936,12 @@ a| [subs=-attributes] a| [subs=-attributes] `{}` | +| priorityClassName +a| [subs=-attributes] ++string+ +a| [subs=-attributes] +`""` +| Default priorityClassName to apply to all services, except per-service priorityClassName configuration in `services..priorityClassName` is set. | registry.nodes a| [subs=-attributes] +list+ @@ -1104,6 +1116,12 @@ a| [subs=-attributes] a| [subs=-attributes] `{}` | Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. +| services.antivirus.priorityClassName +a| [subs=-attributes] ++string+ +a| [subs=-attributes] +`""` +| Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. | services.antivirus.resources a| [subs=-attributes] +object+ @@ -1134,6 +1152,12 @@ a| [subs=-attributes] a| [subs=-attributes] `{}` | Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. +| services.appprovider.priorityClassName +a| [subs=-attributes] ++string+ +a| [subs=-attributes] +`""` +| Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. | services.appprovider.resources a| [subs=-attributes] +object+ @@ -1164,6 +1188,12 @@ a| [subs=-attributes] a| [subs=-attributes] `{}` | Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. +| services.appregistry.priorityClassName +a| [subs=-attributes] ++string+ +a| [subs=-attributes] +`""` +| Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. | services.appregistry.resources a| [subs=-attributes] +object+ @@ -1206,6 +1236,12 @@ a| [subs=-attributes] a| [subs=-attributes] `{}` | Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. +| services.audit.priorityClassName +a| [subs=-attributes] ++string+ +a| [subs=-attributes] +`""` +| Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. | services.audit.resources a| [subs=-attributes] +object+ @@ -1248,6 +1284,12 @@ a| [subs=-attributes] a| [subs=-attributes] `{}` | Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. +| services.authbasic.priorityClassName +a| [subs=-attributes] ++string+ +a| [subs=-attributes] +`""` +| Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. | services.authbasic.resources a| [subs=-attributes] +object+ @@ -1290,6 +1332,12 @@ a| [subs=-attributes] a| [subs=-attributes] `{}` | Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. +| services.authmachine.priorityClassName +a| [subs=-attributes] ++string+ +a| [subs=-attributes] +`""` +| Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. | services.authmachine.resources a| [subs=-attributes] +object+ @@ -1332,6 +1380,12 @@ a| [subs=-attributes] a| [subs=-attributes] `{}` | Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. +| services.eventhistory.priorityClassName +a| [subs=-attributes] ++string+ +a| [subs=-attributes] +`""` +| Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. | services.eventhistory.resources a| [subs=-attributes] +object+ @@ -1380,6 +1434,12 @@ a| [subs=-attributes] a| [subs=-attributes] `{}` | Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. +| services.frontend.priorityClassName +a| [subs=-attributes] ++string+ +a| [subs=-attributes] +`""` +| Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. | services.frontend.resources a| [subs=-attributes] +object+ @@ -1422,6 +1482,12 @@ a| [subs=-attributes] a| [subs=-attributes] `{}` | Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. +| services.gateway.priorityClassName +a| [subs=-attributes] ++string+ +a| [subs=-attributes] +`""` +| Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. | services.gateway.resources a| [subs=-attributes] +object+ @@ -1464,6 +1530,12 @@ a| [subs=-attributes] a| [subs=-attributes] `{}` | Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. +| services.graph.priorityClassName +a| [subs=-attributes] ++string+ +a| [subs=-attributes] +`""` +| Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. | services.graph.resources a| [subs=-attributes] +object+ @@ -1506,6 +1578,12 @@ a| [subs=-attributes] a| [subs=-attributes] `{}` | Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. +| services.groups.priorityClassName +a| [subs=-attributes] ++string+ +a| [subs=-attributes] +`""` +| Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. | services.groups.resources a| [subs=-attributes] +object+ @@ -1602,6 +1680,12 @@ a| [subs=-attributes] a| [subs=-attributes] `nil` | Storage class to use. Uses the default storage class if not set. +| services.idm.priorityClassName +a| [subs=-attributes] ++string+ +a| [subs=-attributes] +`""` +| Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. | services.idm.resources a| [subs=-attributes] +object+ @@ -1632,6 +1716,12 @@ a| [subs=-attributes] a| [subs=-attributes] `{}` | Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. +| services.idp.priorityClassName +a| [subs=-attributes] ++string+ +a| [subs=-attributes] +`""` +| Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. | services.idp.resources a| [subs=-attributes] +object+ @@ -1728,6 +1818,12 @@ a| [subs=-attributes] a| [subs=-attributes] `nil` | Storage class to use. Uses the default storage class if not set. +| services.nats.priorityClassName +a| [subs=-attributes] ++string+ +a| [subs=-attributes] +`""` +| Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. | services.nats.resources a| [subs=-attributes] +object+ @@ -1770,6 +1866,12 @@ a| [subs=-attributes] a| [subs=-attributes] `{}` | Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. +| services.notifications.priorityClassName +a| [subs=-attributes] ++string+ +a| [subs=-attributes] +`""` +| Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. | services.notifications.resources a| [subs=-attributes] +object+ @@ -1812,6 +1914,12 @@ a| [subs=-attributes] a| [subs=-attributes] `{}` | Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. +| services.ocdav.priorityClassName +a| [subs=-attributes] ++string+ +a| [subs=-attributes] +`""` +| Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. | services.ocdav.resources a| [subs=-attributes] +object+ @@ -1854,6 +1962,12 @@ a| [subs=-attributes] a| [subs=-attributes] `{}` | Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. +| services.ocs.priorityClassName +a| [subs=-attributes] ++string+ +a| [subs=-attributes] +`""` +| Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. | services.ocs.resources a| [subs=-attributes] +object+ @@ -1896,6 +2010,12 @@ a| [subs=-attributes] a| [subs=-attributes] `{}` | Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. +| services.policies.priorityClassName +a| [subs=-attributes] ++string+ +a| [subs=-attributes] +`""` +| Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. | services.policies.resources a| [subs=-attributes] +object+ @@ -1938,6 +2058,12 @@ a| [subs=-attributes] a| [subs=-attributes] `{}` | Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. +| services.postprocessing.priorityClassName +a| [subs=-attributes] ++string+ +a| [subs=-attributes] +`""` +| Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. | services.postprocessing.resources a| [subs=-attributes] +object+ @@ -1986,6 +2112,12 @@ a| [subs=-attributes] a| [subs=-attributes] `{}` | Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. +| services.proxy.priorityClassName +a| [subs=-attributes] ++string+ +a| [subs=-attributes] +`""` +| Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. | services.proxy.resources a| [subs=-attributes] +object+ @@ -2112,6 +2244,12 @@ a| [subs=-attributes] a| [subs=-attributes] `{}` | Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. +| services.search.priorityClassName +a| [subs=-attributes] ++string+ +a| [subs=-attributes] +`""` +| Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. | services.search.resources a| [subs=-attributes] +object+ @@ -2154,6 +2292,12 @@ a| [subs=-attributes] a| [subs=-attributes] `{}` | Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. +| services.settings.priorityClassName +a| [subs=-attributes] ++string+ +a| [subs=-attributes] +`""` +| Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. | services.settings.resources a| [subs=-attributes] +object+ @@ -2196,6 +2340,12 @@ a| [subs=-attributes] a| [subs=-attributes] `{}` | Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. +| services.sharing.priorityClassName +a| [subs=-attributes] ++string+ +a| [subs=-attributes] +`""` +| Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. | services.sharing.resources a| [subs=-attributes] +object+ @@ -2238,6 +2388,12 @@ a| [subs=-attributes] a| [subs=-attributes] `{}` | Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. +| services.storagepubliclink.priorityClassName +a| [subs=-attributes] ++string+ +a| [subs=-attributes] +`""` +| Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. | services.storagepubliclink.resources a| [subs=-attributes] +object+ @@ -2280,6 +2436,12 @@ a| [subs=-attributes] a| [subs=-attributes] `{}` | Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. +| services.storageshares.priorityClassName +a| [subs=-attributes] ++string+ +a| [subs=-attributes] +`""` +| Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. | services.storageshares.resources a| [subs=-attributes] +object+ @@ -2388,6 +2550,12 @@ a| [subs=-attributes] a| [subs=-attributes] `{}` | Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. +| services.storagesystem.priorityClassName +a| [subs=-attributes] ++string+ +a| [subs=-attributes] +`""` +| Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. | services.storagesystem.resources a| [subs=-attributes] +object+ @@ -2424,6 +2592,12 @@ a| [subs=-attributes] a| [subs=-attributes] `{}` | Per-service jobNodeSelector configuration. Overrides the default setting from `jobNodeSelector` if set. +| services.storageusers.jobPriorityClassName +a| [subs=-attributes] ++string+ +a| [subs=-attributes] +`""` +| Per-service jobPriorityClassName configuration. Overrides the default setting from `jobPriorityClassName` if set. | services.storageusers.jobResources a| [subs=-attributes] +object+ @@ -2586,6 +2760,12 @@ a| [subs=-attributes] a| [subs=-attributes] `{}` | Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. +| services.storageusers.priorityClassName +a| [subs=-attributes] ++string+ +a| [subs=-attributes] +`""` +| Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. | services.storageusers.resources a| [subs=-attributes] +object+ @@ -2730,6 +2910,12 @@ a| [subs=-attributes] a| [subs=-attributes] `nil` | Storage class to use. Uses the default storage class if not set. +| services.store.priorityClassName +a| [subs=-attributes] ++string+ +a| [subs=-attributes] +`""` +| Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. | services.store.resources a| [subs=-attributes] +object+ @@ -2766,6 +2952,12 @@ a| [subs=-attributes] a| [subs=-attributes] `{}` | Per-service jobNodeSelector configuration. Overrides the default setting from `jobNodeSelector` if set. +| services.thumbnails.jobPriorityClassName +a| [subs=-attributes] ++string+ +a| [subs=-attributes] +`""` +| Per-service jobPriorityClassName configuration. Overrides the default setting from `jobPriorityClassName` if set. | services.thumbnails.jobResources a| [subs=-attributes] +object+ @@ -2904,6 +3096,12 @@ a| [subs=-attributes] a| [subs=-attributes] `{}` | Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. +| services.thumbnails.priorityClassName +a| [subs=-attributes] ++string+ +a| [subs=-attributes] +`""` +| Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. | services.thumbnails.resources a| [subs=-attributes] +object+ @@ -2946,6 +3144,12 @@ a| [subs=-attributes] a| [subs=-attributes] `{}` | Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. +| services.userlog.priorityClassName +a| [subs=-attributes] ++string+ +a| [subs=-attributes] +`""` +| Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. | services.userlog.resources a| [subs=-attributes] +object+ @@ -2994,6 +3198,12 @@ a| [subs=-attributes] a| [subs=-attributes] `{}` | Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. +| services.users.priorityClassName +a| [subs=-attributes] ++string+ +a| [subs=-attributes] +`""` +| Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. | services.users.resources a| [subs=-attributes] +object+ @@ -3186,6 +3396,12 @@ a| [subs=-attributes] a| [subs=-attributes] `{}` | Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. +| services.web.priorityClassName +a| [subs=-attributes] ++string+ +a| [subs=-attributes] +`""` +| Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. | services.web.resources a| [subs=-attributes] +object+ @@ -3228,6 +3444,12 @@ a| [subs=-attributes] a| [subs=-attributes] `{}` | Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. +| services.webdav.priorityClassName +a| [subs=-attributes] ++string+ +a| [subs=-attributes] +`""` +| Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` 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 c4b0209de..378e1ea88 100644 --- a/charts/ocis/docs/values.adoc.yaml +++ b/charts/ocis/docs/values.adoc.yaml @@ -663,6 +663,18 @@ jobNodeSelector: # kubernetes.io/hostname: node-01 # kubernetes.io/arch: "amd64" +# -- Default priorityClassName to apply to all services, except per-service jobPriorityClassName configuration in `services..jobPriorityClassName` is set. +jobPriorityClassName: "" + # ocis-low-priority + # ocis-medium-priority + # ocis-high-priority + +# -- Default priorityClassName to apply to all services, except per-service priorityClassName configuration in `services..priorityClassName` is set. +priorityClassName: "" + # ocis-low-priority + # ocis-medium-priority + # ocis-high-priority + # Include arbitrary resources, eg. config maps or a cert-manager issuer (see example below) # -- Extra resources to be included. extraResources: [] @@ -692,7 +704,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} - + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Affinity settings for the approvider service. affinity: {} # -- Configuration for the appprovider service, every other service will have the same configuration. @@ -732,6 +745,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Affinity settings for the appregistry service. See the documentation of this setting in approvider for examples. affinity: {} # -- Per-service custom labels @@ -744,6 +759,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Per-service autoscaling. Overrides the default setting from `autoscaling` if set. @@ -760,6 +777,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Per-service autoscaling. Overrides the default setting from `autoscaling` if set. @@ -776,6 +795,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Per-service autoscaling. Overrides the default setting from `autoscaling` if set. @@ -792,6 +813,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Per-service autoscaling. Overrides the default setting from `autoscaling` if set. @@ -808,6 +831,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service store configuration for the eventhistory service. Overrides the default setting from `store` if set. store: {} @@ -834,6 +859,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Per-service autoscaling. Overrides the default setting from `autoscaling` if set. @@ -850,6 +877,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Per-service autoscaling. Overrides the default setting from `autoscaling` if set. @@ -866,6 +895,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Per-service autoscaling. Overrides the default setting from `autoscaling` if set. @@ -882,6 +913,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Per-service autoscaling. Overrides the default setting from `autoscaling` if set. @@ -930,6 +963,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Affinity settings for the idm service. See the documentation of this setting in approvider for examples. affinity: {} # -- Per-service custom labels @@ -942,6 +977,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Affinity settings for the idp service. See the documentation of this setting in approvider for examples. affinity: {} # -- Per-service custom labels @@ -986,6 +1023,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Affinity settings for the nats service. See the documentation of this setting in approvider for examples. affinity: {} # -- Per-service custom labels @@ -998,6 +1037,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Per-service autoscaling. Overrides the default setting from `autoscaling` if set. @@ -1014,6 +1055,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Per-service autoscaling. Overrides the default setting from `autoscaling` if set. @@ -1030,6 +1073,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Per-service autoscaling. Overrides the default setting from `autoscaling` if set. @@ -1046,6 +1091,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Per-service autoscaling. Overrides the default setting from `autoscaling` if set. @@ -1062,6 +1109,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Per-service store configuration for the eventhistory service. Overrides the default setting from `store` if set. @@ -1080,6 +1129,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Per-service autoscaling. Overrides the default setting from `autoscaling` if set. @@ -1141,6 +1192,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Affinity settings for the search service. See the documentation of this setting in approvider for examples. @@ -1155,6 +1208,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Per-service autoscaling. Overrides the default setting from `autoscaling` if set. @@ -1171,6 +1226,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Per-service autoscaling. Overrides the default setting from `autoscaling` if set. @@ -1187,6 +1244,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Per-service autoscaling. Overrides the default setting from `autoscaling` if set. @@ -1203,6 +1262,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Per-service autoscaling. Overrides the default setting from `autoscaling` if set. @@ -1251,6 +1312,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Per-service autoscaling. Overrides the default setting from `autoscaling` if set. @@ -1377,6 +1440,10 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" + # -- Per-service jobPriorityClassName configuration. Overrides the default setting from `jobPriorityClassName` if set. + jobPriorityClassName: "" # -- Per-service jobResources configuration. Overrides the default setting from `jobResources` if set. jobResources: {} # -- Per-service jobNodeSelector configuration. Overrides the default setting from `jobNodeSelector` if set. @@ -1429,6 +1496,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Affinity settings for the store service. See the documentation of this setting in approvider for examples. affinity: {} # -- Per-service custom labels @@ -1472,10 +1541,14 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service jobResources configuration. Overrides the default setting from `jobResources` if set. jobResources: {} # -- Per-service jobNodeSelector configuration. Overrides the default setting from `jobNodeSelector` if set. jobNodeSelector: {} + # -- Per-service jobPriorityClassName configuration. Overrides the default setting from `jobPriorityClassName` if set. + jobPriorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Maintenance configuration for cleanup jobs. @@ -1513,6 +1586,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service store configuration for the userlog service. Overrides the default setting from `store` if set. store: {} @@ -1539,6 +1614,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Per-service autoscaling. Overrides the default setting from `autoscaling` if set. @@ -1671,6 +1748,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Per-service autoscaling. Overrides the default setting from `autoscaling` if set. @@ -1687,6 +1766,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Per-service autoscaling. Overrides the default setting from `autoscaling` if set. diff --git a/charts/ocis/templates/_common/_tplvalues.tpl b/charts/ocis/templates/_common/_tplvalues.tpl index afe9a34ae..1defec4a1 100644 --- a/charts/ocis/templates/_common/_tplvalues.tpl +++ b/charts/ocis/templates/_common/_tplvalues.tpl @@ -77,6 +77,9 @@ Adds the app names to the scope and set the name of the app based on the input p {{- $_ := set .scope "appSpecificConfig" (index .scope.Values.services (index .scope .appName)) -}} {{- end -}} + {{- $_ := set .scope "priorityClassName" (default (default (dict) .scope.Values.priorityClassName) .scope.appSpecificConfig.priorityClassName) -}} + {{- $_ := set .scope "jobPriorityClassName" (default (default (dict) .scope.Values.jobPriorityClassName) .scope.appSpecificConfig.jobPriorityClassName) -}} + {{- $_ := set .scope "nodeSelector" (default (default (dict) .scope.Values.nodeSelector) .scope.appSpecificConfig.nodeSelector) -}} {{- $_ := set .scope "jobNodeSelector" (default (default (dict) .scope.Values.jobNodeSelector) .scope.appSpecificConfig.jobNodeSelector) -}} @@ -125,6 +128,11 @@ affinity: {{- end }} {{- end -}} +{{- define "ocis.priorityClassName" -}} +{{- if . }} +priorityClassName: {{ . | quote }} +{{- end }} +{{- end -}} {{/* {{/* diff --git a/charts/ocis/templates/antivirus/deployment.yaml b/charts/ocis/templates/antivirus/deployment.yaml index cbf39ff99..01063ab25 100644 --- a/charts/ocis/templates/antivirus/deployment.yaml +++ b/charts/ocis/templates/antivirus/deployment.yaml @@ -15,6 +15,7 @@ spec: {{- include "ocis.serviceAccount" . | nindent 6 }} {{- include "ocis.affinity" .Values.services.antivirus | nindent 6 }} {{- include "ocis.securityContextAndtopologySpreadConstraints" . | nindent 6 }} + {{- include "ocis.priorityClassName" $.priorityClassName | nindent 6 }} nodeSelector: {{ toYaml $.nodeSelector | nindent 8 }} containers: - name: {{ .appName }} diff --git a/charts/ocis/templates/appprovider/deployment.yaml b/charts/ocis/templates/appprovider/deployment.yaml index abcff060d..6bc695b6f 100644 --- a/charts/ocis/templates/appprovider/deployment.yaml +++ b/charts/ocis/templates/appprovider/deployment.yaml @@ -16,6 +16,7 @@ spec: {{- include "ocis.serviceAccount" $ | nindent 6 }} {{- include "ocis.affinity" $.Values.services.appprovider | nindent 6 }} {{- include "ocis.securityContextAndtopologySpreadConstraints" $ | nindent 6 }} + {{- include "ocis.priorityClassName" $.priorityClassName | nindent 6 }} nodeSelector: {{ toYaml $.nodeSelector | nindent 8 }} containers: - name: {{ $.appName }} diff --git a/charts/ocis/templates/appregistry/deployment.yaml b/charts/ocis/templates/appregistry/deployment.yaml index 9b3d58dff..5397cba37 100644 --- a/charts/ocis/templates/appregistry/deployment.yaml +++ b/charts/ocis/templates/appregistry/deployment.yaml @@ -12,6 +12,7 @@ spec: {{- include "ocis.serviceAccount" . | nindent 6 }} {{- include "ocis.affinity" .Values.services.appregistry | nindent 6 }} {{- include "ocis.securityContextAndtopologySpreadConstraints" . | nindent 6 }} + {{- include "ocis.priorityClassName" $.priorityClassName | nindent 6 }} nodeSelector: {{ toYaml $.nodeSelector | nindent 8 }} containers: - name: {{ .appName }} diff --git a/charts/ocis/templates/audit/deployment.yaml b/charts/ocis/templates/audit/deployment.yaml index 0d0ea1f29..a26373c09 100644 --- a/charts/ocis/templates/audit/deployment.yaml +++ b/charts/ocis/templates/audit/deployment.yaml @@ -14,6 +14,7 @@ spec: {{- include "ocis.serviceAccount" . | nindent 6 }} {{- include "ocis.affinity" .Values.services.audit | nindent 6 }} {{- include "ocis.securityContextAndtopologySpreadConstraints" . | nindent 6 }} + {{- include "ocis.priorityClassName" $.priorityClassName | nindent 6 }} nodeSelector: {{ toYaml $.nodeSelector | nindent 8 }} containers: - name: {{ .appName }} diff --git a/charts/ocis/templates/authbasic/deployment.yaml b/charts/ocis/templates/authbasic/deployment.yaml index 0ef001add..0566b29ae 100644 --- a/charts/ocis/templates/authbasic/deployment.yaml +++ b/charts/ocis/templates/authbasic/deployment.yaml @@ -15,6 +15,7 @@ spec: {{- include "ocis.serviceAccount" . | nindent 6 }} {{- include "ocis.affinity" .Values.services.authbasic | nindent 6 }} {{- include "ocis.securityContextAndtopologySpreadConstraints" . | nindent 6 }} + {{- include "ocis.priorityClassName" $.priorityClassName | nindent 6 }} nodeSelector: {{ toYaml $.nodeSelector | nindent 8 }} containers: - name: {{ .appName }} diff --git a/charts/ocis/templates/authmachine/deployment.yaml b/charts/ocis/templates/authmachine/deployment.yaml index 761a14c6e..8f3e35364 100644 --- a/charts/ocis/templates/authmachine/deployment.yaml +++ b/charts/ocis/templates/authmachine/deployment.yaml @@ -14,6 +14,7 @@ spec: {{- include "ocis.serviceAccount" . | nindent 6 }} {{- include "ocis.affinity" .Values.services.authmachine | nindent 6 }} {{- include "ocis.securityContextAndtopologySpreadConstraints" . | nindent 6 }} + {{- include "ocis.priorityClassName" $.priorityClassName | nindent 6 }} nodeSelector: {{ toYaml $.nodeSelector | nindent 8 }} containers: - name: {{ .appName }} diff --git a/charts/ocis/templates/eventhistory/deployment.yaml b/charts/ocis/templates/eventhistory/deployment.yaml index 4d8ebdb80..c72835595 100644 --- a/charts/ocis/templates/eventhistory/deployment.yaml +++ b/charts/ocis/templates/eventhistory/deployment.yaml @@ -15,6 +15,7 @@ spec: {{- include "ocis.serviceAccount" . | nindent 6 }} {{- include "ocis.affinity" .Values.services.eventhistory | nindent 6 }} {{- include "ocis.securityContextAndtopologySpreadConstraints" . | nindent 6 }} + {{- include "ocis.priorityClassName" $.priorityClassName | nindent 6 }} nodeSelector: {{ toYaml $.nodeSelector | nindent 8 }} containers: - name: {{ .appName }} diff --git a/charts/ocis/templates/frontend/deployment.yaml b/charts/ocis/templates/frontend/deployment.yaml index c9b8f0b50..fbfee5133 100644 --- a/charts/ocis/templates/frontend/deployment.yaml +++ b/charts/ocis/templates/frontend/deployment.yaml @@ -14,6 +14,7 @@ spec: {{- include "ocis.serviceAccount" . | nindent 6 }} {{- include "ocis.affinity" .Values.services.frontend | nindent 6 }} {{- include "ocis.securityContextAndtopologySpreadConstraints" . | nindent 6 }} + {{- include "ocis.priorityClassName" $.priorityClassName | nindent 6 }} nodeSelector: {{ toYaml $.nodeSelector | nindent 8 }} containers: - name: {{ .appName }} diff --git a/charts/ocis/templates/gateway/deployment.yaml b/charts/ocis/templates/gateway/deployment.yaml index 85e6ff2e1..5dd6cd874 100644 --- a/charts/ocis/templates/gateway/deployment.yaml +++ b/charts/ocis/templates/gateway/deployment.yaml @@ -14,6 +14,7 @@ spec: {{- include "ocis.serviceAccount" . | nindent 6 }} {{- include "ocis.affinity" .Values.services.gateway | nindent 6 }} {{- include "ocis.securityContextAndtopologySpreadConstraints" . | nindent 6 }} + {{- include "ocis.priorityClassName" $.priorityClassName | nindent 6 }} nodeSelector: {{ toYaml $.nodeSelector | nindent 8 }} containers: - name: {{ .appName }} diff --git a/charts/ocis/templates/graph/deployment.yaml b/charts/ocis/templates/graph/deployment.yaml index 7831580c3..17c3939a2 100644 --- a/charts/ocis/templates/graph/deployment.yaml +++ b/charts/ocis/templates/graph/deployment.yaml @@ -14,6 +14,7 @@ spec: {{- include "ocis.serviceAccount" . | nindent 6 }} {{- include "ocis.affinity" .Values.services.graph | nindent 6 }} {{- include "ocis.securityContextAndtopologySpreadConstraints" . | nindent 6 }} + {{- include "ocis.priorityClassName" $.priorityClassName | nindent 6 }} nodeSelector: {{ toYaml $.nodeSelector | nindent 8 }} containers: - name: {{ .appName }} diff --git a/charts/ocis/templates/groups/deployment.yaml b/charts/ocis/templates/groups/deployment.yaml index 3b97d7e16..2aaa5e7fb 100644 --- a/charts/ocis/templates/groups/deployment.yaml +++ b/charts/ocis/templates/groups/deployment.yaml @@ -14,6 +14,7 @@ spec: {{- include "ocis.serviceAccount" . | nindent 6 }} {{- include "ocis.affinity" .Values.services.groups | nindent 6 }} {{- include "ocis.securityContextAndtopologySpreadConstraints" . | nindent 6 }} + {{- include "ocis.priorityClassName" $.priorityClassName | nindent 6 }} nodeSelector: {{ toYaml $.nodeSelector | nindent 8 }} containers: - name: {{ .appName }} diff --git a/charts/ocis/templates/idm/deployment.yaml b/charts/ocis/templates/idm/deployment.yaml index 556618e71..fc13adea8 100644 --- a/charts/ocis/templates/idm/deployment.yaml +++ b/charts/ocis/templates/idm/deployment.yaml @@ -34,6 +34,7 @@ spec: volumeMounts: - name: {{ include "ocis.persistence.dataVolumeName" . }} mountPath: /var/lib/ocis + {{- include "ocis.priorityClassName" $.priorityClassName | nindent 6 }} nodeSelector: {{ toYaml $.nodeSelector | nindent 8 }} containers: - name: {{ .appName }} diff --git a/charts/ocis/templates/idp/deployment.yaml b/charts/ocis/templates/idp/deployment.yaml index 00b34a14e..1bd5d1fcb 100644 --- a/charts/ocis/templates/idp/deployment.yaml +++ b/charts/ocis/templates/idp/deployment.yaml @@ -16,6 +16,7 @@ spec: {{- include "ocis.serviceAccount" . | nindent 6 }} {{- include "ocis.affinity" .Values.services.idp | nindent 6 }} {{- include "ocis.securityContextAndtopologySpreadConstraints" . | nindent 6 }} + {{- include "ocis.priorityClassName" $.priorityClassName | nindent 6 }} nodeSelector: {{ toYaml $.nodeSelector | nindent 8 }} containers: - name: {{ .appName }} diff --git a/charts/ocis/templates/nats/deployment.yaml b/charts/ocis/templates/nats/deployment.yaml index 8cb09e4e2..df3d1a1b4 100644 --- a/charts/ocis/templates/nats/deployment.yaml +++ b/charts/ocis/templates/nats/deployment.yaml @@ -26,6 +26,7 @@ spec: - name: {{ include "ocis.persistence.dataVolumeName" . }} mountPath: /var/lib/ocis {{ end }} + {{- include "ocis.priorityClassName" $.priorityClassName | nindent 6 }} nodeSelector: {{ toYaml $.nodeSelector | nindent 8 }} containers: - name: {{ .appName }} diff --git a/charts/ocis/templates/notifications/deployment.yaml b/charts/ocis/templates/notifications/deployment.yaml index c827acd03..8ae3bbcd5 100644 --- a/charts/ocis/templates/notifications/deployment.yaml +++ b/charts/ocis/templates/notifications/deployment.yaml @@ -15,6 +15,7 @@ spec: {{- include "ocis.serviceAccount" . | nindent 6 }} {{- include "ocis.affinity" .Values.services.notifications | nindent 6 }} {{- include "ocis.securityContextAndtopologySpreadConstraints" . | nindent 6 }} + {{- include "ocis.priorityClassName" $.priorityClassName | nindent 6 }} nodeSelector: {{ toYaml $.nodeSelector | nindent 8 }} containers: - name: {{ .appName }} diff --git a/charts/ocis/templates/ocdav/deployment.yaml b/charts/ocis/templates/ocdav/deployment.yaml index e1470eeaf..624c1af9f 100644 --- a/charts/ocis/templates/ocdav/deployment.yaml +++ b/charts/ocis/templates/ocdav/deployment.yaml @@ -14,6 +14,7 @@ spec: {{- include "ocis.serviceAccount" . | nindent 6 }} {{- include "ocis.affinity" .Values.services.ocdav | nindent 6 }} {{- include "ocis.securityContextAndtopologySpreadConstraints" . | nindent 6 }} + {{- include "ocis.priorityClassName" $.priorityClassName | nindent 6 }} nodeSelector: {{ toYaml $.nodeSelector | nindent 8 }} containers: - name: {{ .appName }} diff --git a/charts/ocis/templates/ocs/deployment.yaml b/charts/ocis/templates/ocs/deployment.yaml index 676a2784f..ffeac6b8d 100644 --- a/charts/ocis/templates/ocs/deployment.yaml +++ b/charts/ocis/templates/ocs/deployment.yaml @@ -14,6 +14,7 @@ spec: {{- include "ocis.serviceAccount" . | nindent 6 }} {{- include "ocis.affinity" .Values.services.ocs | nindent 6 }} {{- include "ocis.securityContextAndtopologySpreadConstraints" . | nindent 6 }} + {{- include "ocis.priorityClassName" $.priorityClassName | nindent 6 }} nodeSelector: {{ toYaml $.nodeSelector | nindent 8 }} containers: - name: {{ .appName }} diff --git a/charts/ocis/templates/policies/deployment.yaml b/charts/ocis/templates/policies/deployment.yaml index 2392081ef..0d621c9f9 100644 --- a/charts/ocis/templates/policies/deployment.yaml +++ b/charts/ocis/templates/policies/deployment.yaml @@ -25,6 +25,7 @@ spec: topologySpreadConstraints: {{- tpl . $ | nindent 8 }} {{- end }} + {{- include "ocis.priorityClassName" $.priorityClassName | nindent 6 }} nodeSelector: {{ toYaml $.nodeSelector | nindent 8 }} containers: - name: {{ .appName }} diff --git a/charts/ocis/templates/postprocessing/deployment.yaml b/charts/ocis/templates/postprocessing/deployment.yaml index 97c3723a4..8c9dca3de 100644 --- a/charts/ocis/templates/postprocessing/deployment.yaml +++ b/charts/ocis/templates/postprocessing/deployment.yaml @@ -17,6 +17,7 @@ spec: {{- include "ocis.serviceAccount" . | nindent 6 }} {{- include "ocis.affinity" .Values.services.postprocessing | nindent 6 }} {{- include "ocis.securityContextAndtopologySpreadConstraints" . | nindent 6 }} + {{- include "ocis.priorityClassName" $.priorityClassName | nindent 6 }} nodeSelector: {{ toYaml $.nodeSelector | nindent 8 }} containers: - name: {{ .appName }} diff --git a/charts/ocis/templates/proxy/deployment.yaml b/charts/ocis/templates/proxy/deployment.yaml index 0a92fd6ac..293fb7c09 100644 --- a/charts/ocis/templates/proxy/deployment.yaml +++ b/charts/ocis/templates/proxy/deployment.yaml @@ -14,6 +14,7 @@ spec: {{- include "ocis.serviceAccount" . | nindent 6 }} {{- include "ocis.affinity" .Values.services.proxy | nindent 6 }} {{- include "ocis.securityContextAndtopologySpreadConstraints" . | nindent 6 }} + {{- include "ocis.priorityClassName" $.priorityClassName | nindent 6 }} nodeSelector: {{ toYaml $.nodeSelector | nindent 8 }} containers: - name: {{ .appName }} diff --git a/charts/ocis/templates/search/deployment.yaml b/charts/ocis/templates/search/deployment.yaml index 7094331f0..847045658 100644 --- a/charts/ocis/templates/search/deployment.yaml +++ b/charts/ocis/templates/search/deployment.yaml @@ -25,6 +25,7 @@ spec: - name: {{ include "ocis.persistence.dataVolumeName" . }} mountPath: /var/lib/ocis {{ end }} + {{- include "ocis.priorityClassName" $.priorityClassName | nindent 6 }} nodeSelector: {{ toYaml $.nodeSelector | nindent 8 }} containers: - name: {{ .appName }} diff --git a/charts/ocis/templates/settings/deployment.yaml b/charts/ocis/templates/settings/deployment.yaml index df368c7ce..7c6b58a80 100644 --- a/charts/ocis/templates/settings/deployment.yaml +++ b/charts/ocis/templates/settings/deployment.yaml @@ -14,6 +14,7 @@ spec: {{- include "ocis.serviceAccount" . | nindent 6 }} {{- include "ocis.affinity" .Values.services.settings | nindent 6 }} {{- include "ocis.securityContextAndtopologySpreadConstraints" . | nindent 6 }} + {{- include "ocis.priorityClassName" $.priorityClassName | nindent 6 }} nodeSelector: {{ toYaml $.nodeSelector | nindent 8 }} containers: - name: {{ .appName }} diff --git a/charts/ocis/templates/sharing/deployment.yaml b/charts/ocis/templates/sharing/deployment.yaml index df71e55f3..3734109a6 100644 --- a/charts/ocis/templates/sharing/deployment.yaml +++ b/charts/ocis/templates/sharing/deployment.yaml @@ -14,6 +14,7 @@ spec: {{- include "ocis.serviceAccount" . | nindent 6 }} {{- include "ocis.affinity" .Values.services.sharing | nindent 6 }} {{- include "ocis.securityContextAndtopologySpreadConstraints" . | nindent 6 }} + {{- include "ocis.priorityClassName" $.priorityClassName | nindent 6 }} nodeSelector: {{ toYaml $.nodeSelector | nindent 8 }} containers: - name: {{ .appName }} diff --git a/charts/ocis/templates/storagepubliclink/deployment.yaml b/charts/ocis/templates/storagepubliclink/deployment.yaml index e455c53fa..60fa00469 100644 --- a/charts/ocis/templates/storagepubliclink/deployment.yaml +++ b/charts/ocis/templates/storagepubliclink/deployment.yaml @@ -14,6 +14,7 @@ spec: {{- include "ocis.serviceAccount" . | nindent 6 }} {{- include "ocis.affinity" .Values.services.storagepubliclink | nindent 6 }} {{- include "ocis.securityContextAndtopologySpreadConstraints" . | nindent 6 }} + {{- include "ocis.priorityClassName" $.priorityClassName | nindent 6 }} nodeSelector: {{ toYaml $.nodeSelector | nindent 8 }} containers: - name: {{ .appName }} diff --git a/charts/ocis/templates/storageshares/deployment.yaml b/charts/ocis/templates/storageshares/deployment.yaml index bf0c16a8c..fab38f7db 100644 --- a/charts/ocis/templates/storageshares/deployment.yaml +++ b/charts/ocis/templates/storageshares/deployment.yaml @@ -14,6 +14,7 @@ spec: {{- include "ocis.serviceAccount" . | nindent 6 }} {{- include "ocis.affinity" .Values.services.storageshares | nindent 6 }} {{- include "ocis.securityContextAndtopologySpreadConstraints" . | nindent 6 }} + {{- include "ocis.priorityClassName" $.priorityClassName | nindent 6 }} nodeSelector: {{ toYaml $.nodeSelector | nindent 8 }} containers: - name: {{ .appName }} diff --git a/charts/ocis/templates/storagesystem/deployment.yaml b/charts/ocis/templates/storagesystem/deployment.yaml index 3392e8de5..8ecae47a6 100644 --- a/charts/ocis/templates/storagesystem/deployment.yaml +++ b/charts/ocis/templates/storagesystem/deployment.yaml @@ -26,6 +26,7 @@ spec: - name: {{ include "ocis.persistence.dataVolumeName" . }} mountPath: /var/lib/ocis {{ end }} + {{- include "ocis.priorityClassName" $.priorityClassName | nindent 6 }} nodeSelector: {{ toYaml $.nodeSelector | nindent 8 }} containers: - name: {{ .appName }} diff --git a/charts/ocis/templates/storageusers/deployment.yaml b/charts/ocis/templates/storageusers/deployment.yaml index ada769c9a..ba4d661de 100644 --- a/charts/ocis/templates/storageusers/deployment.yaml +++ b/charts/ocis/templates/storageusers/deployment.yaml @@ -26,6 +26,7 @@ spec: - name: {{ include "ocis.persistence.dataVolumeName" . }} mountPath: /var/lib/ocis {{ end }} + {{- include "ocis.priorityClassName" $.priorityClassName | nindent 6 }} nodeSelector: {{ toYaml $.nodeSelector | nindent 8 }} containers: - name: {{ .appName }} diff --git a/charts/ocis/templates/storageusers/jobs.yaml b/charts/ocis/templates/storageusers/jobs.yaml index 23bd9cd53..48ae4c3df 100644 --- a/charts/ocis/templates/storageusers/jobs.yaml +++ b/charts/ocis/templates/storageusers/jobs.yaml @@ -24,6 +24,7 @@ spec: spec: {{- include "ocis.serviceAccount" . | nindent 10 }} restartPolicy: Never + {{- include "ocis.priorityClassName" $.jobPriorityClassName | nindent 10 }} nodeSelector: {{ toYaml $.jobNodeSelector | nindent 12 }} containers: - name: storage-users-clean-expired-uploads diff --git a/charts/ocis/templates/store/deployment.yaml b/charts/ocis/templates/store/deployment.yaml index a97a1dc19..86aff927d 100644 --- a/charts/ocis/templates/store/deployment.yaml +++ b/charts/ocis/templates/store/deployment.yaml @@ -25,6 +25,7 @@ spec: - name: {{ include "ocis.persistence.dataVolumeName" . }} mountPath: /var/lib/ocis {{ end }} + {{- include "ocis.priorityClassName" $.priorityClassName | nindent 6 }} nodeSelector: {{ toYaml $.nodeSelector | nindent 8 }} containers: - name: {{ .appName }} diff --git a/charts/ocis/templates/thumbnails/deployment.yaml b/charts/ocis/templates/thumbnails/deployment.yaml index ffe096467..2d73cce0e 100644 --- a/charts/ocis/templates/thumbnails/deployment.yaml +++ b/charts/ocis/templates/thumbnails/deployment.yaml @@ -26,6 +26,7 @@ spec: - name: {{ include "ocis.persistence.dataVolumeName" . }} mountPath: /var/lib/ocis {{ end }} + {{- include "ocis.priorityClassName" $.priorityClassName | nindent 6 }} nodeSelector: {{ toYaml $.nodeSelector | nindent 8 }} containers: - name: {{ .appName }} diff --git a/charts/ocis/templates/thumbnails/jobs.yaml b/charts/ocis/templates/thumbnails/jobs.yaml index a8866fe85..4afd703d2 100644 --- a/charts/ocis/templates/thumbnails/jobs.yaml +++ b/charts/ocis/templates/thumbnails/jobs.yaml @@ -27,6 +27,7 @@ spec: restartPolicy: Never {{- include "ocis.serviceAccount" . | nindent 10 }} {{- include "ocis.securityContextAndtopologySpreadConstraints" . | nindent 10 }} + {{- include "ocis.priorityClassName" $.jobPriorityClassName | nindent 10 }} nodeSelector: {{ toYaml $.jobNodeSelector | nindent 12 }} containers: - name: thumbnails-cleanup diff --git a/charts/ocis/templates/userlog/deployment.yaml b/charts/ocis/templates/userlog/deployment.yaml index e2a552824..3bce3e2b7 100644 --- a/charts/ocis/templates/userlog/deployment.yaml +++ b/charts/ocis/templates/userlog/deployment.yaml @@ -15,6 +15,7 @@ spec: {{- include "ocis.serviceAccount" . | nindent 6 }} {{- include "ocis.affinity" .Values.services.userlog | nindent 6 }} {{- include "ocis.securityContextAndtopologySpreadConstraints" . | nindent 6 }} + {{- include "ocis.priorityClassName" $.priorityClassName | nindent 6 }} nodeSelector: {{ toYaml $.nodeSelector | nindent 8 }} containers: - name: {{ .appName }} diff --git a/charts/ocis/templates/users/deployment.yaml b/charts/ocis/templates/users/deployment.yaml index 4e85ce322..79e7a9ed2 100644 --- a/charts/ocis/templates/users/deployment.yaml +++ b/charts/ocis/templates/users/deployment.yaml @@ -14,6 +14,7 @@ spec: {{- include "ocis.serviceAccount" . | nindent 6 }} {{- include "ocis.affinity" .Values.services.users | nindent 6 }} {{- include "ocis.securityContextAndtopologySpreadConstraints" . | nindent 6 }} + {{- include "ocis.priorityClassName" $.priorityClassName | nindent 6 }} nodeSelector: {{ toYaml $.nodeSelector | nindent 8 }} containers: - name: {{ .appName }} diff --git a/charts/ocis/templates/web/deployment.yaml b/charts/ocis/templates/web/deployment.yaml index 66668e68d..c8576c3f9 100644 --- a/charts/ocis/templates/web/deployment.yaml +++ b/charts/ocis/templates/web/deployment.yaml @@ -14,6 +14,7 @@ spec: {{- include "ocis.serviceAccount" . | nindent 6 }} {{- include "ocis.affinity" .Values.services.web | nindent 6 }} {{- include "ocis.securityContextAndtopologySpreadConstraints" . | nindent 6 }} + {{- include "ocis.priorityClassName" $.priorityClassName | nindent 6 }} nodeSelector: {{ toYaml $.nodeSelector | nindent 8 }} containers: - name: {{ .appName }} diff --git a/charts/ocis/templates/webdav/deployment.yaml b/charts/ocis/templates/webdav/deployment.yaml index 11dda1b72..05c5803fd 100644 --- a/charts/ocis/templates/webdav/deployment.yaml +++ b/charts/ocis/templates/webdav/deployment.yaml @@ -14,6 +14,7 @@ spec: {{- include "ocis.serviceAccount" . | nindent 6 }} {{- include "ocis.affinity" .Values.services.webdav | nindent 6 }} {{- include "ocis.securityContextAndtopologySpreadConstraints" . | nindent 6 }} + {{- include "ocis.priorityClassName" $.priorityClassName | nindent 6 }} nodeSelector: {{ toYaml $.nodeSelector | nindent 8 }} containers: - name: {{ .appName }} diff --git a/charts/ocis/values.yaml b/charts/ocis/values.yaml index 7879d56b4..77746ef47 100644 --- a/charts/ocis/values.yaml +++ b/charts/ocis/values.yaml @@ -662,6 +662,18 @@ jobNodeSelector: # kubernetes.io/hostname: node-01 # kubernetes.io/arch: "amd64" +# -- Default priorityClassName to apply to all services, except per-service jobPriorityClassName configuration in `services..jobPriorityClassName` is set. +jobPriorityClassName: "" + # ocis-low-priority + # ocis-medium-priority + # ocis-high-priority + +# -- Default priorityClassName to apply to all services, except per-service priorityClassName configuration in `services..priorityClassName` is set. +priorityClassName: "" + # ocis-low-priority + # ocis-medium-priority + # ocis-high-priority + # Include arbitrary resources, eg. config maps or a cert-manager issuer (see example below) # -- Extra resources to be included. extraResources: [] @@ -691,7 +703,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} - + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Affinity settings for the approvider service. affinity: {} # -- Configuration for the appprovider service, every other service will have the same configuration. @@ -731,6 +744,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Affinity settings for the appregistry service. See the documentation of this setting in approvider for examples. affinity: {} # -- Per-service custom labels @@ -743,6 +758,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Per-service autoscaling. Overrides the default setting from `autoscaling` if set. @@ -759,6 +776,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Per-service autoscaling. Overrides the default setting from `autoscaling` if set. @@ -775,6 +794,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Per-service autoscaling. Overrides the default setting from `autoscaling` if set. @@ -791,6 +812,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Per-service autoscaling. Overrides the default setting from `autoscaling` if set. @@ -807,6 +830,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service store configuration for the eventhistory service. Overrides the default setting from `store` if set. store: {} @@ -833,6 +858,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Per-service autoscaling. Overrides the default setting from `autoscaling` if set. @@ -849,6 +876,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Per-service autoscaling. Overrides the default setting from `autoscaling` if set. @@ -865,6 +894,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Per-service autoscaling. Overrides the default setting from `autoscaling` if set. @@ -881,6 +912,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Per-service autoscaling. Overrides the default setting from `autoscaling` if set. @@ -929,6 +962,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Affinity settings for the idm service. See the documentation of this setting in approvider for examples. affinity: {} # -- Per-service custom labels @@ -941,6 +976,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Affinity settings for the idp service. See the documentation of this setting in approvider for examples. affinity: {} # -- Per-service custom labels @@ -985,6 +1022,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Affinity settings for the nats service. See the documentation of this setting in approvider for examples. affinity: {} # -- Per-service custom labels @@ -997,6 +1036,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Per-service autoscaling. Overrides the default setting from `autoscaling` if set. @@ -1013,6 +1054,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Per-service autoscaling. Overrides the default setting from `autoscaling` if set. @@ -1029,6 +1072,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Per-service autoscaling. Overrides the default setting from `autoscaling` if set. @@ -1045,6 +1090,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Per-service autoscaling. Overrides the default setting from `autoscaling` if set. @@ -1061,6 +1108,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Per-service store configuration for the eventhistory service. Overrides the default setting from `store` if set. @@ -1079,6 +1128,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Per-service autoscaling. Overrides the default setting from `autoscaling` if set. @@ -1140,6 +1191,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Affinity settings for the search service. See the documentation of this setting in approvider for examples. @@ -1154,6 +1207,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Per-service autoscaling. Overrides the default setting from `autoscaling` if set. @@ -1170,6 +1225,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Per-service autoscaling. Overrides the default setting from `autoscaling` if set. @@ -1186,6 +1243,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Per-service autoscaling. Overrides the default setting from `autoscaling` if set. @@ -1202,6 +1261,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Per-service autoscaling. Overrides the default setting from `autoscaling` if set. @@ -1250,6 +1311,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Per-service autoscaling. Overrides the default setting from `autoscaling` if set. @@ -1376,6 +1439,10 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" + # -- Per-service jobPriorityClassName configuration. Overrides the default setting from `jobPriorityClassName` if set. + jobPriorityClassName: "" # -- Per-service jobResources configuration. Overrides the default setting from `jobResources` if set. jobResources: {} # -- Per-service jobNodeSelector configuration. Overrides the default setting from `jobNodeSelector` if set. @@ -1428,6 +1495,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Affinity settings for the store service. See the documentation of this setting in approvider for examples. affinity: {} # -- Per-service custom labels @@ -1471,10 +1540,14 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service jobResources configuration. Overrides the default setting from `jobResources` if set. jobResources: {} # -- Per-service jobNodeSelector configuration. Overrides the default setting from `jobNodeSelector` if set. jobNodeSelector: {} + # -- Per-service jobPriorityClassName configuration. Overrides the default setting from `jobPriorityClassName` if set. + jobPriorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Maintenance configuration for cleanup jobs. @@ -1512,6 +1585,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service store configuration for the userlog service. Overrides the default setting from `store` if set. store: {} @@ -1538,6 +1613,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Per-service autoscaling. Overrides the default setting from `autoscaling` if set. @@ -1670,6 +1747,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Per-service autoscaling. Overrides the default setting from `autoscaling` if set. @@ -1686,6 +1765,8 @@ services: resources: {} # -- Per-service nodeSelector configuration. Overrides the default setting from `nodeSelector` if set. nodeSelector: {} + # -- Per-service priorityClassName configuration. Overrides the default setting from `priorityClassName` if set. + priorityClassName: "" # -- Per-service PodDisruptionBudget. Overrides the default setting from `podDisruptionBudget` if set. podDisruptionBudget: {} # -- Per-service autoscaling. Overrides the default setting from `autoscaling` if set. diff --git a/deployments/priority-classes/README.md b/deployments/priority-classes/README.md new file mode 100644 index 000000000..b0597280d --- /dev/null +++ b/deployments/priority-classes/README.md @@ -0,0 +1,54 @@ +# oCIS development priorityClasses example + +## Introduction + +This example shows how to use custom priority classes for all services. +It will deploy an oCIS instance and add custom priority classes, preconfigured to work "out of the box" after a `helmfile sync`. + +***Note***: This example is not intended for production use. It is intended to get a working oCIS +development running in Kubernetes as quickly as possible. It is not hardened in any way. + +## Getting started + +### Prerequisites + +This example requires the following things to be installed: + +- [Kubernetes](https://kubernetes.io/) cluster, with an ingress controller installed. +- [Helm](https://helm.sh/) v3 +- [Helmfile](https://github.com/helmfile/helmfile) + +### End result + +After following the steps in this guide, you should be able to access the following endpoint, you +may want to add these to your `/etc/hosts` file pointing to your ingress controller IP: + +- https://ocis.kube.owncloud.test + +Note that if you want to use your own hostname and domain, you will have to change the `externalDomain` value. + +### Deploying + +In this directory, run the following commands: + +```bash +$ helmfile sync +``` + +This will deploy all the needed steps. + +### Logging in + +You can get the admin password with the following command: + +```bash +$ kubectl -n ocis get secrets/admin-user --template='{{.data.password | base64decode | printf "%s\n" }}' +``` + +You can use this password to login with the user `admin`. + +### Limitations + +As this is deployed with a `ReadWriteOnce` storage access mode, the deployments persistence will be limited to +a single pod. If you want to scale the pods, you will need to change the storage access mode to `ReadWriteMany`. +If you do this, please check if your storage provider supports this access mode. diff --git a/deployments/priority-classes/examples/priority.yml b/deployments/priority-classes/examples/priority.yml new file mode 100644 index 000000000..4acf5a2f3 --- /dev/null +++ b/deployments/priority-classes/examples/priority.yml @@ -0,0 +1,23 @@ +apiVersion: scheduling.k8s.io/v1 +kind: PriorityClass +metadata: + name: ocis-low-priority +value: 1000000 +globalDefault: false +description: "This priority class should be used for oCIS service pods only." +--- +apiVersion: scheduling.k8s.io/v1 +kind: PriorityClass +metadata: + name: ocis-medium-priority +value: 1000500 +globalDefault: false +description: "This priority class should be used for oCIS service pods only." +--- +apiVersion: scheduling.k8s.io/v1 +kind: PriorityClass +metadata: + name: ocis-high-priority +value: 1001000 +globalDefault: false +description: "This priority class should be used for oCIS service pods only." diff --git a/deployments/priority-classes/helmfile.yaml b/deployments/priority-classes/helmfile.yaml new file mode 100644 index 000000000..71cb8cb73 --- /dev/null +++ b/deployments/priority-classes/helmfile.yaml @@ -0,0 +1,75 @@ +releases: + - name: custom-priorityclasses + chart: ./examples + + - name: ocis + chart: ../../charts/ocis + namespace: ocis + values: + - externalDomain: ocis.kube.owncloud.test + - priorityClassName: ocis-high-priority + - ingress: + enabled: true + ingressClassName: nginx + annotations: + nginx.ingress.kubernetes.io/proxy-body-size: 1024m + tls: + - secretName: ocis-dev-tls + hosts: + - ocis.kube.owncloud.test + - logging: + level: debug + + - insecure: + oidcIdpInsecure: true + ocisHttpApiInsecure: true + + - services: + idm: + persistence: + enabled: true + + appprovider: + priorityClassName: ocis-low-priority + + notifications: + priorityClassName: ocis-low-priority + + webdav: + priorityClassName: ocis-medium-priority + + nats: + persistence: + enabled: true + + search: + persistence: + enabled: true + priorityClassName: ocis-medium-priority + + storagesystem: + persistence: + enabled: true + + storageusers: + persistence: + enabled: true + priorityClassName: ocis-high-priority + jobPriorityClassName: ocis-low-priority + + store: + persistence: + enabled: true + priorityClassName: ocis-medium-priority + + thumbnails: + persistence: + enabled: true + priorityClassName: ocis-low-priority + jobPriorityClassName: ocis-low-priority + + web: + persistence: + enabled: true + priorityClassName: ocis-high-priority +