Skip to content

Enable single opertor to be installed#5

Merged
Tzvonimir merged 1 commit into
mainfrom
tzvonimir/support-enabling-disabling-operators
Nov 26, 2025
Merged

Enable single opertor to be installed#5
Tzvonimir merged 1 commit into
mainfrom
tzvonimir/support-enabling-disabling-operators

Conversation

@Tzvonimir
Copy link
Copy Markdown
Contributor

@Tzvonimir Tzvonimir commented Nov 25, 2025

Summary by CodeRabbit

  • New Features

    • Added ability to selectively enable or disable the operator and zxporter components independently.
  • Documentation

    • Updated provider version requirements to use flexible minimum constraints.
    • Added five example deployment configurations showing minimal, full, and custom deployment scenarios.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Nov 25, 2025

Walkthrough

This PR introduces conditional deployment of zxporter and devzero-operator Helm chart components through new boolean variables. The changes add count attributes to both Helm releases controlled by enable_zxporter and enable_operator flags, along with five example Terraform configurations demonstrating different deployment scenarios.

Changes

Cohort / File(s) Summary
Core Terraform logic
variables.tf, main.tf, README.md
Added two new boolean variables (enable_zxporter, enable_operator) with defaults to true, both controlling conditional Helm release deployments via count attributes. Updated README provider version constraints from exact to minimum requirements (>= 0.1.1, >= 3.0.2) and documented new inputs.
Example configurations
examples/custom-values-override.tf, examples/full-deployment.tf, examples/only-cluster.tf, examples/only-operator.tf, examples/only-zxporter.tf
Added five new example Terraform configurations: minimal cluster (both disabled), full deployment (both enabled), zxporter-only, operator-only, and custom value overrides demonstrating various deployment scenarios and Helm chart value customization.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20–25 minutes

  • Multiple new example files share consistent patterns but require validation of configurations
  • Conditional logic in main.tf is straightforward but affects resource instantiation for multiple Helm releases
  • Documentation updates align with new variables; verify consistency across README and examples

Possibly related PRs

  • Upgrade helm versions #4: Modifies the same Helm release resources (helm_release.zxporter and helm_release.devzero_operator) in main.tf; potential merge conflict or dependency if both add conditional logic or version changes.

Suggested reviewers

  • lbagic

Poem

🐰 Two toggles hop into the cluster today,
Zxporter and Operator now have their say!
Enable or disable with a simple true/false,
Examples guide the way, without any waltz.
Helm charts deploy conditionally—how neat! ✨

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Title check ⚠️ Warning The title 'Enable single opertor to be installed' is misleading. The PR actually enables/disables both zxporter AND devzero-operator components independently (not just one), and contains a typo ('opertor' instead of 'operator'). Revise the title to accurately reflect the dual-component feature, such as 'Add toggle support for zxporter and devzero-operator components' or 'Support optional installation of zxporter and operator'. Fix the typo 'opertor' to 'operator'.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch tzvonimir/support-enabling-disabling-operators

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between c50afc5 and 136c301.

📒 Files selected for processing (8)
  • README.md (2 hunks)
  • examples/custom-values-override.tf (1 hunks)
  • examples/full-deployment.tf (1 hunks)
  • examples/only-cluster.tf (1 hunks)
  • examples/only-operator.tf (1 hunks)
  • examples/only-zxporter.tf (1 hunks)
  • main.tf (2 hunks)
  • variables.tf (1 hunks)
🧰 Additional context used
🪛 Checkov (3.2.334)
examples/only-operator.tf

[medium] 2-28: Ensure Terraform module sources use a commit hash

(CKV_TF_1)


[high] 2-28: Ensure Terraform module sources use a tag with a version number

(CKV_TF_2)

examples/only-zxporter.tf

[medium] 2-26: Ensure Terraform module sources use a commit hash

(CKV_TF_1)


[high] 2-26: Ensure Terraform module sources use a tag with a version number

(CKV_TF_2)

examples/custom-values-override.tf

[medium] 2-66: Ensure Terraform module sources use a commit hash

(CKV_TF_1)


[high] 2-66: Ensure Terraform module sources use a tag with a version number

(CKV_TF_2)

examples/full-deployment.tf

[medium] 2-32: Ensure Terraform module sources use a commit hash

(CKV_TF_1)


[high] 2-32: Ensure Terraform module sources use a tag with a version number

(CKV_TF_2)

examples/only-cluster.tf

[medium] 2-10: Ensure Terraform module sources use a commit hash

(CKV_TF_1)


[high] 2-10: Ensure Terraform module sources use a tag with a version number

(CKV_TF_2)

🔇 Additional comments (2)
main.tf (2)

18-57: Count syntax is correct; confirm backward compatibility with existing configurations.

The count expressions properly implement conditional deployment:

  • count = var.enable_zxporter ? 1 : 0 creates 0 or 1 instance of zxporter
  • count = var.enable_operator ? 1 : 0 creates 0 or 1 instance of devzero-operator
  • Both variables default to true, preserving existing behavior for users not explicitly setting them

The resource configurations are otherwise unchanged, ensuring clean separation of concerns.

Please confirm that:

  1. No existing Terraform state or documentation assumes these resources are always present (the count makes them conditional)
  2. Any consumers using this module via depends_on or in downstream code are aware these are now optional resources

Also applies to: 59-126


19-19: The review comment is incorrect. The module outputs reference only devzero_cluster.cluster (which has no count applied), not the helm_release.zxporter or helm_release.devzero_operator resources. No splat syntax or indexing is needed, and the code requires no changes.

Likely an incorrect or invalid review comment.

Tip

📝 Customizable high-level summaries are now available in beta!

You can now customize how CodeRabbit generates the high-level summary in your pull requests — including its content, structure, tone, and formatting.

  • Provide your own instructions using the high_level_summary_instructions setting.
  • Format the summary however you like (bullet lists, tables, multi-section layouts, contributor stats, etc.).
  • Use high_level_summary_in_walkthrough to move the summary from the description to the walkthrough section.

Example instruction:

"Divide the high-level summary into five sections:

  1. 📝 Description — Summarize the main change in 50–60 words, explaining what was done.
  2. 📓 References — List relevant issues, discussions, documentation, or related PRs.
  3. 📦 Dependencies & Requirements — Mention any new/updated dependencies, environment variable changes, or configuration updates.
  4. 📊 Contributor Summary — Include a Markdown table showing contributions:
    | Contributor | Lines Added | Lines Removed | Files Changed |
  5. ✔️ Additional Notes — Add any extra reviewer context.
    Keep each section concise (under 200 words) and use bullet or numbered lists for clarity."

Note: This feature is currently in beta for Pro-tier users, and pricing will be announced later.


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 and usage tips.

@Tzvonimir Tzvonimir merged commit ecc8530 into main Nov 26, 2025
2 checks passed
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.

2 participants