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/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 | 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/_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..cac633d 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: @@ -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 | 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 }} + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: {{ .Values.services.admin.autoscaling.targetCPUUtilizationPercentage | default 90 }} + {{- end }} + {{- if .Values.services.admin.autoscaling.targetMemoryUtilizationPercentage }} + - type: Resource + resource: + name: memory + target: + type: Utilization + averageUtilization: {{ .Values.services.admin.autoscaling.targetMemoryUtilizationPercentage | default 90 }} + {{- 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..46b4d29 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: @@ -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 | 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 }} + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: {{ .Values.services.api.autoscaling.targetCPUUtilizationPercentage | default 90 }} + {{- end }} + {{- if .Values.services.api.autoscaling.targetMemoryUtilizationPercentage }} + - type: Resource + resource: + name: memory + target: + type: Utilization + 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 69fb9aa..92b45c1 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: @@ -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 | 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 }} + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: {{ .Values.services.beatworker.autoscaling.targetCPUUtilizationPercentage | default 90 }} + {{- end }} + {{- if .Values.services.beatworker.autoscaling.targetMemoryUtilizationPercentage }} + - type: Resource + resource: + name: memory + target: + type: Utilization + averageUtilization: {{ .Values.services.beatworker.autoscaling.targetMemoryUtilizationPercentage | default 90 }} + {{- end }} + {{- end }} +{{- end }} --- \ No newline at end of file diff --git a/charts/plane-enterprise/templates/workloads/email.deployment.yaml b/charts/plane-enterprise/templates/workloads/email.deployment.yaml index 8bcf3c0..9d05885 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 }} + 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 }} + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: {{ .Values.services.email_service.autoscaling.targetCPUUtilizationPercentage | default 90 }} + {{- 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 }} + {{- 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 c6084a8..b4fabfb 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: @@ -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 | 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 }} + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: {{ .Values.services.live.autoscaling.targetCPUUtilizationPercentage | default 90 }} + {{- end }} + {{- if .Values.services.live.autoscaling.targetMemoryUtilizationPercentage }} + - type: Resource + resource: + name: memory + target: + type: Utilization + averageUtilization: {{ .Values.services.live.autoscaling.targetMemoryUtilizationPercentage | default 90 }} + {{- 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 3fcc3df..957e891 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: @@ -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 | 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 }} + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: {{ .Values.services.silo.autoscaling.targetCPUUtilizationPercentage | default 90 }} + {{- end }} + {{- if .Values.services.silo.autoscaling.targetMemoryUtilizationPercentage }} + - type: Resource + resource: + name: memory + target: + type: Utilization + averageUtilization: {{ .Values.services.silo.autoscaling.targetMemoryUtilizationPercentage | default 90 }} + {{- 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..2700172 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: @@ -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 | 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 }} + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: {{ .Values.services.space.autoscaling.targetCPUUtilizationPercentage | default 90 }} + {{- end }} + {{- if .Values.services.space.autoscaling.targetMemoryUtilizationPercentage }} + - type: Resource + resource: + name: memory + target: + type: Utilization + averageUtilization: {{ .Values.services.space.autoscaling.targetMemoryUtilizationPercentage | default 90 }} + {{- 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..5935296 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: @@ -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 | 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 }} + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: {{ .Values.services.web.autoscaling.targetCPUUtilizationPercentage | default 90 }} + {{- end }} + {{- if .Values.services.web.autoscaling.targetMemoryUtilizationPercentage }} + - type: Resource + resource: + name: memory + target: + type: Utilization + averageUtilization: {{ .Values.services.web.autoscaling.targetMemoryUtilizationPercentage | default 90 }} + {{- 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..b496d5c 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: @@ -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 | 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 }} + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: {{ .Values.services.worker.autoscaling.targetCPUUtilizationPercentage | default 90 }} + {{- end }} + {{- if .Values.services.worker.autoscaling.targetMemoryUtilizationPercentage }} + - type: Resource + resource: + name: memory + target: + type: Utilization + averageUtilization: {{ .Values.services.worker.autoscaling.targetMemoryUtilizationPercentage | default 90 }} + {{- 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..44a4209 100644 --- a/charts/plane-enterprise/values.yaml +++ b/charts/plane-enterprise/values.yaml @@ -70,19 +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: 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 @@ -90,66 +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: 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: 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: 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: 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: 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: 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: 5 + targetCPUUtilizationPercentage: 90 + targetMemoryUtilizationPercentage: 90 connectors: slack: enabled: false @@ -170,12 +207,17 @@ 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