Plane-EE: Add webhook consumer service#242
Conversation
…uestions.yml, and values.yaml
…o add-webhook-consumer-service
WalkthroughThis PR extends the Plane Enterprise Helm chart with webhook infrastructure: an optional IP/hostname allowlist for webhook delivery targets and a new webhook consumer Kubernetes workload service with configurable scaling, resources, and RabbitMQ queue integration. ChangesWebhook Infrastructure
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In
`@charts/plane-enterprise/templates/workloads/webhook-consumer.deployment.yaml`:
- Around line 24-25: The webhook-consumer deployment uses
.Values.services.api.pullPolicy for imagePullPolicy, ignoring the new
per-consumer setting; update the imagePullPolicy key in
webhook-consumer.deployment.yaml to reference
.Values.services.webhook_consumer.pullPolicy (with the same default fallback
used elsewhere, e.g., default "Always") so the consumer can be configured
independently from services.api.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 1dd53238-4777-45dd-80a2-753763f856b0
📒 Files selected for processing (6)
charts/plane-enterprise/README.mdcharts/plane-enterprise/questions.ymlcharts/plane-enterprise/templates/config-secrets/app-env.yamlcharts/plane-enterprise/templates/config-secrets/webhook-consumer.yamlcharts/plane-enterprise/templates/workloads/webhook-consumer.deployment.yamlcharts/plane-enterprise/values.yaml
| imagePullPolicy: {{ .Values.services.api.pullPolicy | default "Always" }} | ||
| image: {{ .Values.services.api.image | default "makeplane/backend-commercial" }}:{{ .Values.planeVersion }} |
There was a problem hiding this comment.
Use the webhook consumer pull policy here.
Line 24 reads services.api.pullPolicy, so the new services.webhook_consumer.pullPolicy setting exposed in values.yaml and documented in README.md is currently ignored. That makes this workload impossible to configure independently and can break clusters that rely on IfNotPresent or Never for just this consumer.
Suggested fix
- imagePullPolicy: {{ .Values.services.api.pullPolicy | default "Always" }}
+ imagePullPolicy: {{ .Values.services.webhook_consumer.pullPolicy | default "Always" }}
image: {{ .Values.services.api.image | default "makeplane/backend-commercial" }}:{{ .Values.planeVersion }}📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| imagePullPolicy: {{ .Values.services.api.pullPolicy | default "Always" }} | |
| image: {{ .Values.services.api.image | default "makeplane/backend-commercial" }}:{{ .Values.planeVersion }} | |
| imagePullPolicy: {{ .Values.services.webhook_consumer.pullPolicy | default "Always" }} | |
| image: {{ .Values.services.api.image | default "makeplane/backend-commercial" }}:{{ .Values.planeVersion }} |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@charts/plane-enterprise/templates/workloads/webhook-consumer.deployment.yaml`
around lines 24 - 25, The webhook-consumer deployment uses
.Values.services.api.pullPolicy for imagePullPolicy, ignoring the new
per-consumer setting; update the imagePullPolicy key in
webhook-consumer.deployment.yaml to reference
.Values.services.webhook_consumer.pullPolicy (with the same default fallback
used elsewhere, e.g., default "Always") so the consumer can be configured
independently from services.api.
Description
This pull request introduces support for a new "webhook consumer" component in the Helm chart, allowing users to deploy and configure a dedicated webhook consumer service. It also adds new environment variables to restrict outbound webhook targets by IP or hostname, enhancing security. The changes include updates to documentation, configuration templates, and the interactive questions for chart installation.
Type of Change
Summary by CodeRabbit