Skip to content

[release-0.2] HYPERFLEET-659 - fix: return HTTP 503 when database is unreachable#104

Merged
openshift-merge-bot[bot] merged 1 commit into
openshift-hyperfleet:release-0.2from
openshift-cherrypick-robot:cherry-pick-97-to-release-0.2
Apr 8, 2026
Merged

[release-0.2] HYPERFLEET-659 - fix: return HTTP 503 when database is unreachable#104
openshift-merge-bot[bot] merged 1 commit into
openshift-hyperfleet:release-0.2from
openshift-cherrypick-robot:cherry-pick-97-to-release-0.2

Conversation

@openshift-cherrypick-robot

Copy link
Copy Markdown

This is an automated cherry-pick of #97

/assign 86254860

@coderabbitai

coderabbitai Bot commented Apr 8, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 3d0682ab-746c-43ed-a5cf-490c3959894a

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

@86254860

86254860 commented Apr 8, 2026

Copy link
Copy Markdown
Contributor

/lgtm

@openshift-ci openshift-ci Bot added the lgtm label Apr 8, 2026
@openshift-ci

openshift-ci Bot commented Apr 8, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: 86254860

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci Bot added the approved label Apr 8, 2026
@openshift-merge-bot
openshift-merge-bot Bot merged commit 576dab0 into openshift-hyperfleet:release-0.2 Apr 8, 2026
5 checks passed
kuudori pushed a commit to kuudori/hyperfleet-api that referenced this pull request Jul 14, 2026
…t-hyperfleet#104)

Add lifecycle.delete DSL block to per-resource config, enabling adapters
to conditionally delete managed resources based on CEL expressions
(e.g., deleted_at != null) with configurable K8s propagation policies.

There are a lot of files, but you can divide them mostly in:
- chart/examples
  - kubernetes
- I changed how the namespace is deleted to depend on the other objects
to be deleted to delete the namespace
- This means the adapters need a second event cycle to delete completely
the resources
  - maestro
- This is as before, one single manifestwork is deleted, both the
namespace and configmap within it are deleted
  - added a maestro-two-resources
- This one splits into two manifestworks, one for the configmap one for
the namespace
    - Deletion of the namespace waits for the first one to be deleted
    - So two cycles of events are required for deletion
- test/tesdata/dryrun
- refactored into its own subfolders and added shell scripts to trigger
the examples easily
- code
  - Reading the config from DSL and validating
- Refactoring how errors work, since each resource in the resources
phase can come with errors or not
- Pre-discovery before any deletion action, so you can use `when` CEL
expressions to know if there is something to delete or not.
- Post-delete rediscovery determines actual resource state after
DeleteResource: NotFound → store nil (same-reconciliation cascade);
still present (finalizers/Maestro async) → store object (next cycle)



<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Conditional resource deletion with expression gating, configurable
propagation policy, ordered multi-resource teardown, finalized-status
reporting, and per-resource discovery state capture
* **Bug Fixes**
* Improved field-extraction/CEL error handling, clearer
warnings/defaulting, and more robust precondition capture semantics
* **Documentation**
* Expanded authoring guide, new multi-resource examples, and Helm
values/docs updated to camelCase
* **Tests**
* Added dry-run fixtures, helper scripts, and extensive deletion-flow
unit/integration coverage
* **Chores**
  * YAML/values key renames from snake_case to camelCase
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
kuudori pushed a commit to kuudori/hyperfleet-api that referenced this pull request Jul 14, 2026
…openshift-hyperfleet#104

Adapter PR openshift-hyperfleet#104 (HYPERFLEET-849) changed SetError() to preserve richer
ExecutionError details, which changed the Health condition reason from
ExecutionFailed:ResourceFailed to ExecutionFailed:resources. The new
value aligns with the PhaseResources constant used across all phases.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
kuudori pushed a commit to kuudori/hyperfleet-api that referenced this pull request Jul 14, 2026
…HYPERFLEET-1001

HYPERFLEET-1001 - fix: update Health reason assertion after adapter PR openshift-hyperfleet#104
kuudori pushed a commit to kuudori/hyperfleet-api that referenced this pull request Jul 14, 2026
…book-examples

docs: add maestro cleanup tip
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants