Skip to content

Conversation

@akshat5302
Copy link
Member

@akshat5302 akshat5302 commented May 29, 2025

Description

  • Added configurable memory and CPU resource requests for multiple services, allowing users to specify minimum guaranteed resources for deployments.

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • Feature (non-breaking change which adds functionality)
  • Improvement (change that would cause existing functionality to not work as expected)
  • Code refactoring
  • Performance improvements
  • Documentation update

…m chart

- Updated `questions.yml` to include `memoryRequest` and `cpuRequest` for services: web, space, admin, live, silo, monitor, api, worker, beatworker, and email_service.
- Modified `values.yaml` to set default values for `memoryRequest` and `cpuRequest` for the aforementioned services.
- Adjusted deployment templates to utilize the new request configurations for resource management.
@coderabbitai
Copy link
Contributor

coderabbitai bot commented May 29, 2025

Warning

Rate limit exceeded

@akshat5302 has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 6 minutes and 18 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between aec6d9a and 66232c7.

📒 Files selected for processing (5)
  • charts/plane-enterprise/README.md (9 hunks)
  • charts/plane-enterprise/questions.yml (10 hunks)
  • charts/plane-enterprise/templates/workloads/email.deployment.yaml (1 hunks)
  • charts/plane-enterprise/templates/workloads/silo.deployment.yaml (1 hunks)
  • charts/plane-enterprise/values.yaml (7 hunks)

Walkthrough

The changes introduce configurable resource requests for memory and CPU across multiple services in the plane-enterprise Helm chart. This involves updating deployment templates to use templated values, extending the configuration schema in questions.yml, and adding default request values in values.yaml. The chart version is incremented to 1.2.4.

Changes

