-
Notifications
You must be signed in to change notification settings - Fork 72
[Feature] [Platform] Request ID & Header Standardization #1990
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR implements request ID generation and standardizes HTTP headers to use the X-Arango-Platform prefix. The implementation adds a new request_id handler to the envoy auth chain that generates unique request IDs for tracking purposes, while maintaining backward compatibility by supporting both old and new header names.
- New request ID generation handler that creates unique IDs using k8s uuid package
- Header standardization with new
X-Arango-Platform-RouteandX-Arango-Platform-Request-Idheaders - Backward compatible changes by maintaining deprecated
arangodb-platform-routeheader alongside new version
Reviewed Changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| pkg/util/constants/envoy.go | Adds new header constants with deprecation marker for old header, removes unused EnvoyIntegrationSidecarClusterHTTP constant |
| pkg/deployment/resources/config_map_gateway.go | Updates gateway config to set both old and new route headers for backward compatibility |
| integrations/envoy/auth/v3/impl/request_id/impl.go | New handler implementation that generates unique request IDs and adds them to request/response headers |
| integrations/envoy/auth/v3/impl/impl.go | Registers the new request_id handler as the first handler in the auth chain |
| CHANGELOG.md | Documents the new feature in the changelog |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
e066b2b to
f5c3020
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| Header: &pbEnvoyCoreV3.HeaderValue{ | ||
| Key: utilConstants.EnvoyRequestIDHeader, | ||
| Value: string(uuid.NewUUID()), | ||
| }, |
Copilot
AI
Nov 18, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The HeaderValueOption should include an AppendAction field for consistency with other handlers and to explicitly define the header behavior. Consider adding:
var header = pbEnvoyCoreV3.HeaderValueOption{
Header: &pbEnvoyCoreV3.HeaderValue{
Key: utilConstants.EnvoyRequestIDHeader,
Value: string(uuid.NewUUID()),
},
AppendAction: pbEnvoyCoreV3.HeaderValueOption_OVERWRITE_IF_EXISTS_OR_ADD,
}This ensures the request ID header behavior is predictable and consistent with the pattern used in other handlers like pass_mode.
| }, | |
| }, | |
| AppendAction: pbEnvoyCoreV3.HeaderValueOption_OVERWRITE_IF_EXISTS_OR_ADD, |
No description provided.