feat: Parameterize health and live HTTP endpoint paths#2230
Conversation
…-parameterize-server-status-endpoints
3993372 to
510e57a
Compare
WalkthroughThis change introduces configurable health and live endpoint paths to the runtime system. New fields and environment variable support are added to the configuration, propagated through the runtime initialization, and utilized by the HTTP server. Tests are updated to validate both default and custom endpoint path behaviors. Changes
Sequence Diagram(s)sequenceDiagram
participant Env as Environment
participant Config as RuntimeConfig
participant Dist as DistributedRuntime
participant SysHealth as SystemHealth
participant HttpServer as HTTP Server
Env->>Config: Provide DYN_SYSTEM_HEALTH_PATH / DYN_SYSTEM_LIVE_PATH
Config->>Dist: Pass system_health_path, system_live_path
Dist->>SysHealth: Initialize with paths
SysHealth->>HttpServer: Expose health_path, live_path
HttpServer->>Client: Serve health/live endpoints at configured paths
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~18 minutes Poem
Note ⚡️ Unit Test Generation is now available in beta!Learn more here, or try it out under "Finishing Touches" below. 📜 Recent review detailsConfiguration used: .coderabbit.yaml 📒 Files selected for processing (4)
🧰 Additional context used🧠 Learnings (3)📓 Common learnings📚 Learning: the asyncenginecontextprovider trait in lib/runtime/src/engine.rs was intentionally changed from `se...Applied to files:
📚 Learning: in lib/runtime/src/component/client.rs, the current mutex usage in get_or_create_dynamic_instance_so...Applied to files:
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
🔇 Additional comments (15)
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. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
…-parameterize-server-status-endpoints
|
@keivenchang How to get approval from "ai-dynamo/dynamo-rust-codeowners"? |
|
Hi @rmccorm4. This PR is blocked by approval from dynamo-rust-codeowners. Can you please approve? |
|
This will mean the frontend uses env var |
|
Merged. We can rename the env var in a follow up. |
|
@grahamking thanks for the feedback. We will harmonize the names: https://linear.app/nvidia-dynamo/issue/DYN-817/merge-dyn-http-svc-health-path-and-dyn-system-health-path |
Overview:
This PR adds parameterization support for health and live HTTP endpoint paths, allowing custom configuration of server status endpoints via environment variables.
Details:
Changes Made
Environment Variables Added
DYN_SYSTEM_HEALTH_PATH- Custom health endpoint pathDYN_SYSTEM_LIVE_PATH- Custom live endpoint pathTest Coverage
/health,/live) when no custom paths configuredWhere should the reviewer start?
Related Issues: (use one of the action keywords Closes / Fixes / Resolves / Relates to)
Summary by CodeRabbit
New Features
/healthand/live, but can be changed at runtime.Tests