Is your feature request related to a problem? Please describe.
Yes. Currently, arkflow-rs does expose a /ready endpoint for readiness checks, but currently it is just set to true after build the stream
|
// Set the readiness status |
|
self.health_state.is_ready.store(true, Ordering::SeqCst); |
. This makes it hard to integrate with orchestration systems like Kubernetes. For connectors, ready should mean that both input and output layer connections are established and healthy.
Describe the solution you'd like
I think that each input or output component we should define background ready check function, and in the engine, they will call these input/output ready function, report error status if any through /ready api
Expectation:
Add a /ready endpoint alongside the existing health checks. The readiness probe should:
- Verify input source connection is established.
- Verify output sink connection is established.
Return 200 OK when ready, and 503 Service Unavailable when not ready.
If this makes sense, I’d be happy to help contribute an implementation
Is your feature request related to a problem? Please describe.
Yes. Currently, arkflow-rs does expose a
/readyendpoint for readiness checks, but currently it is just set to true after build the streamarkflow/crates/arkflow-core/src/engine/mod.rs
Lines 244 to 245 in 92cb5d4
Describe the solution you'd like
I think that each input or output component we should define background ready check function, and in the engine, they will call these input/output ready function, report error status if any through
/readyapiExpectation:
Add a /ready endpoint alongside the existing health checks. The readiness probe should:
Return 200 OK when ready, and 503 Service Unavailable when not ready.
If this makes sense, I’d be happy to help contribute an implementation