From 0ed03153438546e1de0dffbf8c2d52d883d25d9c Mon Sep 17 00:00:00 2001 From: akshat5302 Date: Mon, 21 Jul 2025 13:42:37 +0530 Subject: [PATCH 1/7] Bump Plane version to 1.3.0 in Chart.yaml and add Horizontal Pod Autoscaler (HPA) configurations for multiple services in values.yaml and deployment templates. The HPA settings include minimum and maximum replicas along with CPU and memory utilization targets. --- charts/plane-enterprise/Chart.yaml | 2 +- .../plane-enterprise/templates/_helpers.tpl | 9 ++++ .../templates/workloads/admin.deployment.yaml | 37 ++++++++++++++++ .../templates/workloads/api.deployment.yaml | 38 +++++++++++++++++ .../workloads/beat-worker.deployment.yaml | 37 ++++++++++++++++ .../templates/workloads/live.deployment.yaml | 37 ++++++++++++++++ .../templates/workloads/silo.deployment.yaml | 38 +++++++++++++++++ .../templates/workloads/space.deployment.yaml | 37 ++++++++++++++++ .../templates/workloads/web.deployment.yaml | 37 ++++++++++++++++ .../workloads/worker.deployment.yaml | 37 ++++++++++++++++ charts/plane-enterprise/values.yaml | 42 ++++++++++++++++++- 11 files changed, 349 insertions(+), 2 deletions(-) diff --git a/charts/plane-enterprise/Chart.yaml b/charts/plane-enterprise/Chart.yaml index aa82fa93..221f382b 100644 --- a/charts/plane-enterprise/Chart.yaml +++ b/charts/plane-enterprise/Chart.yaml @@ -5,7 +5,7 @@ description: Meet Plane. An Enterprise software development tool to manage issue type: application -version: 1.2.7 +version: 1.3.0 appVersion: "1.12.1" home: https://plane.so/ diff --git a/charts/plane-enterprise/templates/_helpers.tpl b/charts/plane-enterprise/templates/_helpers.tpl index 17abdd07..81556d56 100644 --- a/charts/plane-enterprise/templates/_helpers.tpl +++ b/charts/plane-enterprise/templates/_helpers.tpl @@ -5,3 +5,12 @@ {{- define "hashString" -}} {{- printf "%s%s%s%s" .Values.license.licenseServer .Values.license.licenseDomain .Release.Namespace .Release.Name | sha256sum -}} {{- end -}} + +{{- define "enable.hpa" -}} +{{- $metrics := lookup "rbac.authorization.k8s.io/v1" "ClusterRole" "" "system:metrics-server" }} +{{- if not $metrics }} +false +{{- else }} +true +{{- end }} +{{- end }} diff --git a/charts/plane-enterprise/templates/workloads/admin.deployment.yaml b/charts/plane-enterprise/templates/workloads/admin.deployment.yaml index 8c4c57d9..70bd0d64 100644 --- a/charts/plane-enterprise/templates/workloads/admin.deployment.yaml +++ b/charts/plane-enterprise/templates/workloads/admin.deployment.yaml @@ -60,4 +60,41 @@ spec: serviceAccount: {{ .Release.Name }}-srv-account serviceAccountName: {{ .Release.Name }}-srv-account +--- +{{- if eq (include "enable.hpa" . | trim) "true" }} + +apiVersion: autoscaling/v2 +kind: HorizontalPodAutoscaler +metadata: + name: {{ .Release.Name }}-admin-hpa + namespace: {{ .Release.Namespace }} + labels: + app.name: {{ .Release.Namespace }}-{{ .Release.Name }}-admin-hpa +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: {{ .Release.Name }}-admin-wl + minReplicas: {{ .Values.services.admin.autoscaling.minReplicas }} + maxReplicas: {{ .Values.services.admin.autoscaling.maxReplicas }} + {{- if or .Values.services.admin.autoscaling.targetCPUUtilizationPercentage .Values.services.admin.autoscaling.targetMemoryUtilizationPercentage }} + metrics: + {{- if .Values.services.admin.autoscaling.targetCPUUtilizationPercentage }} + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: {{ .Values.services.admin.autoscaling.targetCPUUtilizationPercentage }} + {{- end }} + {{- if .Values.services.admin.autoscaling.targetMemoryUtilizationPercentage }} + - type: Resource + resource: + name: memory + target: + type: Utilization + averageUtilization: {{ .Values.services.admin.autoscaling.targetMemoryUtilizationPercentage }} + {{- end }} + {{- end }} +{{- end }} --- \ No newline at end of file diff --git a/charts/plane-enterprise/templates/workloads/api.deployment.yaml b/charts/plane-enterprise/templates/workloads/api.deployment.yaml index 8831c0ac..9bf3f76e 100644 --- a/charts/plane-enterprise/templates/workloads/api.deployment.yaml +++ b/charts/plane-enterprise/templates/workloads/api.deployment.yaml @@ -81,4 +81,42 @@ spec: serviceAccount: {{ .Release.Name }}-srv-account serviceAccountName: {{ .Release.Name }}-srv-account + +--- +{{- if eq (include "enable.hpa" . | trim) "true" }} + +apiVersion: autoscaling/v2 +kind: HorizontalPodAutoscaler +metadata: + name: {{ .Release.Name }}-api-hpa + namespace: {{ .Release.Namespace }} + labels: + app.name: {{ .Release.Namespace }}-{{ .Release.Name }}-api-hpa +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: {{ .Release.Name }}-api-wl + minReplicas: {{ .Values.services.api.autoscaling.minReplicas }} + maxReplicas: {{ .Values.services.api.autoscaling.maxReplicas }} + {{- if or .Values.services.api.autoscaling.targetCPUUtilizationPercentage .Values.services.api.autoscaling.targetMemoryUtilizationPercentage }} + metrics: + {{- if .Values.services.api.autoscaling.targetCPUUtilizationPercentage }} + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: {{ .Values.services.api.autoscaling.targetCPUUtilizationPercentage }} + {{- end }} + {{- if .Values.services.api.autoscaling.targetMemoryUtilizationPercentage }} + - type: Resource + resource: + name: memory + target: + type: Utilization + averageUtilization: {{ .Values.services.api.autoscaling.targetMemoryUtilizationPercentage }} + {{- end }} + {{- end }} +{{- end }} --- diff --git a/charts/plane-enterprise/templates/workloads/beat-worker.deployment.yaml b/charts/plane-enterprise/templates/workloads/beat-worker.deployment.yaml index 69fb9aac..cfd2f6f5 100644 --- a/charts/plane-enterprise/templates/workloads/beat-worker.deployment.yaml +++ b/charts/plane-enterprise/templates/workloads/beat-worker.deployment.yaml @@ -50,4 +50,41 @@ spec: serviceAccount: {{ .Release.Name }}-srv-account serviceAccountName: {{ .Release.Name }}-srv-account +--- +{{- if eq (include "enable.hpa" . | trim) "true" }} + +apiVersion: autoscaling/v2 +kind: HorizontalPodAutoscaler +metadata: + name: {{ .Release.Name }}-beat-worker-hpa + namespace: {{ .Release.Namespace }} + labels: + app.name: {{ .Release.Namespace }}-{{ .Release.Name }}-beat-worker-hpa +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: {{ .Release.Name }}-beat-worker-wl + minReplicas: {{ .Values.services.beatworker.autoscaling.minReplicas }} + maxReplicas: {{ .Values.services.beatworker.autoscaling.maxReplicas }} + {{- if or .Values.services.beatworker.autoscaling.targetCPUUtilizationPercentage .Values.services.beatworker.autoscaling.targetMemoryUtilizationPercentage }} + metrics: + {{- if .Values.services.beatworker.autoscaling.targetCPUUtilizationPercentage }} + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: {{ .Values.services.beatworker.autoscaling.targetCPUUtilizationPercentage }} + {{- end }} + {{- if .Values.services.beatworker.autoscaling.targetMemoryUtilizationPercentage }} + - type: Resource + resource: + name: memory + target: + type: Utilization + averageUtilization: {{ .Values.services.beatworker.autoscaling.targetMemoryUtilizationPercentage }} + {{- end }} + {{- end }} +{{- end }} --- \ No newline at end of file diff --git a/charts/plane-enterprise/templates/workloads/live.deployment.yaml b/charts/plane-enterprise/templates/workloads/live.deployment.yaml index c6084a83..c8d1a3cb 100644 --- a/charts/plane-enterprise/templates/workloads/live.deployment.yaml +++ b/charts/plane-enterprise/templates/workloads/live.deployment.yaml @@ -67,3 +67,40 @@ spec: serviceAccountName: {{ .Release.Name }}-srv-account --- +{{- if eq (include "enable.hpa" . | trim) "true" }} + +apiVersion: autoscaling/v2 +kind: HorizontalPodAutoscaler +metadata: + name: {{ .Release.Name }}-live-hpa + namespace: {{ .Release.Namespace }} + labels: + app.name: {{ .Release.Namespace }}-{{ .Release.Name }}-live-hpa +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: {{ .Release.Name }}-live-wl + minReplicas: {{ .Values.services.live.autoscaling.minReplicas }} + maxReplicas: {{ .Values.services.live.autoscaling.maxReplicas }} + {{- if or .Values.services.live.autoscaling.targetCPUUtilizationPercentage .Values.services.live.autoscaling.targetMemoryUtilizationPercentage }} + metrics: + {{- if .Values.services.live.autoscaling.targetCPUUtilizationPercentage }} + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: {{ .Values.services.live.autoscaling.targetCPUUtilizationPercentage }} + {{- end }} + {{- if .Values.services.live.autoscaling.targetMemoryUtilizationPercentage }} + - type: Resource + resource: + name: memory + target: + type: Utilization + averageUtilization: {{ .Values.services.live.autoscaling.targetMemoryUtilizationPercentage }} + {{- end }} + {{- end }} +{{- end }} +--- diff --git a/charts/plane-enterprise/templates/workloads/silo.deployment.yaml b/charts/plane-enterprise/templates/workloads/silo.deployment.yaml index 3fcc3df5..1a91833e 100644 --- a/charts/plane-enterprise/templates/workloads/silo.deployment.yaml +++ b/charts/plane-enterprise/templates/workloads/silo.deployment.yaml @@ -88,5 +88,43 @@ spec: optional: false serviceAccount: {{ .Release.Name }}-srv-account serviceAccountName: {{ .Release.Name }}-srv-account + +--- +{{- if eq (include "enable.hpa" . | trim) "true" }} + +apiVersion: autoscaling/v2 +kind: HorizontalPodAutoscaler +metadata: + name: {{ .Release.Name }}-silo-hpa + namespace: {{ .Release.Namespace }} + labels: + app.name: {{ .Release.Namespace }}-{{ .Release.Name }}-silo-hpa +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: {{ .Release.Name }}-silo-wl + minReplicas: {{ .Values.services.silo.autoscaling.minReplicas }} + maxReplicas: {{ .Values.services.silo.autoscaling.maxReplicas }} + {{- if or .Values.services.silo.autoscaling.targetCPUUtilizationPercentage .Values.services.silo.autoscaling.targetMemoryUtilizationPercentage }} + metrics: + {{- if .Values.services.silo.autoscaling.targetCPUUtilizationPercentage }} + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: {{ .Values.services.silo.autoscaling.targetCPUUtilizationPercentage }} + {{- end }} + {{- if .Values.services.silo.autoscaling.targetMemoryUtilizationPercentage }} + - type: Resource + resource: + name: memory + target: + type: Utilization + averageUtilization: {{ .Values.services.silo.autoscaling.targetMemoryUtilizationPercentage }} + {{- end }} + {{- end }} +{{- end }} --- {{- end }} \ No newline at end of file diff --git a/charts/plane-enterprise/templates/workloads/space.deployment.yaml b/charts/plane-enterprise/templates/workloads/space.deployment.yaml index 192ec7d5..7275dd56 100644 --- a/charts/plane-enterprise/templates/workloads/space.deployment.yaml +++ b/charts/plane-enterprise/templates/workloads/space.deployment.yaml @@ -60,4 +60,41 @@ spec: serviceAccount: {{ .Release.Name }}-srv-account serviceAccountName: {{ .Release.Name }}-srv-account +--- +{{- if eq (include "enable.hpa" . | trim) "true" }} + +apiVersion: autoscaling/v2 +kind: HorizontalPodAutoscaler +metadata: + name: {{ .Release.Name }}-space-hpa + namespace: {{ .Release.Namespace }} + labels: + app.name: {{ .Release.Namespace }}-{{ .Release.Name }}-space-hpa +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: {{ .Release.Name }}-space-wl + minReplicas: {{ .Values.services.space.autoscaling.minReplicas }} + maxReplicas: {{ .Values.services.space.autoscaling.maxReplicas }} + {{- if or .Values.services.space.autoscaling.targetCPUUtilizationPercentage .Values.services.space.autoscaling.targetMemoryUtilizationPercentage }} + metrics: + {{- if .Values.services.space.autoscaling.targetCPUUtilizationPercentage }} + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: {{ .Values.services.space.autoscaling.targetCPUUtilizationPercentage }} + {{- end }} + {{- if .Values.services.space.autoscaling.targetMemoryUtilizationPercentage }} + - type: Resource + resource: + name: memory + target: + type: Utilization + averageUtilization: {{ .Values.services.space.autoscaling.targetMemoryUtilizationPercentage }} + {{- end }} + {{- end }} +{{- end }} --- \ No newline at end of file diff --git a/charts/plane-enterprise/templates/workloads/web.deployment.yaml b/charts/plane-enterprise/templates/workloads/web.deployment.yaml index 2e97f329..4c64028f 100644 --- a/charts/plane-enterprise/templates/workloads/web.deployment.yaml +++ b/charts/plane-enterprise/templates/workloads/web.deployment.yaml @@ -60,4 +60,41 @@ spec: serviceAccount: {{ .Release.Name }}-srv-account serviceAccountName: {{ .Release.Name }}-srv-account +--- +{{- if eq (include "enable.hpa" . | trim) "true" }} + +apiVersion: autoscaling/v2 +kind: HorizontalPodAutoscaler +metadata: + name: {{ .Release.Name }}-web-hpa + namespace: {{ .Release.Namespace }} + labels: + app.name: {{ .Release.Namespace }}-{{ .Release.Name }}-web-hpa +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: {{ .Release.Name }}-web-wl + minReplicas: {{ .Values.services.web.autoscaling.minReplicas }} + maxReplicas: {{ .Values.services.web.autoscaling.maxReplicas }} + {{- if or .Values.services.web.autoscaling.targetCPUUtilizationPercentage .Values.services.web.autoscaling.targetMemoryUtilizationPercentage }} + metrics: + {{- if .Values.services.web.autoscaling.targetCPUUtilizationPercentage }} + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: {{ .Values.services.web.autoscaling.targetCPUUtilizationPercentage }} + {{- end }} + {{- if .Values.services.web.autoscaling.targetMemoryUtilizationPercentage }} + - type: Resource + resource: + name: memory + target: + type: Utilization + averageUtilization: {{ .Values.services.web.autoscaling.targetMemoryUtilizationPercentage }} + {{- end }} + {{- end }} +{{- end }} --- \ No newline at end of file diff --git a/charts/plane-enterprise/templates/workloads/worker.deployment.yaml b/charts/plane-enterprise/templates/workloads/worker.deployment.yaml index 8853a9eb..0aa5464e 100644 --- a/charts/plane-enterprise/templates/workloads/worker.deployment.yaml +++ b/charts/plane-enterprise/templates/workloads/worker.deployment.yaml @@ -50,4 +50,41 @@ spec: serviceAccount: {{ .Release.Name }}-srv-account serviceAccountName: {{ .Release.Name }}-srv-account +--- +{{- if eq (include "enable.hpa" . | trim) "true" }} + +apiVersion: autoscaling/v2 +kind: HorizontalPodAutoscaler +metadata: + name: {{ .Release.Name }}-worker-hpa + namespace: {{ .Release.Namespace }} + labels: + app.name: {{ .Release.Namespace }}-{{ .Release.Name }}-worker-hpa +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: {{ .Release.Name }}-worker-wl + minReplicas: {{ .Values.services.worker.autoscaling.minReplicas }} + maxReplicas: {{ .Values.services.worker.autoscaling.maxReplicas }} + {{- if or .Values.services.worker.autoscaling.targetCPUUtilizationPercentage .Values.services.worker.autoscaling.targetMemoryUtilizationPercentage }} + metrics: + {{- if .Values.services.worker.autoscaling.targetCPUUtilizationPercentage }} + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: {{ .Values.services.worker.autoscaling.targetCPUUtilizationPercentage }} + {{- end }} + {{- if .Values.services.worker.autoscaling.targetMemoryUtilizationPercentage }} + - type: Resource + resource: + name: memory + target: + type: Utilization + averageUtilization: {{ .Values.services.worker.autoscaling.targetMemoryUtilizationPercentage }} + {{- end }} + {{- end }} +{{- end }} --- \ No newline at end of file diff --git a/charts/plane-enterprise/values.yaml b/charts/plane-enterprise/values.yaml index 60c7970f..b7f53933 100644 --- a/charts/plane-enterprise/values.yaml +++ b/charts/plane-enterprise/values.yaml @@ -77,6 +77,11 @@ services: image: artifacts.plane.so/makeplane/web-commercial pullPolicy: Always assign_cluster_ip: false + autoscaling: + minReplicas: 1 + maxReplicas: 3 + targetCPUUtilizationPercentage: 80 + targetMemoryUtilizationPercentage: 70 monitor: memoryLimit: 1000Mi @@ -97,6 +102,11 @@ services: image: artifacts.plane.so/makeplane/space-commercial pullPolicy: Always assign_cluster_ip: false + autoscaling: + minReplicas: 1 + maxReplicas: 3 + targetCPUUtilizationPercentage: 80 + targetMemoryUtilizationPercentage: 70 admin: replicas: 1 @@ -107,6 +117,11 @@ services: image: artifacts.plane.so/makeplane/admin-commercial pullPolicy: Always assign_cluster_ip: false + autoscaling: + minReplicas: 1 + maxReplicas: 3 + targetCPUUtilizationPercentage: 80 + targetMemoryUtilizationPercentage: 70 live: replicas: 1 @@ -117,6 +132,11 @@ services: image: artifacts.plane.so/makeplane/live-commercial pullPolicy: Always assign_cluster_ip: false + autoscaling: + minReplicas: 1 + maxReplicas: 3 + targetCPUUtilizationPercentage: 80 + targetMemoryUtilizationPercentage: 70 api: replicas: 1 @@ -127,6 +147,11 @@ services: image: artifacts.plane.so/makeplane/backend-commercial pullPolicy: Always assign_cluster_ip: false + autoscaling: + minReplicas: 1 + maxReplicas: 3 + targetCPUUtilizationPercentage: 80 + targetMemoryUtilizationPercentage: 70 worker: replicas: 1 @@ -134,12 +159,22 @@ services: cpuLimit: 500m memoryRequest: 50Mi cpuRequest: 50m + autoscaling: + minReplicas: 1 + maxReplicas: 3 + targetCPUUtilizationPercentage: 80 + targetMemoryUtilizationPercentage: 70 beatworker: replicas: 1 memoryLimit: 1000Mi cpuLimit: 500m memoryRequest: 50Mi cpuRequest: 50m + autoscaling: + minReplicas: 1 + maxReplicas: 3 + targetCPUUtilizationPercentage: 80 + targetMemoryUtilizationPercentage: 70 silo: enabled: true replicas: 1 @@ -150,6 +185,11 @@ services: image: artifacts.plane.so/makeplane/silo-commercial pullPolicy: Always assign_cluster_ip: false + autoscaling: + minReplicas: 1 + maxReplicas: 3 + targetCPUUtilizationPercentage: 80 + targetMemoryUtilizationPercentage: 70 connectors: slack: enabled: false @@ -176,7 +216,7 @@ services: cpuRequest: 50m image: artifacts.plane.so/makeplane/email-commercial pullPolicy: Always - + external_secrets: # Name of the existing Kubernetes Secret resource; see README for more details rabbitmq_existingSecret: '' From b0d8c75850f543ef441dbc36d7aab6fd1e2b6db7 Mon Sep 17 00:00:00 2001 From: akshat5302 Date: Mon, 21 Jul 2025 15:15:08 +0530 Subject: [PATCH 2/7] Update deployment templates to include default values for minReplicas, maxReplicas, and averageUtilization for autoscaling metrics across multiple services. --- .../templates/workloads/admin.deployment.yaml | 8 ++++---- .../templates/workloads/api.deployment.yaml | 8 ++++---- .../templates/workloads/beat-worker.deployment.yaml | 8 ++++---- .../templates/workloads/live.deployment.yaml | 8 ++++---- .../templates/workloads/silo.deployment.yaml | 8 ++++---- .../templates/workloads/space.deployment.yaml | 8 ++++---- .../templates/workloads/web.deployment.yaml | 8 ++++---- .../templates/workloads/worker.deployment.yaml | 8 ++++---- 8 files changed, 32 insertions(+), 32 deletions(-) diff --git a/charts/plane-enterprise/templates/workloads/admin.deployment.yaml b/charts/plane-enterprise/templates/workloads/admin.deployment.yaml index 70bd0d64..eaae6ba6 100644 --- a/charts/plane-enterprise/templates/workloads/admin.deployment.yaml +++ b/charts/plane-enterprise/templates/workloads/admin.deployment.yaml @@ -75,8 +75,8 @@ spec: apiVersion: apps/v1 kind: Deployment name: {{ .Release.Name }}-admin-wl - minReplicas: {{ .Values.services.admin.autoscaling.minReplicas }} - maxReplicas: {{ .Values.services.admin.autoscaling.maxReplicas }} + minReplicas: {{ .Values.services.admin.autoscaling.minReplicas | default 1 | quote }} + maxReplicas: {{ .Values.services.admin.autoscaling.maxReplicas | default 3 | quote }} {{- if or .Values.services.admin.autoscaling.targetCPUUtilizationPercentage .Values.services.admin.autoscaling.targetMemoryUtilizationPercentage }} metrics: {{- if .Values.services.admin.autoscaling.targetCPUUtilizationPercentage }} @@ -85,7 +85,7 @@ spec: name: cpu target: type: Utilization - averageUtilization: {{ .Values.services.admin.autoscaling.targetCPUUtilizationPercentage }} + averageUtilization: {{ .Values.services.admin.autoscaling.targetCPUUtilizationPercentage | default 80 | quote }} {{- end }} {{- if .Values.services.admin.autoscaling.targetMemoryUtilizationPercentage }} - type: Resource @@ -93,7 +93,7 @@ spec: name: memory target: type: Utilization - averageUtilization: {{ .Values.services.admin.autoscaling.targetMemoryUtilizationPercentage }} + averageUtilization: {{ .Values.services.admin.autoscaling.targetMemoryUtilizationPercentage | default 70 | quote }} {{- end }} {{- end }} {{- end }} diff --git a/charts/plane-enterprise/templates/workloads/api.deployment.yaml b/charts/plane-enterprise/templates/workloads/api.deployment.yaml index 9bf3f76e..f94f873a 100644 --- a/charts/plane-enterprise/templates/workloads/api.deployment.yaml +++ b/charts/plane-enterprise/templates/workloads/api.deployment.yaml @@ -97,8 +97,8 @@ spec: apiVersion: apps/v1 kind: Deployment name: {{ .Release.Name }}-api-wl - minReplicas: {{ .Values.services.api.autoscaling.minReplicas }} - maxReplicas: {{ .Values.services.api.autoscaling.maxReplicas }} + minReplicas: {{ .Values.services.api.autoscaling.minReplicas | default 1 | quote }} + maxReplicas: {{ .Values.services.api.autoscaling.maxReplicas | default 3 | quote }} {{- if or .Values.services.api.autoscaling.targetCPUUtilizationPercentage .Values.services.api.autoscaling.targetMemoryUtilizationPercentage }} metrics: {{- if .Values.services.api.autoscaling.targetCPUUtilizationPercentage }} @@ -107,7 +107,7 @@ spec: name: cpu target: type: Utilization - averageUtilization: {{ .Values.services.api.autoscaling.targetCPUUtilizationPercentage }} + averageUtilization: {{ .Values.services.api.autoscaling.targetCPUUtilizationPercentage | default 80 | quote }} {{- end }} {{- if .Values.services.api.autoscaling.targetMemoryUtilizationPercentage }} - type: Resource @@ -115,7 +115,7 @@ spec: name: memory target: type: Utilization - averageUtilization: {{ .Values.services.api.autoscaling.targetMemoryUtilizationPercentage }} + averageUtilization: {{ .Values.services.api.autoscaling.targetMemoryUtilizationPercentage | default 70 | quote }} {{- end }} {{- end }} {{- end }} diff --git a/charts/plane-enterprise/templates/workloads/beat-worker.deployment.yaml b/charts/plane-enterprise/templates/workloads/beat-worker.deployment.yaml index cfd2f6f5..10c0598c 100644 --- a/charts/plane-enterprise/templates/workloads/beat-worker.deployment.yaml +++ b/charts/plane-enterprise/templates/workloads/beat-worker.deployment.yaml @@ -65,8 +65,8 @@ spec: apiVersion: apps/v1 kind: Deployment name: {{ .Release.Name }}-beat-worker-wl - minReplicas: {{ .Values.services.beatworker.autoscaling.minReplicas }} - maxReplicas: {{ .Values.services.beatworker.autoscaling.maxReplicas }} + minReplicas: {{ .Values.services.beatworker.autoscaling.minReplicas | default 1 | quote }} + maxReplicas: {{ .Values.services.beatworker.autoscaling.maxReplicas | default 3 | quote }} {{- if or .Values.services.beatworker.autoscaling.targetCPUUtilizationPercentage .Values.services.beatworker.autoscaling.targetMemoryUtilizationPercentage }} metrics: {{- if .Values.services.beatworker.autoscaling.targetCPUUtilizationPercentage }} @@ -75,7 +75,7 @@ spec: name: cpu target: type: Utilization - averageUtilization: {{ .Values.services.beatworker.autoscaling.targetCPUUtilizationPercentage }} + averageUtilization: {{ .Values.services.beatworker.autoscaling.targetCPUUtilizationPercentage | default 80 | quote }} {{- end }} {{- if .Values.services.beatworker.autoscaling.targetMemoryUtilizationPercentage }} - type: Resource @@ -83,7 +83,7 @@ spec: name: memory target: type: Utilization - averageUtilization: {{ .Values.services.beatworker.autoscaling.targetMemoryUtilizationPercentage }} + averageUtilization: {{ .Values.services.beatworker.autoscaling.targetMemoryUtilizationPercentage | default 70 | quote }} {{- end }} {{- end }} {{- end }} diff --git a/charts/plane-enterprise/templates/workloads/live.deployment.yaml b/charts/plane-enterprise/templates/workloads/live.deployment.yaml index c8d1a3cb..a969eb1a 100644 --- a/charts/plane-enterprise/templates/workloads/live.deployment.yaml +++ b/charts/plane-enterprise/templates/workloads/live.deployment.yaml @@ -81,8 +81,8 @@ spec: apiVersion: apps/v1 kind: Deployment name: {{ .Release.Name }}-live-wl - minReplicas: {{ .Values.services.live.autoscaling.minReplicas }} - maxReplicas: {{ .Values.services.live.autoscaling.maxReplicas }} + minReplicas: {{ .Values.services.live.autoscaling.minReplicas | default 1 | quote }} + maxReplicas: {{ .Values.services.live.autoscaling.maxReplicas | default 3 | quote }} {{- if or .Values.services.live.autoscaling.targetCPUUtilizationPercentage .Values.services.live.autoscaling.targetMemoryUtilizationPercentage }} metrics: {{- if .Values.services.live.autoscaling.targetCPUUtilizationPercentage }} @@ -91,7 +91,7 @@ spec: name: cpu target: type: Utilization - averageUtilization: {{ .Values.services.live.autoscaling.targetCPUUtilizationPercentage }} + averageUtilization: {{ .Values.services.live.autoscaling.targetCPUUtilizationPercentage | default 80 | quote }} {{- end }} {{- if .Values.services.live.autoscaling.targetMemoryUtilizationPercentage }} - type: Resource @@ -99,7 +99,7 @@ spec: name: memory target: type: Utilization - averageUtilization: {{ .Values.services.live.autoscaling.targetMemoryUtilizationPercentage }} + averageUtilization: {{ .Values.services.live.autoscaling.targetMemoryUtilizationPercentage | default 70 | quote }} {{- end }} {{- end }} {{- end }} diff --git a/charts/plane-enterprise/templates/workloads/silo.deployment.yaml b/charts/plane-enterprise/templates/workloads/silo.deployment.yaml index 1a91833e..1f837f70 100644 --- a/charts/plane-enterprise/templates/workloads/silo.deployment.yaml +++ b/charts/plane-enterprise/templates/workloads/silo.deployment.yaml @@ -104,8 +104,8 @@ spec: apiVersion: apps/v1 kind: Deployment name: {{ .Release.Name }}-silo-wl - minReplicas: {{ .Values.services.silo.autoscaling.minReplicas }} - maxReplicas: {{ .Values.services.silo.autoscaling.maxReplicas }} + minReplicas: {{ .Values.services.silo.autoscaling.minReplicas | default 1 | quote }} + maxReplicas: {{ .Values.services.silo.autoscaling.maxReplicas | default 3 | quote }} {{- if or .Values.services.silo.autoscaling.targetCPUUtilizationPercentage .Values.services.silo.autoscaling.targetMemoryUtilizationPercentage }} metrics: {{- if .Values.services.silo.autoscaling.targetCPUUtilizationPercentage }} @@ -114,7 +114,7 @@ spec: name: cpu target: type: Utilization - averageUtilization: {{ .Values.services.silo.autoscaling.targetCPUUtilizationPercentage }} + averageUtilization: {{ .Values.services.silo.autoscaling.targetCPUUtilizationPercentage | default 80 | quote }} {{- end }} {{- if .Values.services.silo.autoscaling.targetMemoryUtilizationPercentage }} - type: Resource @@ -122,7 +122,7 @@ spec: name: memory target: type: Utilization - averageUtilization: {{ .Values.services.silo.autoscaling.targetMemoryUtilizationPercentage }} + averageUtilization: {{ .Values.services.silo.autoscaling.targetMemoryUtilizationPercentage | default 70 | quote }} {{- end }} {{- end }} {{- end }} diff --git a/charts/plane-enterprise/templates/workloads/space.deployment.yaml b/charts/plane-enterprise/templates/workloads/space.deployment.yaml index 7275dd56..6b224e4f 100644 --- a/charts/plane-enterprise/templates/workloads/space.deployment.yaml +++ b/charts/plane-enterprise/templates/workloads/space.deployment.yaml @@ -75,8 +75,8 @@ spec: apiVersion: apps/v1 kind: Deployment name: {{ .Release.Name }}-space-wl - minReplicas: {{ .Values.services.space.autoscaling.minReplicas }} - maxReplicas: {{ .Values.services.space.autoscaling.maxReplicas }} + minReplicas: {{ .Values.services.space.autoscaling.minReplicas | default 1 | quote }} + maxReplicas: {{ .Values.services.space.autoscaling.maxReplicas | default 3 | quote }} {{- if or .Values.services.space.autoscaling.targetCPUUtilizationPercentage .Values.services.space.autoscaling.targetMemoryUtilizationPercentage }} metrics: {{- if .Values.services.space.autoscaling.targetCPUUtilizationPercentage }} @@ -85,7 +85,7 @@ spec: name: cpu target: type: Utilization - averageUtilization: {{ .Values.services.space.autoscaling.targetCPUUtilizationPercentage }} + averageUtilization: {{ .Values.services.space.autoscaling.targetCPUUtilizationPercentage | default 80 | quote }} {{- end }} {{- if .Values.services.space.autoscaling.targetMemoryUtilizationPercentage }} - type: Resource @@ -93,7 +93,7 @@ spec: name: memory target: type: Utilization - averageUtilization: {{ .Values.services.space.autoscaling.targetMemoryUtilizationPercentage }} + averageUtilization: {{ .Values.services.space.autoscaling.targetMemoryUtilizationPercentage | default 70 | quote }} {{- end }} {{- end }} {{- end }} diff --git a/charts/plane-enterprise/templates/workloads/web.deployment.yaml b/charts/plane-enterprise/templates/workloads/web.deployment.yaml index 4c64028f..f5984ee7 100644 --- a/charts/plane-enterprise/templates/workloads/web.deployment.yaml +++ b/charts/plane-enterprise/templates/workloads/web.deployment.yaml @@ -75,8 +75,8 @@ spec: apiVersion: apps/v1 kind: Deployment name: {{ .Release.Name }}-web-wl - minReplicas: {{ .Values.services.web.autoscaling.minReplicas }} - maxReplicas: {{ .Values.services.web.autoscaling.maxReplicas }} + minReplicas: {{ .Values.services.web.autoscaling.minReplicas | default 1 | quote }} + maxReplicas: {{ .Values.services.web.autoscaling.maxReplicas | default 3 | quote }} {{- if or .Values.services.web.autoscaling.targetCPUUtilizationPercentage .Values.services.web.autoscaling.targetMemoryUtilizationPercentage }} metrics: {{- if .Values.services.web.autoscaling.targetCPUUtilizationPercentage }} @@ -85,7 +85,7 @@ spec: name: cpu target: type: Utilization - averageUtilization: {{ .Values.services.web.autoscaling.targetCPUUtilizationPercentage }} + averageUtilization: {{ .Values.services.web.autoscaling.targetCPUUtilizationPercentage | default 80 | quote }} {{- end }} {{- if .Values.services.web.autoscaling.targetMemoryUtilizationPercentage }} - type: Resource @@ -93,7 +93,7 @@ spec: name: memory target: type: Utilization - averageUtilization: {{ .Values.services.web.autoscaling.targetMemoryUtilizationPercentage }} + averageUtilization: {{ .Values.services.web.autoscaling.targetMemoryUtilizationPercentage | default 70 | quote }} {{- end }} {{- end }} {{- end }} diff --git a/charts/plane-enterprise/templates/workloads/worker.deployment.yaml b/charts/plane-enterprise/templates/workloads/worker.deployment.yaml index 0aa5464e..2b2f2665 100644 --- a/charts/plane-enterprise/templates/workloads/worker.deployment.yaml +++ b/charts/plane-enterprise/templates/workloads/worker.deployment.yaml @@ -65,8 +65,8 @@ spec: apiVersion: apps/v1 kind: Deployment name: {{ .Release.Name }}-worker-wl - minReplicas: {{ .Values.services.worker.autoscaling.minReplicas }} - maxReplicas: {{ .Values.services.worker.autoscaling.maxReplicas }} + minReplicas: {{ .Values.services.worker.autoscaling.minReplicas | default 1 | quote }} + maxReplicas: {{ .Values.services.worker.autoscaling.maxReplicas | default 3 | quote }} {{- if or .Values.services.worker.autoscaling.targetCPUUtilizationPercentage .Values.services.worker.autoscaling.targetMemoryUtilizationPercentage }} metrics: {{- if .Values.services.worker.autoscaling.targetCPUUtilizationPercentage }} @@ -75,7 +75,7 @@ spec: name: cpu target: type: Utilization - averageUtilization: {{ .Values.services.worker.autoscaling.targetCPUUtilizationPercentage }} + averageUtilization: {{ .Values.services.worker.autoscaling.targetCPUUtilizationPercentage | default 80 | quote }} {{- end }} {{- if .Values.services.worker.autoscaling.targetMemoryUtilizationPercentage }} - type: Resource @@ -83,7 +83,7 @@ spec: name: memory target: type: Utilization - averageUtilization: {{ .Values.services.worker.autoscaling.targetMemoryUtilizationPercentage }} + averageUtilization: {{ .Values.services.worker.autoscaling.targetMemoryUtilizationPercentage | default 70 | quote }} {{- end }} {{- end }} {{- end }} From 8b0e97e5fed94247a31c335b0b4f857440f3d4b1 Mon Sep 17 00:00:00 2001 From: akshat5302 Date: Tue, 22 Jul 2025 13:57:17 +0530 Subject: [PATCH 3/7] Refactor resource requests and limits in deployment templates and values.yaml for multiple services. Update CPU and memory requests, limits, and autoscaling configurations to improve performance and resource management. --- charts/plane-enterprise/questions.yml | 340 ++++++++++++------ .../templates/workloads/admin.deployment.yaml | 12 +- .../templates/workloads/api.deployment.yaml | 14 +- .../workloads/beat-worker.deployment.yaml | 14 +- .../templates/workloads/email.deployment.yaml | 44 ++- .../templates/workloads/live.deployment.yaml | 14 +- .../templates/workloads/monitor.stateful.yaml | 7 - .../templates/workloads/silo.deployment.yaml | 14 +- .../templates/workloads/space.deployment.yaml | 12 +- .../templates/workloads/web.deployment.yaml | 12 +- .../workloads/worker.deployment.yaml | 14 +- charts/plane-enterprise/values.yaml | 124 +++---- 12 files changed, 391 insertions(+), 230 deletions(-) diff --git a/charts/plane-enterprise/questions.yml b/charts/plane-enterprise/questions.yml index c14ba777..3f98f797 100644 --- a/charts/plane-enterprise/questions.yml +++ b/charts/plane-enterprise/questions.yml @@ -94,22 +94,38 @@ questions: label: "Default Replica Count" type: int default: 1 - - variable: services.web.memoryLimit - label: "Memory Limit" + - variable: services.web.cpuRequest + label: "CPU Request" type: string - default: 1000Mi + default: 100m + - variable: services.web.memoryRequest + label: "Memory Request" + type: string + default: 200Mi - variable: services.web.cpuLimit label: "CPU Limit" type: string default: 500m - - variable: services.web.memoryRequest - label: "Memory Request" - type: string - default: 50Mi - - variable: services.web.cpuRequest - label: "CPU Request" + - variable: services.web.memoryLimit + label: "Memory Limit" type: string - default: 50m + default: 1000Mi + - variable: services.web.autoscaling.minReplicas + label: "Minimum Replica Count" + type: int + default: 1 + - variable: services.web.autoscaling.maxReplicas + label: "Maximum Replica Count" + type: int + default: 5 + - variable: services.web.autoscaling.targetCPUUtilizationPercentage + label: "Target CPU Utilization Percentage" + type: int + default: 90 + - variable: services.web.autoscaling.targetMemoryUtilizationPercentage + label: "Target Memory Utilization Percentage" + type: int + default: 90 - variable: services.web.assign_cluster_ip label: "Assign Cluster IP" type: boolean @@ -129,22 +145,38 @@ questions: label: "Default Replica Count" type: int default: 1 - - variable: services.space.memoryLimit - label: "Memory Limit" + - variable: services.space.cpuRequest + label: "CPU Request" type: string - default: 1000Mi + default: 100m + - variable: services.space.memoryRequest + label: "Memory Request" + type: string + default: 200Mi - variable: services.space.cpuLimit label: "CPU Limit" type: string default: 500m - - variable: services.space.memoryRequest - label: "Memory Request" - type: string - default: 50Mi - - variable: services.space.cpuRequest - label: "CPU Request" + - variable: services.space.memoryLimit + label: "Memory Limit" type: string - default: 50m + default: 1000Mi + - variable: services.space.autoscaling.minReplicas + label: "Minimum Replica Count" + type: int + default: 1 + - variable: services.space.autoscaling.maxReplicas + label: "Maximum Replica Count" + type: int + default: 5 + - variable: services.space.autoscaling.targetCPUUtilizationPercentage + label: "Target CPU Utilization Percentage" + type: int + default: 90 + - variable: services.space.autoscaling.targetMemoryUtilizationPercentage + label: "Target Memory Utilization Percentage" + type: int + default: 90 - variable: services.space.assign_cluster_ip label: "Assign Cluster IP" type: boolean @@ -164,22 +196,38 @@ questions: label: "Default Replica Count" type: int default: 1 - - variable: services.admin.memoryLimit - label: "Memory Limit" + - variable: services.admin.cpuRequest + label: "CPU Request" type: string - default: 1000Mi + default: 100m + - variable: services.admin.memoryRequest + label: "Memory Request" + type: string + default: 200Mi - variable: services.admin.cpuLimit label: "CPU Limit" type: string default: 500m - - variable: services.admin.memoryRequest - label: "Memory Request" - type: string - default: 50Mi - - variable: services.admin.cpuRequest - label: "CPU Request" + - variable: services.admin.memoryLimit + label: "Memory Limit" type: string - default: 50m + default: 1000Mi + - variable: services.admin.autoscaling.minReplicas + label: "Minimum Replica Count" + type: int + default: 1 + - variable: services.admin.autoscaling.maxReplicas + label: "Maximum Replica Count" + type: int + default: 5 + - variable: services.admin.autoscaling.targetCPUUtilizationPercentage + label: "Target CPU Utilization Percentage" + type: int + default: 90 + - variable: services.admin.autoscaling.targetMemoryUtilizationPercentage + label: "Target Memory Utilization Percentage" + type: int + default: 90 - variable: services.admin.assign_cluster_ip label: "Assign Cluster IP" type: boolean @@ -199,22 +247,38 @@ questions: label: "Default Replica Count" type: int default: 1 - - variable: services.live.memoryLimit - label: "Memory Limit" - type: string - default: 1000Mi - - variable: services.live.cpuLimit - label: "CPU Limit" + - variable: services.live.cpuRequest + label: "CPU Request" type: string default: 500m - variable: services.live.memoryRequest label: "Memory Request" type: string - default: 50Mi - - variable: services.live.cpuRequest - label: "CPU Request" + default: 1000Mi + - variable: services.live.cpuLimit + label: "CPU Limit" + type: string + default: 1000m + - variable: services.live.memoryLimit + label: "Memory Limit" type: string - default: 50m + default: 2000Mi + - variable: services.live.autoscaling.minReplicas + label: "Minimum Replica Count" + type: int + default: 1 + - variable: services.live.autoscaling.maxReplicas + label: "Maximum Replica Count" + type: int + default: 5 + - variable: services.live.autoscaling.targetCPUUtilizationPercentage + label: "Target CPU Utilization Percentage" + type: int + default: 90 + - variable: services.live.autoscaling.targetMemoryUtilizationPercentage + label: "Target Memory Utilization Percentage" + type: int + default: 90 - variable: services.live.assign_cluster_ip label: "Assign Cluster IP" type: boolean @@ -246,22 +310,38 @@ questions: label: "Default Replica Count" type: int default: 1 - - variable: services.silo.memoryLimit - label: "Memory Limit" + - variable: services.silo.cpuRequest + label: "CPU Request" + type: string + default: 250m + - variable: services.silo.memoryRequest + label: "Memory Request" type: string default: 1000Mi - variable: services.silo.cpuLimit label: "CPU Limit" type: string - default: 500m - - variable: services.silo.memoryRequest - label: "Memory Request" - type: string - default: 50Mi - - variable: services.silo.cpuRequest - label: "CPU Request" + default: 1000m + - variable: services.silo.memoryLimit + label: "Memory Limit" type: string - default: 50m + default: 2000Mi + - variable: services.silo.autoscaling.minReplicas + label: "Minimum Replica Count" + type: int + default: 1 + - variable: services.silo.autoscaling.maxReplicas + label: "Maximum Replica Count" + type: int + default: 5 + - variable: services.silo.autoscaling.targetCPUUtilizationPercentage + label: "Target CPU Utilization Percentage" + type: int + default: 90 + - variable: services.silo.autoscaling.targetMemoryUtilizationPercentage + label: "Target Memory Utilization Percentage" + type: int + default: 90 - variable: services.silo.assign_cluster_ip label: "Assign Cluster IP" type: boolean @@ -373,22 +453,6 @@ questions: default: "Always" group: "Monitor Setup" subquestions: - - variable: services.monitor.memoryLimit - label: "Memory Limit" - type: string - default: 1000Mi - - variable: services.monitor.cpuLimit - label: "CPU Limit" - type: string - default: 500m - - variable: services.monitor.memoryRequest - label: "Memory Request" - type: string - default: 50Mi - - variable: services.monitor.cpuRequest - label: "CPU Request" - type: string - default: 50m - variable: services.monitor.volumeSize label: "Volume Size" type: string @@ -412,22 +476,38 @@ questions: label: "Default Replica Count" type: int default: 1 - - variable: services.api.memoryLimit - label: "Memory Limit" + - variable: services.api.cpuRequest + label: "CPU Request" + type: string + default: 1000m + - variable: services.api.memoryRequest + label: "Memory Request" type: string default: 1000Mi - variable: services.api.cpuLimit label: "CPU Limit" type: string - default: 500m - - variable: services.api.memoryRequest - label: "Memory Request" - type: string - default: 50Mi - - variable: services.api.cpuRequest - label: "CPU Request" + default: 2000m + - variable: services.api.memoryLimit + label: "Memory Limit" type: string - default: 50m + default: 2000Mi + - variable: services.api.autoscaling.minReplicas + label: "Minimum Replica Count" + type: int + default: 1 + - variable: services.api.autoscaling.maxReplicas + label: "Maximum Replica Count" + type: int + default: 5 + - variable: services.api.autoscaling.targetCPUUtilizationPercentage + label: "Target CPU Utilization Percentage" + type: int + default: 90 + - variable: services.api.autoscaling.targetMemoryUtilizationPercentage + label: "Target Memory Utilization Percentage" + type: int + default: 90 - variable: services.api.assign_cluster_ip label: "Assign Cluster IP" type: boolean @@ -460,44 +540,76 @@ questions: default: 1 group: "Worker Setup" subquestions: - - variable: services.worker.memoryLimit - label: "Memory Limit" - type: string - default: 1000Mi - - variable: services.worker.cpuLimit - label: "CPU Limit" + - variable: services.worker.cpuRequest + label: "CPU Request" type: string default: 500m - variable: services.worker.memoryRequest label: "Memory Request" type: string - default: 50Mi - - variable: services.worker.cpuRequest - label: "CPU Request" + default: 2000Mi + - variable: services.worker.cpuLimit + label: "CPU Limit" + type: string + default: 1000m + - variable: services.worker.memoryLimit + label: "Memory Limit" type: string - default: 50m + default: 4000Mi + - variable: services.worker.autoscaling.minReplicas + label: "Minimum Replica Count" + type: int + default: 1 + - variable: services.worker.autoscaling.maxReplicas + label: "Maximum Replica Count" + type: int + default: 5 + - variable: services.worker.autoscaling.targetCPUUtilizationPercentage + label: "Target CPU Utilization Percentage" + type: int + default: 90 + - variable: services.worker.autoscaling.targetMemoryUtilizationPercentage + label: "Target Memory Utilization Percentage" + type: int + default: 90 - variable: services.beatworker.replicas label: "Default Replica Count" type: int default: 1 group: "Beat Worker Setup" subquestions: - - variable: services.beatworker.memoryLimit - label: "Memory Limit" - type: string - default: 1000Mi - - variable: services.beatworker.cpuLimit - label: "CPU Limit" + - variable: services.beatworker.cpuRequest + label: "CPU Request" type: string default: 500m - variable: services.beatworker.memoryRequest label: "Memory Request" type: string - default: 50Mi - - variable: services.beatworker.cpuRequest - label: "CPU Request" + default: 1000Mi + - variable: services.beatworker.cpuLimit + label: "CPU Limit" + type: string + default: 1000m + - variable: services.beatworker.memoryLimit + label: "Memory Limit" type: string - default: 50m + default: 2000Mi + - variable: services.beatworker.autoscaling.minReplicas + label: "Minimum Replica Count" + type: int + default: 1 + - variable: services.beatworker.autoscaling.maxReplicas + label: "Maximum Replica Count" + type: int + default: 5 + - variable: services.beatworker.autoscaling.targetCPUUtilizationPercentage + label: "Target CPU Utilization Percentage" + type: int + default: 90 + - variable: services.beatworker.autoscaling.targetMemoryUtilizationPercentage + label: "Target Memory Utilization Percentage" + type: int + default: 90 - variable: services.email_service.enabled label: "Enable Email Service" type: boolean @@ -509,22 +621,38 @@ questions: label: "Default Replica Count" type: int default: 1 - - variable: services.email_service.memoryLimit - label: "Memory Limit" + - variable: services.email_service.cpuRequest + label: "CPU Request" type: string - default: 1000Mi + default: 100m + - variable: services.email_service.memoryRequest + label: "Memory Request" + type: string + default: 200Mi - variable: services.email_service.cpuLimit label: "CPU Limit" type: string default: 500m - - variable: services.email_service.memoryRequest - label: "Memory Request" - type: string - default: 50Mi - - variable: services.email_service.cpuRequest - label: "CPU Request" + - variable: services.email_service.memoryLimit + label: "Memory Limit" type: string - default: 50m + default: 1000Mi + - variable: services.email_service.autoscaling.minReplicas + label: "Minimum Replica Count" + type: int + default: 1 + - variable: services.email_service.autoscaling.maxReplicas + label: "Maximum Replica Count" + type: int + default: 5 + - variable: services.email_service.autoscaling.targetCPUUtilizationPercentage + label: "Target CPU Utilization Percentage" + type: int + default: 90 + - variable: services.email_service.autoscaling.targetMemoryUtilizationPercentage + label: "Target Memory Utilization Percentage" + type: int + default: 90 - variable: env.email_service_envs.smtp_domain label: "SMTP Domain" type: string diff --git a/charts/plane-enterprise/templates/workloads/admin.deployment.yaml b/charts/plane-enterprise/templates/workloads/admin.deployment.yaml index eaae6ba6..8f38d24f 100644 --- a/charts/plane-enterprise/templates/workloads/admin.deployment.yaml +++ b/charts/plane-enterprise/templates/workloads/admin.deployment.yaml @@ -47,11 +47,11 @@ spec: tty: true resources: requests: - memory: {{ .Values.services.admin.memoryRequest | default "50Mi" | quote }} - cpu: {{ .Values.services.admin.cpuRequest | default "50m" | quote }} + cpu: {{ .Values.services.admin.cpuRequest | default "100m" | quote }} + memory: {{ .Values.services.admin.memoryRequest | default "200Mi" | quote }} limits: - memory: {{ .Values.services.admin.memoryLimit | default "1000Mi" | quote }} cpu: {{ .Values.services.admin.cpuLimit | default "500m" | quote}} + memory: {{ .Values.services.admin.memoryLimit | default "1000Mi" | quote }} command: - node args: @@ -76,7 +76,7 @@ spec: kind: Deployment name: {{ .Release.Name }}-admin-wl minReplicas: {{ .Values.services.admin.autoscaling.minReplicas | default 1 | quote }} - maxReplicas: {{ .Values.services.admin.autoscaling.maxReplicas | default 3 | quote }} + maxReplicas: {{ .Values.services.admin.autoscaling.maxReplicas | default 5 | quote }} {{- if or .Values.services.admin.autoscaling.targetCPUUtilizationPercentage .Values.services.admin.autoscaling.targetMemoryUtilizationPercentage }} metrics: {{- if .Values.services.admin.autoscaling.targetCPUUtilizationPercentage }} @@ -85,7 +85,7 @@ spec: name: cpu target: type: Utilization - averageUtilization: {{ .Values.services.admin.autoscaling.targetCPUUtilizationPercentage | default 80 | quote }} + averageUtilization: {{ .Values.services.admin.autoscaling.targetCPUUtilizationPercentage | default 90 | quote }} {{- end }} {{- if .Values.services.admin.autoscaling.targetMemoryUtilizationPercentage }} - type: Resource @@ -93,7 +93,7 @@ spec: name: memory target: type: Utilization - averageUtilization: {{ .Values.services.admin.autoscaling.targetMemoryUtilizationPercentage | default 70 | quote }} + averageUtilization: {{ .Values.services.admin.autoscaling.targetMemoryUtilizationPercentage | default 90 | quote }} {{- end }} {{- end }} {{- end }} diff --git a/charts/plane-enterprise/templates/workloads/api.deployment.yaml b/charts/plane-enterprise/templates/workloads/api.deployment.yaml index f94f873a..cd08b34b 100644 --- a/charts/plane-enterprise/templates/workloads/api.deployment.yaml +++ b/charts/plane-enterprise/templates/workloads/api.deployment.yaml @@ -47,11 +47,11 @@ spec: tty: true resources: requests: - memory: {{ .Values.services.api.memoryRequest | default "50Mi" | quote }} - cpu: {{ .Values.services.api.cpuRequest | default "50m" | quote }} + cpu: {{ .Values.services.api.cpuRequest | default "1000m" | quote }} + memory: {{ .Values.services.api.memoryRequest | default "1000Mi" | quote }} limits: - memory: {{ .Values.services.api.memoryLimit | default "1000Mi" | quote }} - cpu: {{ .Values.services.api.cpuLimit | default "500m" | quote}} + cpu: {{ .Values.services.api.cpuLimit | default "2000m" | quote}} + memory: {{ .Values.services.api.memoryLimit | default "2000Mi" | quote }} command: - ./bin/docker-entrypoint-api-ee.sh envFrom: @@ -98,7 +98,7 @@ spec: kind: Deployment name: {{ .Release.Name }}-api-wl minReplicas: {{ .Values.services.api.autoscaling.minReplicas | default 1 | quote }} - maxReplicas: {{ .Values.services.api.autoscaling.maxReplicas | default 3 | quote }} + maxReplicas: {{ .Values.services.api.autoscaling.maxReplicas | default 5 | quote }} {{- if or .Values.services.api.autoscaling.targetCPUUtilizationPercentage .Values.services.api.autoscaling.targetMemoryUtilizationPercentage }} metrics: {{- if .Values.services.api.autoscaling.targetCPUUtilizationPercentage }} @@ -107,7 +107,7 @@ spec: name: cpu target: type: Utilization - averageUtilization: {{ .Values.services.api.autoscaling.targetCPUUtilizationPercentage | default 80 | quote }} + averageUtilization: {{ .Values.services.api.autoscaling.targetCPUUtilizationPercentage | default 90 | quote }} {{- end }} {{- if .Values.services.api.autoscaling.targetMemoryUtilizationPercentage }} - type: Resource @@ -115,7 +115,7 @@ spec: name: memory target: type: Utilization - averageUtilization: {{ .Values.services.api.autoscaling.targetMemoryUtilizationPercentage | default 70 | quote }} + averageUtilization: {{ .Values.services.api.autoscaling.targetMemoryUtilizationPercentage | default 90 | quote }} {{- end }} {{- end }} {{- end }} diff --git a/charts/plane-enterprise/templates/workloads/beat-worker.deployment.yaml b/charts/plane-enterprise/templates/workloads/beat-worker.deployment.yaml index 10c0598c..49df1943 100644 --- a/charts/plane-enterprise/templates/workloads/beat-worker.deployment.yaml +++ b/charts/plane-enterprise/templates/workloads/beat-worker.deployment.yaml @@ -24,11 +24,11 @@ spec: tty: true resources: requests: - memory: {{ .Values.services.beatworker.memoryRequest | default "50Mi" | quote }} - cpu: {{ .Values.services.beatworker.cpuRequest | default "50m" | quote }} + cpu: {{ .Values.services.beatworker.cpuRequest | default "500m" | quote }} + memory: {{ .Values.services.beatworker.memoryRequest | default "1000Mi" | quote }} limits: - memory: {{ .Values.services.beatworker.memoryLimit | default "1000Mi" | quote }} - cpu: {{ .Values.services.beatworker.cpuLimit | default "500m" | quote}} + cpu: {{ .Values.services.beatworker.cpuLimit | default "1000m" | quote}} + memory: {{ .Values.services.beatworker.memoryLimit | default "2000Mi" | quote }} command: - ./bin/docker-entrypoint-beat.sh envFrom: @@ -66,7 +66,7 @@ spec: kind: Deployment name: {{ .Release.Name }}-beat-worker-wl minReplicas: {{ .Values.services.beatworker.autoscaling.minReplicas | default 1 | quote }} - maxReplicas: {{ .Values.services.beatworker.autoscaling.maxReplicas | default 3 | quote }} + maxReplicas: {{ .Values.services.beatworker.autoscaling.maxReplicas | default 5 | quote }} {{- if or .Values.services.beatworker.autoscaling.targetCPUUtilizationPercentage .Values.services.beatworker.autoscaling.targetMemoryUtilizationPercentage }} metrics: {{- if .Values.services.beatworker.autoscaling.targetCPUUtilizationPercentage }} @@ -75,7 +75,7 @@ spec: name: cpu target: type: Utilization - averageUtilization: {{ .Values.services.beatworker.autoscaling.targetCPUUtilizationPercentage | default 80 | quote }} + averageUtilization: {{ .Values.services.beatworker.autoscaling.targetCPUUtilizationPercentage | default 90 | quote }} {{- end }} {{- if .Values.services.beatworker.autoscaling.targetMemoryUtilizationPercentage }} - type: Resource @@ -83,7 +83,7 @@ spec: name: memory target: type: Utilization - averageUtilization: {{ .Values.services.beatworker.autoscaling.targetMemoryUtilizationPercentage | default 70 | quote }} + averageUtilization: {{ .Values.services.beatworker.autoscaling.targetMemoryUtilizationPercentage | default 90 | quote }} {{- end }} {{- end }} {{- end }} diff --git a/charts/plane-enterprise/templates/workloads/email.deployment.yaml b/charts/plane-enterprise/templates/workloads/email.deployment.yaml index 8bcf3c03..e7d44d1d 100644 --- a/charts/plane-enterprise/templates/workloads/email.deployment.yaml +++ b/charts/plane-enterprise/templates/workloads/email.deployment.yaml @@ -66,11 +66,11 @@ spec: failureThreshold: 3 resources: requests: - memory: {{ .Values.services.email_service.memoryRequest | default "50Mi" | quote }} - cpu: {{ .Values.services.email_service.cpuRequest | default "50m" | quote }} + cpu: {{ .Values.services.email_service.cpuRequest | default "100m" | quote }} + memory: {{ .Values.services.email_service.memoryRequest | default "200Mi" | quote }} limits: - memory: {{ .Values.services.email_service.memoryLimit | default "1000Mi" | quote }} cpu: {{ .Values.services.email_service.cpuLimit | default "500m" | quote}} + memory: {{ .Values.services.email_service.memoryLimit | default "1000Mi" | quote }} envFrom: - configMapRef: name: {{ .Release.Name }}-email-vars @@ -99,5 +99,43 @@ spec: optional: false serviceAccount: {{ .Release.Name }}-srv-account serviceAccountName: {{ .Release.Name }}-srv-account + +--- +{{- if eq (include "enable.hpa" . | trim) "true" }} + +apiVersion: autoscaling/v2 +kind: HorizontalPodAutoscaler +metadata: + name: {{ .Release.Name }}-email-hpa + namespace: {{ .Release.Namespace }} + labels: + app.name: {{ .Release.Namespace }}-{{ .Release.Name }}-email-hpa +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: {{ .Release.Name }}-email-app + minReplicas: {{ .Values.services.email_service.autoscaling.minReplicas | default 1 | quote }} + maxReplicas: {{ .Values.services.email_service.autoscaling.maxReplicas | default 5 | quote }} + {{- if or .Values.services.email_service.autoscaling.targetCPUUtilizationPercentage .Values.services.email_service.autoscaling.targetMemoryUtilizationPercentage }} + metrics: + {{- if .Values.services.email_service.autoscaling.targetCPUUtilizationPercentage }} + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: {{ .Values.services.email_service.autoscaling.targetCPUUtilizationPercentage | default 90 | quote }} + {{- end }} + {{- if .Values.services.email_service.autoscaling.targetMemoryUtilizationPercentage }} + - type: Resource + resource: + name: memory + target: + type: Utilization + averageUtilization: {{ .Values.services.email_service.autoscaling.targetMemoryUtilizationPercentage | default 90 | quote }} + {{- end }} + {{- end }} +{{- end }} --- {{- end }} \ No newline at end of file diff --git a/charts/plane-enterprise/templates/workloads/live.deployment.yaml b/charts/plane-enterprise/templates/workloads/live.deployment.yaml index a969eb1a..f43fa54d 100644 --- a/charts/plane-enterprise/templates/workloads/live.deployment.yaml +++ b/charts/plane-enterprise/templates/workloads/live.deployment.yaml @@ -47,11 +47,11 @@ spec: tty: true resources: requests: - memory: {{ .Values.services.live.memoryRequest | default "50Mi" | quote }} - cpu: {{ .Values.services.live.cpuRequest | default "50m" | quote }} + cpu: {{ .Values.services.live.cpuRequest | default "500m" | quote }} + memory: {{ .Values.services.live.memoryRequest | default "1000Mi" | quote }} limits: - memory: {{ .Values.services.live.memoryLimit | default "1000Mi" | quote }} - cpu: {{ .Values.services.live.cpuLimit | default "500m" | quote}} + cpu: {{ .Values.services.live.cpuLimit | default "1000m" | quote}} + memory: {{ .Values.services.live.memoryLimit | default "2000Mi" | quote }} command: - node args: @@ -82,7 +82,7 @@ spec: kind: Deployment name: {{ .Release.Name }}-live-wl minReplicas: {{ .Values.services.live.autoscaling.minReplicas | default 1 | quote }} - maxReplicas: {{ .Values.services.live.autoscaling.maxReplicas | default 3 | quote }} + maxReplicas: {{ .Values.services.live.autoscaling.maxReplicas | default 5 | quote }} {{- if or .Values.services.live.autoscaling.targetCPUUtilizationPercentage .Values.services.live.autoscaling.targetMemoryUtilizationPercentage }} metrics: {{- if .Values.services.live.autoscaling.targetCPUUtilizationPercentage }} @@ -91,7 +91,7 @@ spec: name: cpu target: type: Utilization - averageUtilization: {{ .Values.services.live.autoscaling.targetCPUUtilizationPercentage | default 80 | quote }} + averageUtilization: {{ .Values.services.live.autoscaling.targetCPUUtilizationPercentage | default 90 | quote }} {{- end }} {{- if .Values.services.live.autoscaling.targetMemoryUtilizationPercentage }} - type: Resource @@ -99,7 +99,7 @@ spec: name: memory target: type: Utilization - averageUtilization: {{ .Values.services.live.autoscaling.targetMemoryUtilizationPercentage | default 70 | quote }} + averageUtilization: {{ .Values.services.live.autoscaling.targetMemoryUtilizationPercentage | default 90 | quote }} {{- end }} {{- end }} {{- end }} diff --git a/charts/plane-enterprise/templates/workloads/monitor.stateful.yaml b/charts/plane-enterprise/templates/workloads/monitor.stateful.yaml index 0dcc70f9..9c0f6e4a 100644 --- a/charts/plane-enterprise/templates/workloads/monitor.stateful.yaml +++ b/charts/plane-enterprise/templates/workloads/monitor.stateful.yaml @@ -42,13 +42,6 @@ spec: name: {{ .Release.Name }}-monitor stdin: true tty: true - resources: - requests: - memory: {{ .Values.services.monitor.memoryRequest | default "50Mi" | quote }} - cpu: {{ .Values.services.monitor.cpuRequest | default "50m" | quote }} - limits: - memory: {{ .Values.services.monitor.memoryLimit | default "1000Mi" | quote }} - cpu: {{ .Values.services.monitor.cpuLimit | default "500m" | quote}} envFrom: - configMapRef: name: {{ .Release.Name }}-monitor-vars diff --git a/charts/plane-enterprise/templates/workloads/silo.deployment.yaml b/charts/plane-enterprise/templates/workloads/silo.deployment.yaml index 1f837f70..06a8e6df 100644 --- a/charts/plane-enterprise/templates/workloads/silo.deployment.yaml +++ b/charts/plane-enterprise/templates/workloads/silo.deployment.yaml @@ -70,11 +70,11 @@ spec: tty: true resources: requests: - memory: {{ .Values.services.silo.memoryRequest | default "50Mi" | quote }} - cpu: {{ .Values.services.silo.cpuRequest | default "50m" | quote }} + cpu: {{ .Values.services.silo.cpuRequest | default "250m" | quote }} + memory: {{ .Values.services.silo.memoryRequest | default "1000Mi" | quote }} limits: - memory: {{ .Values.services.silo.memoryLimit | default "1000Mi" | quote }} - cpu: {{ .Values.services.silo.cpuLimit | default "500m" | quote}} + cpu: {{ .Values.services.silo.cpuLimit | default "1000m" | quote}} + memory: {{ .Values.services.silo.memoryLimit | default "2000Mi" | quote }} command: - node args: @@ -105,7 +105,7 @@ spec: kind: Deployment name: {{ .Release.Name }}-silo-wl minReplicas: {{ .Values.services.silo.autoscaling.minReplicas | default 1 | quote }} - maxReplicas: {{ .Values.services.silo.autoscaling.maxReplicas | default 3 | quote }} + maxReplicas: {{ .Values.services.silo.autoscaling.maxReplicas | default 5 | quote }} {{- if or .Values.services.silo.autoscaling.targetCPUUtilizationPercentage .Values.services.silo.autoscaling.targetMemoryUtilizationPercentage }} metrics: {{- if .Values.services.silo.autoscaling.targetCPUUtilizationPercentage }} @@ -114,7 +114,7 @@ spec: name: cpu target: type: Utilization - averageUtilization: {{ .Values.services.silo.autoscaling.targetCPUUtilizationPercentage | default 80 | quote }} + averageUtilization: {{ .Values.services.silo.autoscaling.targetCPUUtilizationPercentage | default 90 | quote }} {{- end }} {{- if .Values.services.silo.autoscaling.targetMemoryUtilizationPercentage }} - type: Resource @@ -122,7 +122,7 @@ spec: name: memory target: type: Utilization - averageUtilization: {{ .Values.services.silo.autoscaling.targetMemoryUtilizationPercentage | default 70 | quote }} + averageUtilization: {{ .Values.services.silo.autoscaling.targetMemoryUtilizationPercentage | default 90 | quote }} {{- end }} {{- end }} {{- end }} diff --git a/charts/plane-enterprise/templates/workloads/space.deployment.yaml b/charts/plane-enterprise/templates/workloads/space.deployment.yaml index 6b224e4f..9769e6b8 100644 --- a/charts/plane-enterprise/templates/workloads/space.deployment.yaml +++ b/charts/plane-enterprise/templates/workloads/space.deployment.yaml @@ -47,11 +47,11 @@ spec: tty: true resources: requests: - memory: {{ .Values.services.space.memoryRequest | default "50Mi" | quote }} - cpu: {{ .Values.services.space.cpuRequest | default "50m" | quote }} + cpu: {{ .Values.services.space.cpuRequest | default "100m" | quote }} + memory: {{ .Values.services.space.memoryRequest | default "200Mi" | quote }} limits: - memory: {{ .Values.services.space.memoryLimit | default "1000Mi" | quote }} cpu: {{ .Values.services.space.cpuLimit | default "500m" | quote}} + memory: {{ .Values.services.space.memoryLimit | default "1000Mi" | quote }} command: - node args: @@ -76,7 +76,7 @@ spec: kind: Deployment name: {{ .Release.Name }}-space-wl minReplicas: {{ .Values.services.space.autoscaling.minReplicas | default 1 | quote }} - maxReplicas: {{ .Values.services.space.autoscaling.maxReplicas | default 3 | quote }} + maxReplicas: {{ .Values.services.space.autoscaling.maxReplicas | default 5 | quote }} {{- if or .Values.services.space.autoscaling.targetCPUUtilizationPercentage .Values.services.space.autoscaling.targetMemoryUtilizationPercentage }} metrics: {{- if .Values.services.space.autoscaling.targetCPUUtilizationPercentage }} @@ -85,7 +85,7 @@ spec: name: cpu target: type: Utilization - averageUtilization: {{ .Values.services.space.autoscaling.targetCPUUtilizationPercentage | default 80 | quote }} + averageUtilization: {{ .Values.services.space.autoscaling.targetCPUUtilizationPercentage | default 90 | quote }} {{- end }} {{- if .Values.services.space.autoscaling.targetMemoryUtilizationPercentage }} - type: Resource @@ -93,7 +93,7 @@ spec: name: memory target: type: Utilization - averageUtilization: {{ .Values.services.space.autoscaling.targetMemoryUtilizationPercentage | default 70 | quote }} + averageUtilization: {{ .Values.services.space.autoscaling.targetMemoryUtilizationPercentage | default 90 | quote }} {{- end }} {{- end }} {{- end }} diff --git a/charts/plane-enterprise/templates/workloads/web.deployment.yaml b/charts/plane-enterprise/templates/workloads/web.deployment.yaml index f5984ee7..db171549 100644 --- a/charts/plane-enterprise/templates/workloads/web.deployment.yaml +++ b/charts/plane-enterprise/templates/workloads/web.deployment.yaml @@ -47,11 +47,11 @@ spec: tty: true resources: requests: - memory: {{ .Values.services.web.memoryRequest | default "50Mi" | quote }} - cpu: {{ .Values.services.web.cpuRequest | default "50m" | quote }} + cpu: {{ .Values.services.web.cpuRequest | default "100m" | quote }} + memory: {{ .Values.services.web.memoryRequest | default "200Mi" | quote }} limits: - memory: {{ .Values.services.web.memoryLimit | default "1000Mi" | quote }} cpu: {{ .Values.services.web.cpuLimit | default "500m" | quote}} + memory: {{ .Values.services.web.memoryLimit | default "1000Mi" | quote }} command: - node args: @@ -76,7 +76,7 @@ spec: kind: Deployment name: {{ .Release.Name }}-web-wl minReplicas: {{ .Values.services.web.autoscaling.minReplicas | default 1 | quote }} - maxReplicas: {{ .Values.services.web.autoscaling.maxReplicas | default 3 | quote }} + maxReplicas: {{ .Values.services.web.autoscaling.maxReplicas | default 5 | quote }} {{- if or .Values.services.web.autoscaling.targetCPUUtilizationPercentage .Values.services.web.autoscaling.targetMemoryUtilizationPercentage }} metrics: {{- if .Values.services.web.autoscaling.targetCPUUtilizationPercentage }} @@ -85,7 +85,7 @@ spec: name: cpu target: type: Utilization - averageUtilization: {{ .Values.services.web.autoscaling.targetCPUUtilizationPercentage | default 80 | quote }} + averageUtilization: {{ .Values.services.web.autoscaling.targetCPUUtilizationPercentage | default 90 | quote }} {{- end }} {{- if .Values.services.web.autoscaling.targetMemoryUtilizationPercentage }} - type: Resource @@ -93,7 +93,7 @@ spec: name: memory target: type: Utilization - averageUtilization: {{ .Values.services.web.autoscaling.targetMemoryUtilizationPercentage | default 70 | quote }} + averageUtilization: {{ .Values.services.web.autoscaling.targetMemoryUtilizationPercentage | default 90 | quote }} {{- end }} {{- end }} {{- end }} diff --git a/charts/plane-enterprise/templates/workloads/worker.deployment.yaml b/charts/plane-enterprise/templates/workloads/worker.deployment.yaml index 2b2f2665..84aa994f 100644 --- a/charts/plane-enterprise/templates/workloads/worker.deployment.yaml +++ b/charts/plane-enterprise/templates/workloads/worker.deployment.yaml @@ -24,11 +24,11 @@ spec: tty: true resources: requests: - memory: {{ .Values.services.worker.memoryRequest | default "50Mi" | quote }} - cpu: {{ .Values.services.worker.cpuRequest | default "50m" | quote }} + cpu: {{ .Values.services.worker.cpuRequest | default "500m" | quote }} + memory: {{ .Values.services.worker.memoryRequest | default "2000Mi" | quote }} limits: - memory: {{ .Values.services.worker.memoryLimit | default "1000Mi" | quote }} - cpu: {{ .Values.services.worker.cpuLimit | default "500m" | quote}} + cpu: {{ .Values.services.worker.cpuLimit | default "1000m" | quote}} + memory: {{ .Values.services.worker.memoryLimit | default "4000Mi" | quote }} command: - ./bin/docker-entrypoint-worker.sh envFrom: @@ -66,7 +66,7 @@ spec: kind: Deployment name: {{ .Release.Name }}-worker-wl minReplicas: {{ .Values.services.worker.autoscaling.minReplicas | default 1 | quote }} - maxReplicas: {{ .Values.services.worker.autoscaling.maxReplicas | default 3 | quote }} + maxReplicas: {{ .Values.services.worker.autoscaling.maxReplicas | default 5 | quote }} {{- if or .Values.services.worker.autoscaling.targetCPUUtilizationPercentage .Values.services.worker.autoscaling.targetMemoryUtilizationPercentage }} metrics: {{- if .Values.services.worker.autoscaling.targetCPUUtilizationPercentage }} @@ -75,7 +75,7 @@ spec: name: cpu target: type: Utilization - averageUtilization: {{ .Values.services.worker.autoscaling.targetCPUUtilizationPercentage | default 80 | quote }} + averageUtilization: {{ .Values.services.worker.autoscaling.targetCPUUtilizationPercentage | default 90 | quote }} {{- end }} {{- if .Values.services.worker.autoscaling.targetMemoryUtilizationPercentage }} - type: Resource @@ -83,7 +83,7 @@ spec: name: memory target: type: Utilization - averageUtilization: {{ .Values.services.worker.autoscaling.targetMemoryUtilizationPercentage | default 70 | quote }} + averageUtilization: {{ .Values.services.worker.autoscaling.targetMemoryUtilizationPercentage | default 90 | quote }} {{- end }} {{- end }} {{- end }} diff --git a/charts/plane-enterprise/values.yaml b/charts/plane-enterprise/values.yaml index b7f53933..44a42094 100644 --- a/charts/plane-enterprise/values.yaml +++ b/charts/plane-enterprise/values.yaml @@ -70,24 +70,20 @@ services: web: replicas: 1 - memoryLimit: 1000Mi + cpuRequest: 100m + memoryRequest: 200Mi cpuLimit: 500m - memoryRequest: 50Mi - cpuRequest: 50m + memoryLimit: 1000Mi image: artifacts.plane.so/makeplane/web-commercial pullPolicy: Always assign_cluster_ip: false autoscaling: minReplicas: 1 - maxReplicas: 3 - targetCPUUtilizationPercentage: 80 - targetMemoryUtilizationPercentage: 70 + maxReplicas: 5 + targetCPUUtilizationPercentage: 90 + targetMemoryUtilizationPercentage: 90 monitor: - memoryLimit: 1000Mi - cpuLimit: 500m - memoryRequest: 50Mi - cpuRequest: 50m image: artifacts.plane.so/makeplane/monitor-commercial pullPolicy: Always volumeSize: 100Mi @@ -95,101 +91,102 @@ services: space: replicas: 1 - memoryLimit: 1000Mi + cpuRequest: 100m + memoryRequest: 200Mi cpuLimit: 500m - memoryRequest: 50Mi - cpuRequest: 50m + memoryLimit: 1000Mi image: artifacts.plane.so/makeplane/space-commercial pullPolicy: Always assign_cluster_ip: false autoscaling: minReplicas: 1 - maxReplicas: 3 - targetCPUUtilizationPercentage: 80 - targetMemoryUtilizationPercentage: 70 + maxReplicas: 5 + targetCPUUtilizationPercentage: 90 + targetMemoryUtilizationPercentage: 90 admin: replicas: 1 - memoryLimit: 1000Mi + cpuRequest: 100m + memoryRequest: 200Mi cpuLimit: 500m - memoryRequest: 50Mi - cpuRequest: 50m + memoryLimit: 1000Mi image: artifacts.plane.so/makeplane/admin-commercial pullPolicy: Always assign_cluster_ip: false autoscaling: minReplicas: 1 - maxReplicas: 3 - targetCPUUtilizationPercentage: 80 - targetMemoryUtilizationPercentage: 70 + maxReplicas: 5 + targetCPUUtilizationPercentage: 90 + targetMemoryUtilizationPercentage: 90 live: replicas: 1 - memoryLimit: 1000Mi - cpuLimit: 500m - memoryRequest: 50Mi - cpuRequest: 50m + cpuRequest: 500m + memoryRequest: 1000Mi + cpuLimit: 1000m + memoryLimit: 2000Mi image: artifacts.plane.so/makeplane/live-commercial pullPolicy: Always assign_cluster_ip: false autoscaling: minReplicas: 1 - maxReplicas: 3 - targetCPUUtilizationPercentage: 80 - targetMemoryUtilizationPercentage: 70 + maxReplicas: 5 + targetCPUUtilizationPercentage: 90 + targetMemoryUtilizationPercentage: 90 api: replicas: 1 - memoryLimit: 1000Mi - cpuLimit: 500m - memoryRequest: 50Mi - cpuRequest: 50m + cpuRequest: 1000m + memoryRequest: 1000Mi + cpuLimit: 2000m + memoryLimit: 2000Mi image: artifacts.plane.so/makeplane/backend-commercial pullPolicy: Always assign_cluster_ip: false autoscaling: minReplicas: 1 - maxReplicas: 3 - targetCPUUtilizationPercentage: 80 - targetMemoryUtilizationPercentage: 70 + maxReplicas: 5 + targetCPUUtilizationPercentage: 90 + targetMemoryUtilizationPercentage: 90 worker: replicas: 1 - memoryLimit: 1000Mi - cpuLimit: 500m - memoryRequest: 50Mi - cpuRequest: 50m + cpuRequest: 500m + memoryRequest: 2000Mi + cpuLimit: 1000m + memoryLimit: 4000Mi autoscaling: minReplicas: 1 - maxReplicas: 3 - targetCPUUtilizationPercentage: 80 - targetMemoryUtilizationPercentage: 70 + maxReplicas: 5 + targetCPUUtilizationPercentage: 90 + targetMemoryUtilizationPercentage: 90 + beatworker: replicas: 1 - memoryLimit: 1000Mi - cpuLimit: 500m - memoryRequest: 50Mi - cpuRequest: 50m + cpuRequest: 500m + memoryRequest: 1000Mi + cpuLimit: 1000m + memoryLimit: 2000Mi autoscaling: minReplicas: 1 - maxReplicas: 3 - targetCPUUtilizationPercentage: 80 - targetMemoryUtilizationPercentage: 70 + maxReplicas: 5 + targetCPUUtilizationPercentage: 90 + targetMemoryUtilizationPercentage: 90 silo: enabled: true replicas: 1 - memoryLimit: 1000Mi - cpuLimit: 500m - memoryRequest: 50Mi - cpuRequest: 50m + cpuRequest: 250m + memoryRequest: 1000Mi + cpuLimit: 1000m + memoryLimit: 2000Mi image: artifacts.plane.so/makeplane/silo-commercial pullPolicy: Always assign_cluster_ip: false autoscaling: minReplicas: 1 - maxReplicas: 3 - targetCPUUtilizationPercentage: 80 - targetMemoryUtilizationPercentage: 70 + maxReplicas: 5 + targetCPUUtilizationPercentage: 90 + targetMemoryUtilizationPercentage: 90 connectors: slack: enabled: false @@ -210,13 +207,18 @@ services: email_service: enabled: false replicas: 1 - memoryLimit: 1000Mi + cpuRequest: 100m + memoryRequest: 200Mi cpuLimit: 500m - memoryRequest: 50Mi - cpuRequest: 50m + memoryLimit: 1000Mi image: artifacts.plane.so/makeplane/email-commercial pullPolicy: Always - + autoscaling: + minReplicas: 1 + maxReplicas: 5 + targetCPUUtilizationPercentage: 90 + targetMemoryUtilizationPercentage: 90 + external_secrets: # Name of the existing Kubernetes Secret resource; see README for more details rabbitmq_existingSecret: '' From 0356f6cb9e4ffda65565472564bd8abd71505a36 Mon Sep 17 00:00:00 2001 From: akshat5302 Date: Tue, 22 Jul 2025 15:46:10 +0530 Subject: [PATCH 4/7] Enhance resource management in README.md by adding CPU and memory requests, limits, and autoscaling configurations for various services. Update default values for autoscaling parameters to improve deployment efficiency. --- charts/plane-enterprise/README.md | 101 ++++++++++++++++++++---------- 1 file changed, 68 insertions(+), 33 deletions(-) diff --git a/charts/plane-enterprise/README.md b/charts/plane-enterprise/README.md index acb6a105..716571a8 100644 --- a/charts/plane-enterprise/README.md +++ b/charts/plane-enterprise/README.md @@ -170,10 +170,14 @@ | Setting | Default | Required | Description | |---|:---:|:---:|---| | services.web.replicas | 1 | Yes | Kubernetes helps you with scaling up/down the deployments. You can run 1 or more pods for each deployment. This key helps you setting up number of replicas you want to run for this deployment. It must be >=1 | -| services.web.memoryLimit | 1000Mi | | Every deployment in kubernetes can be set to use maximum memory they are allowed to use. This key sets the memory limit for this deployment to use.| +| services.web.cpuRequest | 100m | | Every deployment in kubernetes can be set to use minimum cpu they are allowed to use. This key sets the cpu request for this deployment to use.| +| services.web.memoryRequest | 200Mi | | Every deployment in kubernetes can be set to use minimum memory they are allowed to use. This key sets the memory request for this deployment to use.| | services.web.cpuLimit | 500m | | Every deployment in kubernetes can be set to use maximum cpu they are allowed to use. This key sets the cpu limit for this deployment to use.| -| services.web.memoryRequest | 50Mi | | Every deployment in kubernetes can be set to use minimum memory they are allowed to use. This key sets the memory request for this deployment to use.| -| services.web.cpuRequest | 50m | | Every deployment in kubernetes can be set to use minimum cpu they are allowed to use. This key sets the cpu request for this deployment to use.| +| services.web.memoryLimit | 1000Mi | | Every deployment in kubernetes can be set to use maximum memory they are allowed to use. This key sets the memory limit for this deployment to use.| +| services.web.autoscaling.minReplicas | 1 | | Minimum number of replicas for the Horizontal Pod Autoscaler | +| services.web.autoscaling.maxReplicas | 5 | | Maximum number of replicas for the Horizontal Pod Autoscaler | +| services.web.autoscaling.targetCPUUtilizationPercentage | 90 | | Target CPU utilization percentage for the Horizontal Pod Autoscaler | +| services.web.autoscaling.targetMemoryUtilizationPercentage | 90 | | Target memory utilization percentage for the Horizontal Pod Autoscaler | | services.web.image| artifacts.plane.so/makeplane/web-commercial | | This deployment needs a preconfigured docker image to function. Docker image name is provided by the owner and must not be changed for this deployment | | services.web.pullPolicy | Always | | Using this key, user can set the pull policy for the deployment of `web`. | | services.web.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | @@ -183,10 +187,14 @@ | Setting | Default | Required | Description | |---|:---:|:---:|---| | services.space.replicas | 1 | Yes | Kubernetes helps you with scaling up/down the deployments. You can run 1 or more pods for each deployment. This key helps you setting up number of replicas you want to run for this deployment. It must be >=1 | -| services.space.memoryLimit | 1000Mi | | Every deployment in kubernetes can be set to use maximum memory they are allowed to use. This key sets the memory limit for this deployment to use.| +| services.space.cpuRequest | 100m | | Every deployment in kubernetes can be set to use minimum cpu they are allowed to use. This key sets the cpu request for this deployment to use.| +| services.space.memoryRequest | 200Mi | | Every deployment in kubernetes can be set to use minimum memory they are allowed to use. This key sets the memory request for this deployment to use.| | services.space.cpuLimit | 500m | | Every deployment in kubernetes can be set to use maximum cpu they are allowed to use. This key sets the cpu limit for this deployment to use.| -| services.space.memoryRequest | 50Mi | | Every deployment in kubernetes can be set to use minimum memory they are allowed to use. This key sets the memory request for this deployment to use.| -| services.space.cpuRequest | 50m | | Every deployment in kubernetes can be set to use minimum cpu they are allowed to use. This key sets the cpu request for this deployment to use.| +| services.space.memoryLimit | 1000Mi | | Every deployment in kubernetes can be set to use maximum memory they are allowed to use. This key sets the memory limit for this deployment to use.| +| services.space.autoscaling.minReplicas | 1 | | Minimum number of replicas for the Horizontal Pod Autoscaler | +| services.space.autoscaling.maxReplicas | 5 | | Maximum number of replicas for the Horizontal Pod Autoscaler | +| services.space.autoscaling.targetCPUUtilizationPercentage | 90 | | Target CPU utilization percentage for the Horizontal Pod Autoscaler | +| services.space.autoscaling.targetMemoryUtilizationPercentage | 90 | | Target memory utilization percentage for the Horizontal Pod Autoscaler | | services.space.image| artifacts.plane.so/makeplane/space-commercial | | This deployment needs a preconfigured docker image to function. Docker image name is provided by the owner and must not be changed for this deployment | | services.space.pullPolicy | Always | | Using this key, user can set the pull policy for the deployment of `space`. | | services.space.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | @@ -196,10 +204,14 @@ | Setting | Default | Required | Description | |---|:---:|:---:|---| | services.admin.replicas | 1 | Yes | Kubernetes helps you with scaling up/down the deployments. You can run 1 or more pods for each deployment. This key helps you setting up number of replicas you want to run for this deployment. It must be >=1 | -| services.admin.memoryLimit | 1000Mi | | Every deployment in kubernetes can be set to use maximum memory they are allowed to use. This key sets the memory limit for this deployment to use.| +| services.admin.cpuRequest | 100m | | Every deployment in kubernetes can be set to use minimum cpu they are allowed to use. This key sets the cpu request for this deployment to use.| +| services.admin.memoryRequest | 200Mi | | Every deployment in kubernetes can be set to use minimum memory they are allowed to use. This key sets the memory request for this deployment to use.| | services.admin.cpuLimit | 500m | | Every deployment in kubernetes can be set to use maximum cpu they are allowed to use. This key sets the cpu limit for this deployment to use.| -| services.admin.memoryRequest | 50Mi | | Every deployment in kubernetes can be set to use minimum memory they are allowed to use. This key sets the memory request for this deployment to use.| -| services.admin.cpuRequest | 50m | | Every deployment in kubernetes can be set to use minimum cpu they are allowed to use. This key sets the cpu request for this deployment to use.| +| services.admin.memoryLimit | 1000Mi | | Every deployment in kubernetes can be set to use maximum memory they are allowed to use. This key sets the memory limit for this deployment to use.| +| services.admin.autoscaling.minReplicas | 1 | | Minimum number of replicas for the Horizontal Pod Autoscaler | +| services.admin.autoscaling.maxReplicas | 5 | | Maximum number of replicas for the Horizontal Pod Autoscaler | +| services.admin.autoscaling.targetCPUUtilizationPercentage | 90 | | Target CPU utilization percentage for the Horizontal Pod Autoscaler | +| services.admin.autoscaling.targetMemoryUtilizationPercentage | 90 | | Target memory utilization percentage for the Horizontal Pod Autoscaler | | services.admin.image| artifacts.plane.so/makeplane/admin-commercial | | This deployment needs a preconfigured docker image to function. Docker image name is provided by the owner and must not be changed for this deployment | | services.admin.pullPolicy | Always | | Using this key, user can set the pull policy for the deployment of `admin`. | | services.admin.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | @@ -209,10 +221,14 @@ | Setting | Default | Required | Description | |---|:---:|:---:|---| | services.live.replicas | 1 | Yes | Kubernetes helps you with scaling up/down the deployments. You can run 1 or more pods for each deployment. This key helps you setting up number of replicas you want to run for this deployment. It must be >=1 | -| services.live.memoryLimit | 1000Mi | | Every deployment in kubernetes can be set to use maximum memory they are allowed to use. This key sets the memory limit for this deployment to use.| -| services.live.cpuLimit | 500m | | Every deployment in kubernetes can be set to use maximum cpu they are allowed to use. This key sets the cpu limit for this deployment to use.| -| services.live.memoryRequest | 50Mi | | Every deployment in kubernetes can be set to use minimum memory they are allowed to use. This key sets the memory request for this deployment to use.| -| services.live.cpuRequest | 50m | | Every deployment in kubernetes can be set to use minimum cpu they are allowed to use. This key sets the cpu request for this deployment to use.| +| services.live.cpuRequest | 500m | | Every deployment in kubernetes can be set to use minimum cpu they are allowed to use. This key sets the cpu request for this deployment to use.| +| services.live.memoryRequest | 1000Mi | | Every deployment in kubernetes can be set to use minimum memory they are allowed to use. This key sets the memory request for this deployment to use.| +| services.live.cpuLimit | 1000m | | Every deployment in kubernetes can be set to use maximum cpu they are allowed to use. This key sets the cpu limit for this deployment to use.| +| services.live.memoryLimit | 2000Mi | | Every deployment in kubernetes can be set to use maximum memory they are allowed to use. This key sets the memory limit for this deployment to use.| +| services.live.autoscaling.minReplicas | 1 | | Minimum number of replicas for the Horizontal Pod Autoscaler | +| services.live.autoscaling.maxReplicas | 5 | | Maximum number of replicas for the Horizontal Pod Autoscaler | +| services.live.autoscaling.targetCPUUtilizationPercentage | 90 | | Target CPU utilization percentage for the Horizontal Pod Autoscaler | +| services.live.autoscaling.targetMemoryUtilizationPercentage | 90 | | Target memory utilization percentage for the Horizontal Pod Autoscaler | | services.live.image| artifacts.plane.so/makeplane/live-commercial | | This deployment needs a preconfigured docker image to function. Docker image name is provided by the owner and must not be changed for this deployment | | services.live.pullPolicy | Always | | Using this key, user can set the pull policy for the deployment of `live`. | | env.live_sentry_dsn | | | (optional) Live service deployment comes with some of the preconfigured integration. Sentry is one among those. Here user can set the Sentry provided DSN for this integration.| @@ -239,10 +255,14 @@ | Setting | Default | Required | Description | |---|:---:|:---:|---| | services.api.replicas | 1 | Yes | Kubernetes helps you with scaling up/down the deployments. You can run 1 or more pods for each deployment. This key helps you setting up number of replicas you want to run for this deployment. It must be >=1 | -| services.api.memoryLimit | 1000Mi | | Every deployment in kubernetes can be set to use maximum memory they are allowed to use. This key sets the memory limit for this deployment to use.| -| services.api.cpuLimit | 500m | | Every deployment in kubernetes can be set to use maximum cpu they are allowed to use. This key sets the cpu limit for this deployment to use.| -| services.api.memoryRequest | 50Mi | | Every deployment in kubernetes can be set to use minimum memory they are allowed to use. This key sets the memory request for this deployment to use.| -| services.api.cpuRequest | 50m | | Every deployment in kubernetes can be set to use minimum cpu they are allowed to use. This key sets the cpu request for this deployment to use.| +| services.api.cpuRequest | 1000m | | Every deployment in kubernetes can be set to use minimum cpu they are allowed to use. This key sets the cpu request for this deployment to use.| +| services.api.memoryRequest | 1000Mi | | Every deployment in kubernetes can be set to use minimum memory they are allowed to use. This key sets the memory request for this deployment to use.| +| services.api.cpuLimit | 2000m | | Every deployment in kubernetes can be set to use maximum cpu they are allowed to use. This key sets the cpu limit for this deployment to use.| +| services.api.memoryLimit | 2000Mi | | Every deployment in kubernetes can be set to use maximum memory they are allowed to use. This key sets the memory limit for this deployment to use.| +| services.api.autoscaling.minReplicas | 1 | | Minimum number of replicas for the Horizontal Pod Autoscaler | +| services.api.autoscaling.maxReplicas | 5 | | Maximum number of replicas for the Horizontal Pod Autoscaler | +| services.api.autoscaling.targetCPUUtilizationPercentage | 90 | | Target CPU utilization percentage for the Horizontal Pod Autoscaler | +| services.api.autoscaling.targetMemoryUtilizationPercentage | 90 | | Target memory utilization percentage for the Horizontal Pod Autoscaler | | services.api.image| artifacts.plane.so/makeplane/backend-commercial | | This deployment needs a preconfigured docker image to function. Docker image name is provided by the owner and must not be changed for this deployment | | services.api.pullPolicy | Always | | Using this key, user can set the pull policy for the deployment of `api`. | | env.sentry_dsn | | | (optional) API service deployment comes with some of the preconfigured integration. Sentry is one among those. Here user can set the Sentry provided DSN for this integration.| @@ -255,10 +275,14 @@ | Setting | Default | Required | Description | |---|:---:|:---:|---| | services.silo.replicas | 1 | Yes | Kubernetes helps you with scaling up/down the deployments. You can run 1 or more pods for each deployment. This key helps you setting up number of replicas you want to run for this deployment. It must be >=1 | -| services.silo.memoryLimit | 1000Mi | | Every deployment in kubernetes can be set to use maximum memory they are allowed to use. This key sets the memory limit for this deployment to use.| -| services.silo.cpuLimit | 500m | | Every deployment in kubernetes can be set to use maximum cpu they are allowed to use. This key sets the cpu limit for this deployment to use.| -| services.silo.memoryRequest | 50Mi | | Every deployment in kubernetes can be set to use minimum memory they are allowed to use. This key sets the memory request for this deployment to use.| -| services.silo.cpuRequest | 50m | | Every deployment in kubernetes can be set to use minimum cpu they are allowed to use. This key sets the cpu request for this deployment to use.| +| services.silo.cpuRequest | 250m | | Every deployment in kubernetes can be set to use minimum cpu they are allowed to use. This key sets the cpu request for this deployment to use.| +| services.silo.memoryRequest | 1000Mi | | Every deployment in kubernetes can be set to use minimum memory they are allowed to use. This key sets the memory request for this deployment to use.| +| services.silo.cpuLimit | 1000m | | Every deployment in kubernetes can be set to use maximum cpu they are allowed to use. This key sets the cpu limit for this deployment to use.| +| services.silo.memoryLimit | 2000Mi | | Every deployment in kubernetes can be set to use maximum memory they are allowed to use. This key sets the memory limit for this deployment to use.| +| services.silo.autoscaling.minReplicas | 1 | | Minimum number of replicas for the Horizontal Pod Autoscaler | +| services.silo.autoscaling.maxReplicas | 5 | | Maximum number of replicas for the Horizontal Pod Autoscaler | +| services.silo.autoscaling.targetCPUUtilizationPercentage | 90 | | Target CPU utilization percentage for the Horizontal Pod Autoscaler | +| services.silo.autoscaling.targetMemoryUtilizationPercentage | 90 | | Target memory utilization percentage for the Horizontal Pod Autoscaler | | services.silo.image| artifacts.plane.so/makeplane/silo-commercial | | This deployment needs a preconfigured docker image to function. Docker image name is provided by the owner and must not be changed for this deployment | | services.silo.pullPolicy | Always | | Using this key, user can set the pull policy for the deployment of `silo`. | | services.silo.assign_cluster_ip | false | | Set it to `true` if you want to assign `ClusterIP` to the service | @@ -283,26 +307,33 @@ | env.silo_envs.hmac_secret_key | <random-32-bit-string> | | HMAC Secret Key | | env.silo_envs.aes_secret_key | "dsOdt7YrvxsTIFJ37pOaEVvLxN8KGBCr" | | AES Secret Key | - ### Worker Deployment | Setting | Default | Required | Description | |---|:---:|:---:|---| | services.worker.replicas | 1 | Yes | Kubernetes helps you with scaling up/down the deployments. You can run 1 or more pods for each deployment. This key helps you setting up number of replicas you want to run for this deployment. It must be >=1 | -| services.worker.memoryLimit | 1000Mi | | Every deployment in kubernetes can be set to use maximum memory they are allowed to use. This key sets the memory limit for this deployment to use.| -| services.worker.cpuLimit | 500m | | Every deployment in kubernetes can be set to use maximum cpu they are allowed to use. This key sets the cpu limit for this deployment to use.| -| services.worker.memoryRequest | 50Mi | | Every deployment in kubernetes can be set to use minimum memory they are allowed to use. This key sets the memory request for this deployment to use.| -| services.worker.cpuRequest | 50m | | Every deployment in kubernetes can be set to use minimum cpu they are allowed to use. This key sets the cpu request for this deployment to use.| +| services.worker.cpuRequest | 500m | | Every deployment in kubernetes can be set to use minimum cpu they are allowed to use. This key sets the cpu request for this deployment to use.| +| services.worker.memoryRequest | 2000Mi | | Every deployment in kubernetes can be set to use minimum memory they are allowed to use. This key sets the memory request for this deployment to use.| +| services.worker.cpuLimit | 1000m | | Every deployment in kubernetes can be set to use maximum cpu they are allowed to use. This key sets the cpu limit for this deployment to use.| +| services.worker.memoryLimit | 4000Mi | | Every deployment in kubernetes can be set to use maximum memory they are allowed to use. This key sets the memory limit for this deployment to use.| +| services.worker.autoscaling.minReplicas | 1 | | Minimum number of replicas for the Horizontal Pod Autoscaler | +| services.worker.autoscaling.maxReplicas | 5 | | Maximum number of replicas for the Horizontal Pod Autoscaler | +| services.worker.autoscaling.targetCPUUtilizationPercentage | 90 | | Target CPU utilization percentage for the Horizontal Pod Autoscaler | +| services.worker.autoscaling.targetMemoryUtilizationPercentage | 90 | | Target memory utilization percentage for the Horizontal Pod Autoscaler | ### Beat-Worker deployment | Setting | Default | Required | Description | |---|:---:|:---:|---| | services.beatworker.replicas | 1 | Yes | Kubernetes helps you with scaling up/down the deployments. You can run 1 or more pods for each deployment. This key helps you setting up number of replicas you want to run for this deployment. It must be >=1 | -| services.beatworker.memoryLimit | 1000Mi | | Every deployment in kubernetes can be set to use maximum memory they are allowed to use. This key sets the memory limit for this deployment to use.| -| services.beatworker.cpuLimit | 500m | | Every deployment in kubernetes can be set to use maximum cpu they are allowed to use. This key sets the cpu limit for this deployment to use.| -| services.beatworker.memoryRequest | 50Mi | | Every deployment in kubernetes can be set to use minimum memory they are allowed to use. This key sets the memory request for this deployment to use.| -| services.beatworker.cpuRequest | 50m | | Every deployment in kubernetes can be set to use minimum cpu they are allowed to use. This key sets the cpu request for this deployment to use.| +| services.beatworker.cpuRequest | 500m | | Every deployment in kubernetes can be set to use minimum cpu they are allowed to use. This key sets the cpu request for this deployment to use.| +| services.beatworker.memoryRequest | 1000Mi | | Every deployment in kubernetes can be set to use minimum memory they are allowed to use. This key sets the memory request for this deployment to use.| +| services.beatworker.cpuLimit | 1000m | | Every deployment in kubernetes can be set to use maximum cpu they are allowed to use. This key sets the cpu limit for this deployment to use.| +| services.beatworker.memoryLimit | 2000Mi | | Every deployment in kubernetes can be set to use maximum memory they are allowed to use. This key sets the memory limit for this deployment to use.| +| services.beatworker.autoscaling.minReplicas | 1 | | Minimum number of replicas for the Horizontal Pod Autoscaler | +| services.beatworker.autoscaling.maxReplicas | 5 | | Maximum number of replicas for the Horizontal Pod Autoscaler | +| services.beatworker.autoscaling.targetCPUUtilizationPercentage | 90 | | Target CPU utilization percentage for the Horizontal Pod Autoscaler | +| services.beatworker.autoscaling.targetMemoryUtilizationPercentage | 90 | | Target memory utilization percentage for the Horizontal Pod Autoscaler | ### Email Service Deployment @@ -310,10 +341,14 @@ |---|:---:|:---:|---| | services.email_service.enabled | false | | Set to `true` to enable the email service deployment | | services.email_service.replicas | 1 | | Number of replicas for the email service deployment | -| services.email_service.memoryLimit | 1000Mi | | Memory limit for the email service deployment | +| services.email_service.cpuRequest | 100m | | CPU request for the email service deployment | +| services.email_service.memoryRequest | 200Mi | | Memory request for the email service deployment | | services.email_service.cpuLimit | 500m | | CPU limit for the email service deployment | -| services.email_service.memoryRequest | 50Mi | | Memory request for the email service deployment | -| services.email_service.cpuRequest | 50m | | CPU request for the email service deployment | +| services.email_service.memoryLimit | 1000Mi | | Memory limit for the email service deployment | +| services.email_service.autoscaling.minReplicas | 1 | | Minimum number of replicas for the Horizontal Pod Autoscaler | +| services.email_service.autoscaling.maxReplicas | 5 | | Maximum number of replicas for the Horizontal Pod Autoscaler | +| services.email_service.autoscaling.targetCPUUtilizationPercentage | 90 | | Target CPU utilization percentage for the Horizontal Pod Autoscaler | +| services.email_service.autoscaling.targetMemoryUtilizationPercentage | 90 | | Target memory utilization percentage for the Horizontal Pod Autoscaler | | services.email_service.image | artifacts.plane.so/makeplane/email-commercial | | Docker image for the email service deployment | | services.email_service.pullPolicy | Always | | Image pull policy for the email service deployment | | env.email_service_envs.smtp_domain | | Yes | The SMTP Domain to be used with email service | From 333c897c4e31b58787e79f479b1c5d816c5b3c74 Mon Sep 17 00:00:00 2001 From: akshat5302 Date: Tue, 22 Jul 2025 15:52:55 +0530 Subject: [PATCH 5/7] Refactor deployment templates to remove unnecessary quotes around default values for minReplicas, maxReplicas, and averageUtilization settings across multiple services, enhancing clarity and consistency in autoscaling configurations. --- .../templates/workloads/admin.deployment.yaml | 8 ++++---- .../templates/workloads/api.deployment.yaml | 8 ++++---- .../templates/workloads/beat-worker.deployment.yaml | 8 ++++---- .../templates/workloads/email.deployment.yaml | 8 ++++---- .../templates/workloads/live.deployment.yaml | 8 ++++---- .../templates/workloads/silo.deployment.yaml | 8 ++++---- .../templates/workloads/space.deployment.yaml | 8 ++++---- .../templates/workloads/web.deployment.yaml | 8 ++++---- .../templates/workloads/worker.deployment.yaml | 8 ++++---- 9 files changed, 36 insertions(+), 36 deletions(-) diff --git a/charts/plane-enterprise/templates/workloads/admin.deployment.yaml b/charts/plane-enterprise/templates/workloads/admin.deployment.yaml index 8f38d24f..cac633d5 100644 --- a/charts/plane-enterprise/templates/workloads/admin.deployment.yaml +++ b/charts/plane-enterprise/templates/workloads/admin.deployment.yaml @@ -75,8 +75,8 @@ spec: apiVersion: apps/v1 kind: Deployment name: {{ .Release.Name }}-admin-wl - minReplicas: {{ .Values.services.admin.autoscaling.minReplicas | default 1 | quote }} - maxReplicas: {{ .Values.services.admin.autoscaling.maxReplicas | default 5 | quote }} + minReplicas: {{ .Values.services.admin.autoscaling.minReplicas | default 1 }} + maxReplicas: {{ .Values.services.admin.autoscaling.maxReplicas | default 5 }} {{- if or .Values.services.admin.autoscaling.targetCPUUtilizationPercentage .Values.services.admin.autoscaling.targetMemoryUtilizationPercentage }} metrics: {{- if .Values.services.admin.autoscaling.targetCPUUtilizationPercentage }} @@ -85,7 +85,7 @@ spec: name: cpu target: type: Utilization - averageUtilization: {{ .Values.services.admin.autoscaling.targetCPUUtilizationPercentage | default 90 | quote }} + averageUtilization: {{ .Values.services.admin.autoscaling.targetCPUUtilizationPercentage | default 90 }} {{- end }} {{- if .Values.services.admin.autoscaling.targetMemoryUtilizationPercentage }} - type: Resource @@ -93,7 +93,7 @@ spec: name: memory target: type: Utilization - averageUtilization: {{ .Values.services.admin.autoscaling.targetMemoryUtilizationPercentage | default 90 | quote }} + averageUtilization: {{ .Values.services.admin.autoscaling.targetMemoryUtilizationPercentage | default 90 }} {{- end }} {{- end }} {{- end }} diff --git a/charts/plane-enterprise/templates/workloads/api.deployment.yaml b/charts/plane-enterprise/templates/workloads/api.deployment.yaml index cd08b34b..46b4d297 100644 --- a/charts/plane-enterprise/templates/workloads/api.deployment.yaml +++ b/charts/plane-enterprise/templates/workloads/api.deployment.yaml @@ -97,8 +97,8 @@ spec: apiVersion: apps/v1 kind: Deployment name: {{ .Release.Name }}-api-wl - minReplicas: {{ .Values.services.api.autoscaling.minReplicas | default 1 | quote }} - maxReplicas: {{ .Values.services.api.autoscaling.maxReplicas | default 5 | quote }} + minReplicas: {{ .Values.services.api.autoscaling.minReplicas | default 1 }} + maxReplicas: {{ .Values.services.api.autoscaling.maxReplicas | default 5 }} {{- if or .Values.services.api.autoscaling.targetCPUUtilizationPercentage .Values.services.api.autoscaling.targetMemoryUtilizationPercentage }} metrics: {{- if .Values.services.api.autoscaling.targetCPUUtilizationPercentage }} @@ -107,7 +107,7 @@ spec: name: cpu target: type: Utilization - averageUtilization: {{ .Values.services.api.autoscaling.targetCPUUtilizationPercentage | default 90 | quote }} + averageUtilization: {{ .Values.services.api.autoscaling.targetCPUUtilizationPercentage | default 90 }} {{- end }} {{- if .Values.services.api.autoscaling.targetMemoryUtilizationPercentage }} - type: Resource @@ -115,7 +115,7 @@ spec: name: memory target: type: Utilization - averageUtilization: {{ .Values.services.api.autoscaling.targetMemoryUtilizationPercentage | default 90 | quote }} + averageUtilization: {{ .Values.services.api.autoscaling.targetMemoryUtilizationPercentage | default 90 }} {{- end }} {{- end }} {{- end }} diff --git a/charts/plane-enterprise/templates/workloads/beat-worker.deployment.yaml b/charts/plane-enterprise/templates/workloads/beat-worker.deployment.yaml index 49df1943..92b45c1b 100644 --- a/charts/plane-enterprise/templates/workloads/beat-worker.deployment.yaml +++ b/charts/plane-enterprise/templates/workloads/beat-worker.deployment.yaml @@ -65,8 +65,8 @@ spec: apiVersion: apps/v1 kind: Deployment name: {{ .Release.Name }}-beat-worker-wl - minReplicas: {{ .Values.services.beatworker.autoscaling.minReplicas | default 1 | quote }} - maxReplicas: {{ .Values.services.beatworker.autoscaling.maxReplicas | default 5 | quote }} + minReplicas: {{ .Values.services.beatworker.autoscaling.minReplicas | default 1 }} + maxReplicas: {{ .Values.services.beatworker.autoscaling.maxReplicas | default 5 }} {{- if or .Values.services.beatworker.autoscaling.targetCPUUtilizationPercentage .Values.services.beatworker.autoscaling.targetMemoryUtilizationPercentage }} metrics: {{- if .Values.services.beatworker.autoscaling.targetCPUUtilizationPercentage }} @@ -75,7 +75,7 @@ spec: name: cpu target: type: Utilization - averageUtilization: {{ .Values.services.beatworker.autoscaling.targetCPUUtilizationPercentage | default 90 | quote }} + averageUtilization: {{ .Values.services.beatworker.autoscaling.targetCPUUtilizationPercentage | default 90 }} {{- end }} {{- if .Values.services.beatworker.autoscaling.targetMemoryUtilizationPercentage }} - type: Resource @@ -83,7 +83,7 @@ spec: name: memory target: type: Utilization - averageUtilization: {{ .Values.services.beatworker.autoscaling.targetMemoryUtilizationPercentage | default 90 | quote }} + averageUtilization: {{ .Values.services.beatworker.autoscaling.targetMemoryUtilizationPercentage | default 90 }} {{- end }} {{- end }} {{- end }} diff --git a/charts/plane-enterprise/templates/workloads/email.deployment.yaml b/charts/plane-enterprise/templates/workloads/email.deployment.yaml index e7d44d1d..9d058852 100644 --- a/charts/plane-enterprise/templates/workloads/email.deployment.yaml +++ b/charts/plane-enterprise/templates/workloads/email.deployment.yaml @@ -115,8 +115,8 @@ spec: apiVersion: apps/v1 kind: Deployment name: {{ .Release.Name }}-email-app - minReplicas: {{ .Values.services.email_service.autoscaling.minReplicas | default 1 | quote }} - maxReplicas: {{ .Values.services.email_service.autoscaling.maxReplicas | default 5 | quote }} + minReplicas: {{ .Values.services.email_service.autoscaling.minReplicas | default 1 }} + maxReplicas: {{ .Values.services.email_service.autoscaling.maxReplicas | default 5 }} {{- if or .Values.services.email_service.autoscaling.targetCPUUtilizationPercentage .Values.services.email_service.autoscaling.targetMemoryUtilizationPercentage }} metrics: {{- if .Values.services.email_service.autoscaling.targetCPUUtilizationPercentage }} @@ -125,7 +125,7 @@ spec: name: cpu target: type: Utilization - averageUtilization: {{ .Values.services.email_service.autoscaling.targetCPUUtilizationPercentage | default 90 | quote }} + averageUtilization: {{ .Values.services.email_service.autoscaling.targetCPUUtilizationPercentage | default 90 }} {{- end }} {{- if .Values.services.email_service.autoscaling.targetMemoryUtilizationPercentage }} - type: Resource @@ -133,7 +133,7 @@ spec: name: memory target: type: Utilization - averageUtilization: {{ .Values.services.email_service.autoscaling.targetMemoryUtilizationPercentage | default 90 | quote }} + averageUtilization: {{ .Values.services.email_service.autoscaling.targetMemoryUtilizationPercentage | default 90 }} {{- end }} {{- end }} {{- end }} diff --git a/charts/plane-enterprise/templates/workloads/live.deployment.yaml b/charts/plane-enterprise/templates/workloads/live.deployment.yaml index f43fa54d..b4fabfb9 100644 --- a/charts/plane-enterprise/templates/workloads/live.deployment.yaml +++ b/charts/plane-enterprise/templates/workloads/live.deployment.yaml @@ -81,8 +81,8 @@ spec: apiVersion: apps/v1 kind: Deployment name: {{ .Release.Name }}-live-wl - minReplicas: {{ .Values.services.live.autoscaling.minReplicas | default 1 | quote }} - maxReplicas: {{ .Values.services.live.autoscaling.maxReplicas | default 5 | quote }} + minReplicas: {{ .Values.services.live.autoscaling.minReplicas | default 1 }} + maxReplicas: {{ .Values.services.live.autoscaling.maxReplicas | default 5 }} {{- if or .Values.services.live.autoscaling.targetCPUUtilizationPercentage .Values.services.live.autoscaling.targetMemoryUtilizationPercentage }} metrics: {{- if .Values.services.live.autoscaling.targetCPUUtilizationPercentage }} @@ -91,7 +91,7 @@ spec: name: cpu target: type: Utilization - averageUtilization: {{ .Values.services.live.autoscaling.targetCPUUtilizationPercentage | default 90 | quote }} + averageUtilization: {{ .Values.services.live.autoscaling.targetCPUUtilizationPercentage | default 90 }} {{- end }} {{- if .Values.services.live.autoscaling.targetMemoryUtilizationPercentage }} - type: Resource @@ -99,7 +99,7 @@ spec: name: memory target: type: Utilization - averageUtilization: {{ .Values.services.live.autoscaling.targetMemoryUtilizationPercentage | default 90 | quote }} + averageUtilization: {{ .Values.services.live.autoscaling.targetMemoryUtilizationPercentage | default 90 }} {{- end }} {{- end }} {{- end }} diff --git a/charts/plane-enterprise/templates/workloads/silo.deployment.yaml b/charts/plane-enterprise/templates/workloads/silo.deployment.yaml index 06a8e6df..957e891d 100644 --- a/charts/plane-enterprise/templates/workloads/silo.deployment.yaml +++ b/charts/plane-enterprise/templates/workloads/silo.deployment.yaml @@ -104,8 +104,8 @@ spec: apiVersion: apps/v1 kind: Deployment name: {{ .Release.Name }}-silo-wl - minReplicas: {{ .Values.services.silo.autoscaling.minReplicas | default 1 | quote }} - maxReplicas: {{ .Values.services.silo.autoscaling.maxReplicas | default 5 | quote }} + minReplicas: {{ .Values.services.silo.autoscaling.minReplicas | default 1 }} + maxReplicas: {{ .Values.services.silo.autoscaling.maxReplicas | default 5 }} {{- if or .Values.services.silo.autoscaling.targetCPUUtilizationPercentage .Values.services.silo.autoscaling.targetMemoryUtilizationPercentage }} metrics: {{- if .Values.services.silo.autoscaling.targetCPUUtilizationPercentage }} @@ -114,7 +114,7 @@ spec: name: cpu target: type: Utilization - averageUtilization: {{ .Values.services.silo.autoscaling.targetCPUUtilizationPercentage | default 90 | quote }} + averageUtilization: {{ .Values.services.silo.autoscaling.targetCPUUtilizationPercentage | default 90 }} {{- end }} {{- if .Values.services.silo.autoscaling.targetMemoryUtilizationPercentage }} - type: Resource @@ -122,7 +122,7 @@ spec: name: memory target: type: Utilization - averageUtilization: {{ .Values.services.silo.autoscaling.targetMemoryUtilizationPercentage | default 90 | quote }} + averageUtilization: {{ .Values.services.silo.autoscaling.targetMemoryUtilizationPercentage | default 90 }} {{- end }} {{- end }} {{- end }} diff --git a/charts/plane-enterprise/templates/workloads/space.deployment.yaml b/charts/plane-enterprise/templates/workloads/space.deployment.yaml index 9769e6b8..2700172f 100644 --- a/charts/plane-enterprise/templates/workloads/space.deployment.yaml +++ b/charts/plane-enterprise/templates/workloads/space.deployment.yaml @@ -75,8 +75,8 @@ spec: apiVersion: apps/v1 kind: Deployment name: {{ .Release.Name }}-space-wl - minReplicas: {{ .Values.services.space.autoscaling.minReplicas | default 1 | quote }} - maxReplicas: {{ .Values.services.space.autoscaling.maxReplicas | default 5 | quote }} + minReplicas: {{ .Values.services.space.autoscaling.minReplicas | default 1 }} + maxReplicas: {{ .Values.services.space.autoscaling.maxReplicas | default 5 }} {{- if or .Values.services.space.autoscaling.targetCPUUtilizationPercentage .Values.services.space.autoscaling.targetMemoryUtilizationPercentage }} metrics: {{- if .Values.services.space.autoscaling.targetCPUUtilizationPercentage }} @@ -85,7 +85,7 @@ spec: name: cpu target: type: Utilization - averageUtilization: {{ .Values.services.space.autoscaling.targetCPUUtilizationPercentage | default 90 | quote }} + averageUtilization: {{ .Values.services.space.autoscaling.targetCPUUtilizationPercentage | default 90 }} {{- end }} {{- if .Values.services.space.autoscaling.targetMemoryUtilizationPercentage }} - type: Resource @@ -93,7 +93,7 @@ spec: name: memory target: type: Utilization - averageUtilization: {{ .Values.services.space.autoscaling.targetMemoryUtilizationPercentage | default 90 | quote }} + averageUtilization: {{ .Values.services.space.autoscaling.targetMemoryUtilizationPercentage | default 90 }} {{- end }} {{- end }} {{- end }} diff --git a/charts/plane-enterprise/templates/workloads/web.deployment.yaml b/charts/plane-enterprise/templates/workloads/web.deployment.yaml index db171549..5935296f 100644 --- a/charts/plane-enterprise/templates/workloads/web.deployment.yaml +++ b/charts/plane-enterprise/templates/workloads/web.deployment.yaml @@ -75,8 +75,8 @@ spec: apiVersion: apps/v1 kind: Deployment name: {{ .Release.Name }}-web-wl - minReplicas: {{ .Values.services.web.autoscaling.minReplicas | default 1 | quote }} - maxReplicas: {{ .Values.services.web.autoscaling.maxReplicas | default 5 | quote }} + minReplicas: {{ .Values.services.web.autoscaling.minReplicas | default 1 }} + maxReplicas: {{ .Values.services.web.autoscaling.maxReplicas | default 5 }} {{- if or .Values.services.web.autoscaling.targetCPUUtilizationPercentage .Values.services.web.autoscaling.targetMemoryUtilizationPercentage }} metrics: {{- if .Values.services.web.autoscaling.targetCPUUtilizationPercentage }} @@ -85,7 +85,7 @@ spec: name: cpu target: type: Utilization - averageUtilization: {{ .Values.services.web.autoscaling.targetCPUUtilizationPercentage | default 90 | quote }} + averageUtilization: {{ .Values.services.web.autoscaling.targetCPUUtilizationPercentage | default 90 }} {{- end }} {{- if .Values.services.web.autoscaling.targetMemoryUtilizationPercentage }} - type: Resource @@ -93,7 +93,7 @@ spec: name: memory target: type: Utilization - averageUtilization: {{ .Values.services.web.autoscaling.targetMemoryUtilizationPercentage | default 90 | quote }} + averageUtilization: {{ .Values.services.web.autoscaling.targetMemoryUtilizationPercentage | default 90 }} {{- end }} {{- end }} {{- end }} diff --git a/charts/plane-enterprise/templates/workloads/worker.deployment.yaml b/charts/plane-enterprise/templates/workloads/worker.deployment.yaml index 84aa994f..b496d5cc 100644 --- a/charts/plane-enterprise/templates/workloads/worker.deployment.yaml +++ b/charts/plane-enterprise/templates/workloads/worker.deployment.yaml @@ -65,8 +65,8 @@ spec: apiVersion: apps/v1 kind: Deployment name: {{ .Release.Name }}-worker-wl - minReplicas: {{ .Values.services.worker.autoscaling.minReplicas | default 1 | quote }} - maxReplicas: {{ .Values.services.worker.autoscaling.maxReplicas | default 5 | quote }} + minReplicas: {{ .Values.services.worker.autoscaling.minReplicas | default 1 }} + maxReplicas: {{ .Values.services.worker.autoscaling.maxReplicas | default 5 }} {{- if or .Values.services.worker.autoscaling.targetCPUUtilizationPercentage .Values.services.worker.autoscaling.targetMemoryUtilizationPercentage }} metrics: {{- if .Values.services.worker.autoscaling.targetCPUUtilizationPercentage }} @@ -75,7 +75,7 @@ spec: name: cpu target: type: Utilization - averageUtilization: {{ .Values.services.worker.autoscaling.targetCPUUtilizationPercentage | default 90 | quote }} + averageUtilization: {{ .Values.services.worker.autoscaling.targetCPUUtilizationPercentage | default 90 }} {{- end }} {{- if .Values.services.worker.autoscaling.targetMemoryUtilizationPercentage }} - type: Resource @@ -83,7 +83,7 @@ spec: name: memory target: type: Utilization - averageUtilization: {{ .Values.services.worker.autoscaling.targetMemoryUtilizationPercentage | default 90 | quote }} + averageUtilization: {{ .Values.services.worker.autoscaling.targetMemoryUtilizationPercentage | default 90 }} {{- end }} {{- end }} {{- end }} From fa9a25dfebceabc8cce6301e806ad99455db716e Mon Sep 17 00:00:00 2001 From: akshat5302 Date: Tue, 18 Nov 2025 13:27:21 +0530 Subject: [PATCH 6/7] Add Iframely service configuration to values.yaml * Introduced new Iframely service settings including replicas, resource limits, image, and deployment options. * Updated the values.yaml file to enhance service customization and resource management for the Iframely component. --- charts/plane-enterprise/values.yaml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/charts/plane-enterprise/values.yaml b/charts/plane-enterprise/values.yaml index d429ee5b..59ca24ef 100644 --- a/charts/plane-enterprise/values.yaml +++ b/charts/plane-enterprise/values.yaml @@ -100,6 +100,21 @@ services: iframely: enabled: false + replicas: 1 + memoryLimit: 1000Mi + cpuLimit: 500m + memoryRequest: 50Mi + cpuRequest: 50m + image: artifacts.plane.so/makeplane/iframely:v1.2.0 + pullPolicy: Always + assign_cluster_ip: false + nodeSelector: {} + tolerations: [] + affinity: {} + labels: {} + annotations: {} + + web: replicas: 1 memoryLimit: 1000Mi cpuLimit: 500m From fc74fce79ac19381bb7f8dad662de0b31e358f02 Mon Sep 17 00:00:00 2001 From: akshat5302 Date: Tue, 18 Nov 2025 13:32:29 +0530 Subject: [PATCH 7/7] Add resource limits and requests for monitor service in values.yaml * Set memory and CPU limits and requests for the monitor service to enhance resource management and performance optimization. * Updated values.yaml to reflect these changes, ensuring better control over resource allocation for the monitor component. --- charts/plane-enterprise/values.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/charts/plane-enterprise/values.yaml b/charts/plane-enterprise/values.yaml index 59ca24ef..dd5e91df 100644 --- a/charts/plane-enterprise/values.yaml +++ b/charts/plane-enterprise/values.yaml @@ -136,6 +136,10 @@ services: monitor: + memoryLimit: 1000Mi + cpuLimit: 500m + memoryRequest: 50Mi + cpuRequest: 50m image: artifacts.plane.so/makeplane/monitor-commercial pullPolicy: Always volumeSize: 100Mi