fix: Scope Cloud API reply inboxes to their network - #17
Open
frederickbaier wants to merge 1 commit into
Open
frederickbaier wants to merge 1 commit into
frederickbaier wants to merge 1 commit into
Conversation
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.
Cloud API requests currently use global NATS reply inboxes, allowing clients in other networks to observe their replies. Set
<network-id>._INBOXin the shared Java connection options and Go SDK connection builder. Existing request/response payloads and responder code stay unchanged, and recreated connections retain the prefix. The Go SDK applies the required prefix after caller options so an override cannot accidentally restore global inboxes.Deploy the compatible controller before rolling out these clients. Publish the affected Java platform/plugin artifacts and Go SDK; updating a serverhost alone does not update loaded Cloud API plugins. Existing game/proxy processes must restart with the new artifacts before their network's legacy inbox permissions are removed.
Validation: all 58
:api:testJava tests passed with JDK21 andNATS_TEST_URLset to an isolated NATS 2.11.8 broker; Gogo test -race ./...passed against the same broker. Tests check actual request reply subjects, reconnects, Go connection recreation, both Go request styles, and caller-option handling. Independent code review completed before commit.No database migrations or protobuf changes. Custom Go inbox-prefix options are intentionally overridden by the network prefix and are documented. Broker integration tests skip unless
NATS_TEST_URLis configured.Deployment dependency: https://github.com/simplecloudapp/platform-controller/pull/108. Companion serverhost/wrapper migration: https://github.com/simplecloudapp/platform-serverhost/pull/36.