akuity / kargo

Application lifecycle orchestration
https://kargo.akuity.io/
Apache License 2.0
1.39k stars 114 forks source link

refactor(controller): support multi-Freight health checks #2217

Closed hiddeco closed 2 days ago

hiddeco commented 2 days ago

This is the most elegant way I could think of to enable support for multi-Freight health checks.

It works by determining which Freight element from a FreightCombination applies to the Application, leveraging the existing logic to determine the desired revision (based on source matching of the Freight against the Application data).

For each match, the further "revision health" is assessed, which will either return early in case of an "unhealthy" state or allow it to continue when it passes for all applicable Freight.

codecov[bot] commented 2 days ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Please upload report for BASE (multi-pipelines@8f0f0cc). Learn more about missing BASE report.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## multi-pipelines #2217 +/- ## ================================================== Coverage ? 46.02% ================================================== Files ? 242 Lines ? 16735 Branches ? 0 ================================================== Hits ? 7703 Misses ? 8651 Partials ? 381 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.