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 aa82fa9..221f382 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 17abdd0..81556d5 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 8c4c57d..70bd0d6 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 8831c0a..9bf3f76 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 69fb9aa..cfd2f6f 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 c6084a8..c8d1a3c 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 3fcc3df..1a91833 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 192ec7d..7275dd5 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 2e97f32..4c64028 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 8853a9e..0aa5464 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 60c7970..b7f5393 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 70bd0d6..eaae6ba 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 9bf3f76..f94f873 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 cfd2f6f..10c0598 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 c8d1a3c..a969eb1 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 1a91833..1f837f7 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 7275dd5..6b224e4 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 4c64028..f5984ee 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 0aa5464..2b2f266 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 c14ba77..3f98f79 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 eaae6ba..8f38d24 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 f94f873..cd08b34 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 10c0598..49df194 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 8bcf3c0..e7d44d1 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 a969eb1..f43fa54 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 0dcc70f..9c0f6e4 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 1f837f7..06a8e6d 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 6b224e4..9769e6b 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 f5984ee..db17154 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 2b2f266..84aa994 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 b7f5393..44a4209 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 acb6a10..716571a 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 8f38d24..cac633d 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 cd08b34..46b4d29 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 49df194..92b45c1 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 e7d44d1..9d05885 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 f43fa54..b4fabfb 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 06a8e6d..957e891 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 9769e6b..2700172 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 db17154..5935296 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 84aa994..b496d5c 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 d429ee5..59ca24e 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 59ca24e..dd5e91d 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