Add get_proxy_agent_aggregate_status to remove the disk write-permission dependency#363
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR removes the VM extension’s dependency on reading GPA’s aggregated status from a writable status.json by adding a localhost HTTP endpoint that serves the aggregated status, with the extension falling back to file reads if the endpoint is unavailable.
Changes:
- Add a
/gpa-aggregated-statusendpoint to the proxy agent HTTP server to return the current aggregated status as JSON. - Add shared client helpers to fetch aggregated status from the server first, then fall back to reading
status.json, and update the extension to use this flow. - Centralize proxy agent IP/port constants in
proxy_agent_sharedand update binary bloat budgets.
Reviewed changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| proxy_agent/src/proxy/proxy_server.rs | Routes and serves the new aggregated-status endpoint from the GPA HTTP listener. |
| proxy_agent/src/proxy_agent_status.rs | Refactors status-building helpers and exposes an async aggregate-status getter for the server endpoint. |
| proxy_agent/src/common/constants.rs | Re-exports proxy agent IP/port from the shared crate to unify constants. |
| proxy_agent_shared/src/server_mock.rs | Extends the mock server to respond to the new aggregated-status endpoint for tests. |
| proxy_agent_shared/src/proxy_agent_aggregate_status.rs | Adds the endpoint path constant and server-first/fallback-to-file aggregate-status retrieval helpers. |
| proxy_agent_shared/src/error.rs | Adds a new error variant for combined server+file aggregate-status retrieval failures. |
| proxy_agent_shared/src/constants.rs | Defines shared PROXY_AGENT_IP / PROXY_AGENT_PORT. |
| proxy_agent_extension/src/service_main.rs | Uses server-first aggregate-status retrieval for version checks and status reporting. |
| proxy_agent_extension/src/error.rs | Adds conversion support for bubbling up proxy_agent_shared::error::Error. |
| proxy_agent_extension/src/constants.rs | Renames the state event key to reflect aggregate-status retrieval (server/file). |
| .github/workflows/bloat.yml | Adjusts bloat budget thresholds for ProxyAgentExt builds. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
srikrishnaveturi
approved these changes
Jun 24, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
/gpa-aggregated-statusand return current aggregated status in json as response.