Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR improves GCP VPC documentation and error handling for network connectivity issues, elevating the VPC feature from alpha to beta status.
Key Changes:
- Enhanced error feedback for network timeout scenarios with detailed troubleshooting guidance
- Updated VPC feature maturity level from "alpha" to "beta" across documentation and variable descriptions
- Improved VPC configuration documentation with clearer examples and setup instructions
Reviewed Changes
Copilot reviewed 7 out of 8 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| tools/psoxy-test/psoxy-test-call.js | Added network timeout error handling with detailed diagnostic message; reorganized imports alphabetically |
| java/core/src/main/java/co/worklytics/psoxy/gateway/impl/ApiDataRequestHandler.java | Added SocketTimeoutException detection and specialized error response with troubleshooting guidance |
| java/core/src/main/java/co/worklytics/psoxy/ErrorCauses.java | Added NETWORK_EGRESS_BLOCKED error cause; removed unused imports |
| infra/modules/gcp/variables.tf | Updated VPC config description from "alpha" to "beta" |
| infra/modules/gcp-host/variables.tf | Updated VPC config description from "alpha" to "beta"; removed validation blocks |
| infra/examples-dev/gcp/variables.tf | Removed extraneous blank line |
| docs/gcp/vpc.md | Comprehensive rewrite of VPC documentation with clearer configuration examples, corrected network setup instructions, and additional troubleshooting notes |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
java/core/src/main/java/co/worklytics/psoxy/gateway/impl/ApiDataRequestHandler.java
Outdated
Show resolved
Hide resolved
aperez-worklytics
left a comment
There was a problem hiding this comment.
Just the command in CI seems to be wrong to me.
| working-directory: infra/modules/${{ matrix.module.name }} | ||
| run: | | ||
| terraform test | ||
| terraform test --var="deployment_bundle=gs://psoxy-public-artifacts/psoxy-0.4.28.zip" |
There was a problem hiding this comment.
wrong paramters ? should this be just terraform test as before ?
There was a problem hiding this comment.
it's just running terraform unit tests; those were failing bc it was trying to compile the JAR, due to dep of the module or something. So I passed a value for deployment_bundle to avoid that in this case.
There was a problem hiding this comment.
ok, but just for 0.4.28, right ?
| * 1) Network egress blocked from proxy (VPC/serverless connector misconfiguration) | ||
| * 2) Target API being unreachable/slow (their infrastructure issue) | ||
| */ | ||
| private HttpEventResponse buildNetworkTimeoutErrorResponse( |
There was a problem hiding this comment.
Just for personal preference; as this method is without a state and just a builder, I'd put it static ###
| private HttpEventResponse buildNetworkTimeoutErrorResponse( | |
| private static HttpEventResponse buildNetworkTimeoutErrorResponse( |
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
| working-directory: infra/modules/${{ matrix.module.name }} | ||
| run: | | ||
| terraform test | ||
| terraform test --var="deployment_bundle=gs://psoxy-public-artifacts/psoxy-0.4.28.zip" |
There was a problem hiding this comment.
ok, but just for 0.4.28, right ?
* Bump org.apache.httpcomponents.client5:httpclient5 in /java/gateway-core Bumps [org.apache.httpcomponents.client5:httpclient5](https://github.com/apache/httpcomponents-client) from 5.4.1 to 5.4.3. - [Changelog](https://github.com/apache/httpcomponents-client/blob/rel/v5.4.3/RELEASE_NOTES.txt) - [Commits](apache/httpcomponents-client@rel/v5.4.1...rel/v5.4.3) --- updated-dependencies: - dependency-name: org.apache.httpcomponents.client5:httpclient5 dependency-version: 5.4.3 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> * prep v0.5.12 * Salesforce rules refresh (#1039) * Update rules * Support example with POST * bump many dependencies (#1038) * apache commons codec to 1.19.0 * more dep updates * webhook collector auth perf (#1036) * add logic to keep lambdas warm * fix style * init public keys in mem for webhook collectors on start-up * aws replay tool (#1034) * aws replace tool * add documentation * webhook collector output prefix support (#1035) * improve webhook collector mode configuration * support webhook output prefix * fix style * fix path stuff * fix missed rename * fix various test issues * gmail empty header fix (#1040) * deal with empty header case more correctly; that's quite clearly a bug * add test of empty CC case * GCP VPC doc improvements (#1042) * improve GCP vpc docs + conditions * fix style, unrelated * improve error feedback on network connectivity issues * doc that GCP VPC needs external connectivity via router/nat for non-google sources * move validation up to dop * try to skip compile in tests * Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * fix some references to role constants (#1043) * config to deploy packages as mvn libs via GitHub Packages (#1041) * improve OAuth token refresh (#1037) * interface to secret store to get multiple versions of things * refactor how token refreshin works, so potentially more proactive / better re-use * pick most recent token based on expirationDate * cr feedback * fix refactor * remove stray bracket * Update java/core/src/main/java/co/worklytics/psoxy/gateway/impl/oauth/OAuthRefreshTokenSourceAuthStrategy.java Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update java/core/src/main/java/co/worklytics/psoxy/gateway/impl/CompositeConfigService.java Co-authored-by: aperez-worklytics <75276364+aperez-worklytics@users.noreply.github.com> * drop sort on lastAccessDate; only date-level granularity, so why bother --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: aperez-worklytics <75276364+aperez-worklytics@users.noreply.github.com> * more psoxy constants (#1044) * expose more outputs relevant to gcp-hosted deployments * gcp min perms to host * expose gcp network roles, for completenes * doc gcp vpc roles * doc that Project IAM Admin is required * fix docs * Update infra/modules/psoxy-constants/main.tf Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update infra/modules/psoxy-constants/outputs.tf Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update docs/gcp/vpc.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * prep v0.5.12 (#1046) * fix bad comment * try to make sbom stuff more robust * drop mvn plugins that are problematic, see to cause build errors * use reactor build * sboms * fix sbom generation * update package-lock in psoxy-test * fix gcp release artifact script * prompt user if gcp artifact has already been published * prompt user if aws artifact has already been published * warn if we're NOT running in the expected place --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: aperez-worklytics <75276364+aperez-worklytics@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Features
betaChange implications