Repository navigation
feature/add-vpa - #284
feature/add-vpa#284Timofei Larkin (lllamnyp) merged 2 commits into
Conversation
WalkthroughVertical Pod Autoscaler (VPA) support has been introduced and integrated into the etcd-operator Helm chart. The deployment template now conditionally omits static resource requests and limits for containers when their respective VPA is enabled. A new VPA manifest template is added, which generates a VPA resource for the controller manager deployment when VPA is enabled for either the etcd-operator or kube-rbac-proxy containers. The Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant Helm Chart
participant Kubernetes API
User->>Helm Chart: Install/Upgrade with VPA enabled in values.yaml
Helm Chart->>Helm Chart: Render deployment.yml (conditionally omit resources)
Helm Chart->>Helm Chart: Render vpa.yml (conditionally create VPA resource)
Helm Chart->>Kubernetes API: Apply Deployment manifest
Helm Chart->>Kubernetes API: Apply VPA manifest
Kubernetes API->>Deployment: Manage pods (no static resources if VPA enabled)
Kubernetes API->>VPA: Manage resource recommendations and scaling
Poem
Tip ⚡💬 Agentic Chat (Pro Plan, General Availability)
📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (3)
✅ Files skipped from review due to trivial changes (1)
🚧 Files skipped from review as they are similar to previous changes (2)
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
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)
Other keywords and placeholders
CodeRabbit Configuration File (
|
d55edd8 to
3a1de90
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (2)
charts/etcd-operator/templates/workload/vpa.yml (1)
13-14: Validate defaultupdateModevalue
The chart defaultsspec.updatePolicy.updateModeto"Auto", but please confirm that"Auto"is a valid update mode in the VPA API. Consider tightening schema validation (e.g., via anenum) to enforce only supported modes.charts/etcd-operator/values.schema.json (1)
336-338: Enhance validation for VPAupdatePolicy
Add anenumconstraint forvpa.updatePolicy(e.g.,["Auto","Initial","Recreate","Off"]) to the schema to prevent invalid input and improve user feedback.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (5)
charts/etcd-operator/README.md(3 hunks)charts/etcd-operator/templates/workload/deployment.yml(2 hunks)charts/etcd-operator/templates/workload/vpa.yml(1 hunks)charts/etcd-operator/values.schema.json(3 hunks)charts/etcd-operator/values.yaml(3 hunks)
✅ Files skipped from review due to trivial changes (2)
- charts/etcd-operator/values.yaml
- charts/etcd-operator/README.md
🚧 Files skipped from review as they are similar to previous changes (1)
- charts/etcd-operator/templates/workload/deployment.yml
🧰 Additional context used
🪛 YAMLlint (1.35.1)
charts/etcd-operator/templates/workload/vpa.yml
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
🔇 Additional comments (1)
charts/etcd-operator/templates/workload/vpa.yml (1)
1-1: False-positive YAML lint error due to Helm templating
The leading{{-token is being flagged by YAMLlint as a syntax error, but this is expected in Helm templates. You can safely ignore this warning or configure your linter to skip templated files.🧰 Tools
🪛 YAMLlint (1.35.1)
[error] 1-1: syntax error: expected the node content, but found '-'
(syntax)
Summary by CodeRabbit
New Features
Chores