Skip to content

[INFRA-473] - feat(plane-enterprise): add live-exporter service and EXPORT_QUEUE_NAME env - #277

Closed
akshat5302 wants to merge 5 commits into
masterfrom
feat/live-exporter-service
Closed

[INFRA-473] - feat(plane-enterprise): add live-exporter service and EXPORT_QUEUE_NAME env#277
akshat5302 wants to merge 5 commits into
masterfrom
feat/live-exporter-service

Conversation

@akshat5302

@akshat5302 akshat5302 commented Aug 3, 2026

Copy link
Copy Markdown
Member

What

Adds the live-exporter Deployment and two new env vars to plane-enterprise, wiring up the background PDF/DOCX export worker introduced in plane-ee#8680.

New filetemplates/workloads/live-exporter.deployment.yaml: a Deployment that reuses the makeplane/live-commercial image with LIVE_MODE=exporter. No Service or HTTP port — pure queue consumer.

templates/config-secrets/live-env.yamlAMQP_URL added to the live-secrets Secret (alongside REDIS_URL); EXPORT_QUEUE_NAME added to the live-vars ConfigMap:

# Secret (live-secrets)
AMQP_URL: "amqp://<user>:<pass>@<release>-rabbitmq.<ns>.svc.cluster.local/"

# ConfigMap (live-vars)
EXPORT_QUEUE_NAME: "plane-exports"   # env.export_queue_name

Chart version bumped 3.0.0 → 3.1.0.

Why

plane-ee#8680 moves page PDF/DOCX export out of the live request path into a dedicated RabbitMQ-backed worker process (LIVE_MODE=exporter). Without this chart change, Kubernetes deployments have no way to run the exporter and the live pod has no AMQP connection to publish export jobs.

Scope / behavior

Change Default behavior?
live-exporter Deployment Yes — enabled by default (services.live_exporter.enabled: true). Set to false to skip.
AMQP_URL in live-secrets Yes — rendered for all installs (mirrors the same logic already used in app-secrets). When live_env_existingSecret is set, the chart-managed Secret is skipped entirely and the operator must include AMQP_URL in their external secret.
EXPORT_QUEUE_NAME in live-vars Yes — always rendered, defaults to "plane-exports".

The live Deployment itself is not modified.

Upgrade notes

Operators using live_env_existingSecret must add AMQP_URL (and LIVE_SERVER_SECRET_KEY if not already present) to their external secret — see the README live_env_existingSecret table.

Testing

helm lint — 0 failures.

helm template (defaults):

# live-exporter Deployment renders with replicas: 1, image: makeplane/live-commercial:v3.0.0
EXPORT_QUEUE_NAME: "plane-exports"
AMQP_URL: "amqp://plane:plane@test-rabbitmq.default.svc.cluster.local/"
LIVE_MODE: exporter

helm template --set services.live_exporter.enabled=false — no live-exporter resources rendered.

Related

  • plane-ee#8680 — background export worker (WIKI-939)
  • INFRA-473

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features
    • Added a configurable Live Exporter deployment for background PDF and DOCX exports.
    • Added settings for exporter replicas, image pull policy, resource requests, and limits.
    • Added RabbitMQ connection and export queue configuration, defaulting to plane-exports.
    • Added an optional export download base URL.
    • Added support for configuring the required live server secret.
  • Documentation
    • Updated deployment guidance for Live Exporter and export settings.
  • Chores
    • Updated the Helm chart version to 3.1.0.

…ORT_QUEUE_NAME env

- Add live-exporter Deployment (same image as live, LIVE_MODE=exporter, no HTTP port)
- Add AMQP_URL to live-secrets (Secret) for live and live-exporter
- Add EXPORT_QUEUE_NAME to live-vars ConfigMap (default: plane-exports)
- Declare services.live_exporter and env.export_queue_name in values.yaml
- Add Rancher form entries in questions.yml
- Document in README under Live Exporter and live_env_existingSecret sections
- Bump chart version 3.0.0 → 3.1.0

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: f896e305-07af-4ef6-a16c-9107cedd9bce

📥 Commits

Reviewing files that changed from the base of the PR and between 97a7496 and 0129605.

📒 Files selected for processing (3)
  • charts/plane-enterprise/questions.yml
  • charts/plane-enterprise/templates/config-secrets/live-env.yaml
  • charts/plane-enterprise/values.yaml
🚧 Files skipped from review as they are similar to previous changes (2)
  • charts/plane-enterprise/questions.yml
  • charts/plane-enterprise/values.yaml

Walkthrough

The Helm chart adds a configurable Live Exporter Deployment for PDF/DOCX jobs, RabbitMQ export queue settings, conditional AMQP configuration, required live secret documentation, and chart version 3.1.0.