File(s) Change Summary
charts/plane-enterprise/Chart.yaml Chart version updated from 1.2.3 to 1.2.4
charts/plane-enterprise/questions.yml Added memoryRequest and cpuRequest variables for web, space, admin, live, silo, monitor, api, worker, beatworker, and email_service services
charts/plane-enterprise/values.yaml Added memoryRequest and cpuRequest defaults for all major services
charts/plane-enterprise/templates/workloads/*.deployment.yaml
charts/plane-enterprise/templates/workloads/monitor.stateful.yaml
Changed resource request values from fixed strings to templated values referencing Helm chart variables for all major services

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant HelmChart
    participant Kubernetes

    User->>HelmChart: Set resource requests (memory/cpu) via values or defaults
    HelmChart->>Kubernetes: Rendered manifests with configured resource requests
    Kubernetes->>Kubernetes: Deploy workloads with specified resource requests/limits
Loading

Suggested reviewers

  • mguptahub

Poem

In YAML fields where limits dwell,
New requests now can ring the bell—
Memory, CPU, set with care,
Each service gets its rightful share.
Helm charts hop to version four,
Rabbits cheer for configs galore!
🐇✨


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@akshat5302 akshat5302 changed the title Plane-EE: Add memory and CPU request configurations for Plane Enterprise Helm Chart [INFRA-177] Plane-EE: Add resource requests for Plane Enterprise Helm Chart May 29, 2025
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🧹 Nitpick comments (4)
charts/plane-enterprise/templates/workloads/email.deployment.yaml (1)

69-70: Inconsistent resource key naming
This file uses snake_case (memory_request, cpu_request), whereas other templates (e.g., worker, monitor, space) use camelCase (memoryRequest, cpuRequest). Standardizing on one convention will improve maintainability and reduce confusion.

charts/plane-enterprise/templates/workloads/live.deployment.yaml (1)

50-51: Resource requests templated correctly
Dynamic resource requests for the live service follow the same pattern. Please verify the default values are documented in the chart README or upgrade notes for end users.

charts/plane-enterprise/values.yaml (1)

75-76: Verify default request values and consistency across services
You've added memoryRequest and cpuRequest keys (defaulting to 50Mi/50m) for core services (web, monitor, space, admin, live, api, worker, beatworker, silo). Confirm these defaults align with your performance/availability guidelines and Chart documentation. Also ensure the camelCase naming matches the references in your templates and questions.yml.

Also applies to: 84-85, 95-96, 105-106, 115-116, 125-126, 135-136, 141-142, 148-149

charts/plane-enterprise/questions.yml (1)

105-112: Ensure question schema aligns with values.yaml
New services.*.memoryRequest and services.*.cpuRequest entries correctly prompt for resource requests. Verify that each label, default, and grouping matches your values.yaml, and that the order in questions.yml mirrors the YAML hierarchy so users have a consistent experience.

Also applies to: 140-147, 175-182, 210-217, 257-264, 384-391, 423-430, 471-478, 493-500

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 2ee447e and aec6d9a.

📒 Files selected for processing (13)
  • charts/plane-enterprise/Chart.yaml (1 hunks)
  • charts/plane-enterprise/questions.yml (10 hunks)
  • charts/plane-enterprise/templates/workloads/admin.deployment.yaml (1 hunks)
  • charts/plane-enterprise/templates/workloads/api.deployment.yaml (1 hunks)
  • charts/plane-enterprise/templates/workloads/beat-worker.deployment.yaml (1 hunks)
  • charts/plane-enterprise/templates/workloads/email.deployment.yaml (1 hunks)
  • charts/plane-enterprise/templates/workloads/live.deployment.yaml (1 hunks)
  • charts/plane-enterprise/templates/workloads/monitor.stateful.yaml (1 hunks)
  • charts/plane-enterprise/templates/workloads/silo.deployment.yaml (1 hunks)
  • charts/plane-enterprise/templates/workloads/space.deployment.yaml (1 hunks)
  • charts/plane-enterprise/templates/workloads/web.deployment.yaml (1 hunks)
  • charts/plane-enterprise/templates/workloads/worker.deployment.yaml (1 hunks)
  • charts/plane-enterprise/values.yaml (7 hunks)
🔇 Additional comments (9)
charts/plane-enterprise/Chart.yaml (1)

8-8: Chart version bump
Version updated from 1.2.3 to 1.2.4 to reflect the introduction of configurable resource requests.

charts/plane-enterprise/templates/workloads/worker.deployment.yaml (1)

27-28: Templatize worker resource requests and validate definitions
Memory and CPU requests now reference .Values.services.worker.memoryRequest and .Values.services.worker.cpuRequest with default fallbacks, improving configurability while preserving behavior. Ensure these keys are defined in both values.yaml and questions.yml to avoid Helm rendering errors.

charts/plane-enterprise/templates/workloads/email.deployment.yaml (1)

69-70: Templatize email service resource requests and validate definitions
Requests now pull from .Values.services.email_service.memory_request and .Values.services.email_service.cpu_request with defaults, enhancing flexibility. Verify corresponding entries exist in values.yaml and questions.yml under the email_service section.

charts/plane-enterprise/templates/workloads/monitor.stateful.yaml (1)

47-48: Templatize monitor resource requests and validate definitions
Memory and CPU requests now reference .Values.services.monitor.memoryRequest and .Values.services.monitor.cpuRequest with default fallbacks, improving configurability. Ensure these keys are defined in values.yaml and questions.yml to prevent missing-value template failures.

charts/plane-enterprise/templates/workloads/space.deployment.yaml (1)

50-51: Templatize space service resource requests and validate definitions
Memory and CPU requests now pull from .Values.services.space.memoryRequest and .Values.services.space.cpuRequest with default fallbacks, enabling dynamic configuration. Confirm these variables exist in values.yaml and questions.yml.

charts/plane-enterprise/templates/workloads/api.deployment.yaml (1)

50-51: Well-structured templating for resource requests
The CPU and memory requests are now parametrized with sensible fallbacks ("50Mi" and "50m"), enabling dynamic configuration. Ensure that the corresponding defaults in values.yaml and prompts in questions.yml match these keys and types.

charts/plane-enterprise/templates/workloads/admin.deployment.yaml (1)

50-51: Parametrized resource requests are consistent
The memory and CPU requests for the admin service are now configurable with the same fallback values. Confirm that the default values defined in questions.yml and values.yaml align (both "50Mi" and "50m").

charts/plane-enterprise/templates/workloads/web.deployment.yaml (1)

50-51: Templated resource requests align with chart schema
The web service now supports configurable resource requests with defaults. Ensure these keys are defined in questions.yml and maintain consistency in documentation and examples.

charts/plane-enterprise/templates/workloads/beat-worker.deployment.yaml (1)

27-28: Good use of templated resource requests with default fallbacks
The memory and cpu requests now reference .Values.services.beatworker.memoryRequest and .Values.services.beatworker.cpuRequest with sensible defaults (50Mi, 50m) for backward compatibility.

Comment on lines 73 to 74
memory: {{ .Values.services.silo.memory_request | default "50Mi" | quote }}
cpu: {{ .Values.services.silo.cpu_request | default "50m" | quote }}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Inconsistent Helm value key naming
The silo service uses snake_case keys (memory_request/cpu_request), while other services use memoryRequest/cpuRequest. For consistency across the chart, standardize the key names (preferably lowerCamelCase as used elsewhere).

🤖 Prompt for AI Agents
In charts/plane-enterprise/templates/workloads/silo.deployment.yaml at lines
73-74, the Helm values use snake_case keys memory_request and cpu_request, which
is inconsistent with other services using lowerCamelCase keys memoryRequest and
cpuRequest. Rename these keys to memoryRequest and cpuRequest in both the
template and the values file to maintain consistent naming conventions across
the chart.

@makeplane
Copy link

makeplane bot commented May 29, 2025

Pull Request Linked with Plane Work Items

Comment Automatically Generated by Plane

- Updated `questions.yml` to change variable names from `memory_limit` and `cpu_limit` to `memoryLimit` and `cpuLimit`.
- Modified `values.yaml` to reflect the new variable names for memory and CPU limits and requests.
- Adjusted `email.deployment.yaml` to utilize the updated variable names for resource requests and limits.
- Updated `questions.yml` to change variable names from `memory_request`, `cpu_request`, `memory_limit`, and `cpu_limit` to `memoryRequest` and `cpuRequest`, `memoryLimit` and `cpuLimit`.
- Modified `silo.deployment.yaml` to utilize the updated variable names for resource requests and limits.
…README.md

- Updated the README.md to include `memoryRequest` and `cpuRequest` settings for services: web, space, admin, live, monitor, api, silo, worker, and beatworker.
- Ensured consistency in documentation for resource management across all relevant services.
…urce configurations

- Changed variable names for memory and CPU limits and requests from `memory_limit`, `cpu_limit`, `memory_request`, and `cpu_request` to `memoryLimit`, `cpuLimit`, `memoryRequest`, and `cpuRequest` for the email service.
- Ensured consistency with previous refactoring of resource variable names across the Helm chart.
@mguptahub mguptahub merged commit fbe5648 into develop May 29, 2025
3 checks passed
@mguptahub mguptahub deleted the add-resource-requests-ee branch May 29, 2025 09:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants