fix(connection): honor always-update for ready resources#407
Conversation
|
@freeznet:Thanks for your contribution. For this PR, do we need to update docs? |
There was a problem hiding this comment.
Pull request overview
This PR updates the PulsarConnection reconciliation flow to honor the AlwaysUpdatePulsarResource feature gate so that managed child resources can be re-applied even when they are already Ready=True (useful for upgrade remediation), and documents/exposes that behavior via Helm values and docs.
Changes:
- Continue connection reconciliation for “ready-only” child sets when
AlwaysUpdatePulsarResourceis enabled and at least one managed child resource is observed. - Add unit tests covering always-update enabled/disabled behavior and ensuring the deletion guard behavior remains intact.
- Document reconciliation skip semantics and surface the feature toggle guidance in docs and Helm chart metadata.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| pkg/connection/reconciler.go | Enables reconciling ready resources when always-update is on; adds helper methods to detect observed children. |
| pkg/connection/reconciler_test.go | Adds tests validating reconcile behavior with always-update on/off and during connection deletion. |
| docs/pulsar_resource_lifecycle.md | Documents the reconciliation skip contract and upgrade remediation options (incl. always-update). |
| docs/pulsar_namespace.md | Adds a note pointing to the lifecycle doc section for reconciliation skip behavior and remediation. |
| charts/pulsar-resources-operator/values.yaml | Improves Helm values documentation for features.alwaysUpdatePulsarResource. |
| charts/pulsar-resources-operator/README.md | Updates the chart values table description for features.alwaysUpdatePulsarResource. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
(If this PR fixes a github issue, please add
Fixes #<xyz>.)Fixes #
(or if this PR is one task of a github issue, please add
Master Issue: #<xyz>to link to the master issue.)Master Issue: #
Motivation
Explain here the context, and why you're making that change. What is the problem you're trying to solve.
Modifications
Describe the modifications you've done.
Verifying this change
(Please pick either of the following options)
This change is a trivial rework / code cleanup without any test coverage.
(or)
This change is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(example:)
Documentation
Check the box below.
Need to update docs?
doc-required(If you need help on updating docs, create a doc issue)
no-need-doc(Please explain why)
doc(If this PR contains doc changes)