nv-morpheus/Morpheus

[FEA]: Add health/ready checks to the `HttpServerSource` stage

Opened this issue · 0 comments

Is this a new feature, an improvement, or a change to existing functionality?

Improvement

How would you describe the priority of this feature request

High

Please provide a clear description of problem this feature solves

To be compatible with frameworks for monitoring micro services, Morpheus pipelines should be able to respond correctly to to health/ready checks which are common in these frameworks.

Describe your ideal solution

Add an additional option to the HttpServerSourceStage to enable returning a 200 response on a configurable endpoint.

Required features:

  • The option can be enabled and disabled
  • The endpoint URLs can be configured (i.e. /health vs /v2/health/ready)
  • The source stage should support both liveness and readyness. (See [this](https://docs.docker.com/reference/dockerfile/#healthcheck_ guide for the difference)
  • It should work in both python and C++ mode

Completion Criteria:

  • Added support for the new feature and all options in Python mode
  • Added support for the new feature and all options in C++ mode
  • Tests for the new features (executed in both C++ and python)
    • Tests should simulate pipeline crashes
  • Documentation has been updated for the new features

Additional context

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct
  • I have searched the open feature requests and have found no duplicates for this feature request