[release-0.2] HYPERFLEET-659 - fix: return HTTP 503 when database is unreachable#104
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ 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 |
|
/lgtm |
|
[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 DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
576dab0
into
openshift-hyperfleet:release-0.2
…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 -->
…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>
…HYPERFLEET-1001 HYPERFLEET-1001 - fix: update Health reason assertion after adapter PR openshift-hyperfleet#104
…book-examples docs: add maestro cleanup tip
This is an automated cherry-pick of #97
/assign 86254860