Class ManagerEndpointSupport
http://localhost:4566 when unset.-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionstatic StringThe one authoritative, target-gated answer to "should this call be redirected to a local emulator instead of real AWS" —nullimmediately forDeploymentTarget.AWSOR an unresolved/nulltarget, without even reading the env vars, otherwise the sameLOCALSTACK_ENDPOINTthenAWS_ENDPOINT_URLfallback chainresolveLocalStackEndpoint()already used.static Stringstatic Stringstatic String
-
Field Details
-
DEFAULT_LOCAL_GATEWAY
- See Also:
-
-
Method Details
-
resolveLocalEmulatorEndpoint
The one authoritative, target-gated answer to "should this call be redirected to a local emulator instead of real AWS" —nullimmediately forDeploymentTarget.AWSOR an unresolved/nulltarget, without even reading the env vars, otherwise the sameLOCALSTACK_ENDPOINTthenAWS_ENDPOINT_URLfallback chainresolveLocalStackEndpoint()already used.nulltarget fails closed to "real AWS" rather than falling through to the env-var chain — an installation that never explicitly chose a local target shouldn't have its calls silently redirected just because some env var happens to be present, same fail-closed shape as this codebase's other target-based gates (seeStripeConfiguration).Exists because, before this method, several call sites across cloudforge-api and cloudforge-manager each independently re-derived "are we local" from env-var presence alone, with no target check at all — so a real
target=awsproduction install would happily route Cognito/STS/Service Catalog SDK calls to whateverAWS_ENDPOINT_URLhappened to be set to, an SSRF-adjacent risk on the customer's own AWS credentials.targetshould always be the caller's own already-known, validatedDeploymentTarget(the per-request target for a deploy, or the installation's ownManagerRuntimeConfiguration.Targetfor Manager's own dev/test-loop calls) — never re-derived from these same env vars, or this gate would just move one level up instead of closing.MINISTACKandLOCALSTACKdeliberately check different dedicated env vars first (MINISTACK_ENDPOINT/LOCALSTACK_ENDPOINTrespectively) before the sharedAWS_ENDPOINT_URLfallback — an installation running both emulators side by side needs aMINISTACK-targeted call to reach MiniStack, not silently fall through to whichever oneLOCALSTACK_ENDPOINThappens to point at. -
resolveLocalStackEndpoint
-
resolveMiniStackEndpoint
-
resolveRegion
-