Changes

Live Exporter

Layer / File(s) Summary
Queue and runtime configuration
charts/plane-enterprise/values.yaml, charts/plane-enterprise/questions.yml, charts/plane-enterprise/templates/config-secrets/live-env.yaml
Adds export queue and download URL settings. Renders conditional AMQP_URL, EXPORT_DOWNLOAD_BASE_URL, and EXPORT_QUEUE_NAME values.
Live Exporter deployment
charts/plane-enterprise/questions.yml, charts/plane-enterprise/templates/workloads/live-exporter.deployment.yaml
Adds a conditional Deployment with configurable replicas, resources, scheduling, security, environment sources, and service-account wiring.
Chart release and documentation
charts/plane-enterprise/Chart.yaml, charts/plane-enterprise/README.md
Updates the chart version and documents the Live Exporter settings and required LIVE_SERVER_SECRET_KEY.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Sequence Diagram(s)

sequenceDiagram
  participant HelmValues
  participant LiveEnvTemplate
  participant Kubernetes
  participant LiveExporter
  participant RabbitMQ
  HelmValues->>LiveEnvTemplate: Set export and RabbitMQ settings
  LiveEnvTemplate->>Kubernetes: Render live environment values
  HelmValues->>Kubernetes: Enable Live Exporter
  Kubernetes->>LiveExporter: Start configured replicas
  LiveExporter->>RabbitMQ: Consume jobs from the export queue
Loading

Possibly related PRs

Suggested reviewers: mguptahub

Poem

A rabbit sets the export queue,
The Live Exporter starts anew.
Secrets guide each running pod,
PDF and DOCX jobs hop abroad.
The chart now reads 3.1.0.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the new live-exporter service and EXPORT_QUEUE_NAME setting, which are central changes in the pull request.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 1
⚔️ Resolve merge conflicts 💡
  • Resolve merge conflict in branch feat/live-exporter-service
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/live-exporter-service

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

Comment @coderabbitai help to get the list of available commands.

@makeplane

makeplane Bot commented Aug 3, 2026

Copy link
Copy Markdown

Linked to Plane Work Item(s)

References

This comment was auto-generated by Plane

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 4

🤖 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/questions.yml`:
- Around line 276-302: Indent the entire Live Exporter question entry beginning
with services.live_exporter.enabled, including its label, settings, and
subquestions, by two spaces so it remains within the existing questions sequence
and produces valid YAML.

In `@charts/plane-enterprise/README.md`:
- Around line 467-481: Add services.live_exporter.pullPolicy to the Live
Exporter Deployment settings table, documenting its default as Always and
describing it as the image pull policy so operators can configure it from the
README.

In `@charts/plane-enterprise/templates/workloads/live-exporter.deployment.yaml`:
- Around line 46-51: Update the environment-variable rendering in the
live-exporter deployment so LIVE_MODE remains authoritative: render
.Values.extraEnv before the fixed LIVE_MODE entry, or explicitly filter/reject
any LIVE_MODE supplied through extraEnv. Preserve the required LIVE_MODE value
of "exporter" and use the existing extraEnv handling.

In `@charts/plane-enterprise/values.yaml`:
- Around line 279-283: Increase the exporter’s default memoryRequest from 50Mi
to at least 500Mi in charts/plane-enterprise/values.yaml and
charts/plane-enterprise/questions.yml at the specified ranges, and make the same
default change in charts/plane-enterprise/README.md. Keep memoryLimit and CPU
settings unchanged.
🪄 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 Plus

Run ID: 3ef94515-0997-4ce8-a2b7-7cc2edaca69c

📥 Commits

Reviewing files that changed from the base of the PR and between 3c578a2 and 4dfd37a.

📒 Files selected for processing (6)
  • charts/plane-enterprise/Chart.yaml
  • charts/plane-enterprise/README.md
  • charts/plane-enterprise/questions.yml
  • charts/plane-enterprise/templates/config-secrets/live-env.yaml
  • charts/plane-enterprise/templates/workloads/live-exporter.deployment.yaml
  • charts/plane-enterprise/values.yaml

Comment thread charts/plane-enterprise/questions.yml
Comment thread charts/plane-enterprise/README.md
Comment thread charts/plane-enterprise/values.yaml
akshat5302 and others added 4 commits August 4, 2026 12:50
…ployment

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Defaults to licenseDomain with protocol inferred from SSL settings.
Configurable via env.export_download_base_url.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@akshat5302

Copy link
Copy Markdown
Member Author

closing in favor of PR#256

@akshat5302 akshat5302 closed this Aug 12, 2026
@coderabbitai coderabbitai Bot mentioned this pull request Aug 12, 2026
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.

1 participant