Skip to content

Give each template its own block of local ports #86

Closed
LeanMeanCleanApps/CleanLambdaFunction
#50

Description

@stphnwlsh

Every template binds the same host ports today: the app on 8080 (8081 for HTTPS under dotnet run), the collector on 4317/4318 and the Aspire dashboard on 18888, with Lambda on 9000 and MCP adding 6274 and 3000. You can't run two stacks side by side, say GraphQL next to Minimal API. Each template gets its own block of ten ports instead, in a range no major product uses and with room for fifteen templates.

Offset Port
+0 App HTTP (dotnet run, docker run, compose)
+1 App HTTPS (dotnet run only)
+2 Aspire dashboard
+3 OTLP gRPC
+4 OTLP HTTP
+5 MCP Inspector
+6 Chat demo
+7 to +9 Spare

Blocks in template order: Minimal API 7310, MCP 7320, GraphQL 7330, Web API 7340, Lambda Function 7350, then 7360 to 7450 for new templates (7402 and 7443 are taken by DDS and Oracle, so skip those offsets). The app listens on its own port inside its container too. Lambda's emulator stays on 8080 inside, and the dashboard and collector keep their usual ports inside.

Phase 1: Agree the scheme

  • Pick the range (73x0 blocks of ten)
  • Decide the port inside the container (same as outside)

Phase 2: Templates

Phase 3: Docs site

Checks: the build pipeline passes, Shared Layers Drift finds no differences, and two stacks start side by side with docker compose up.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions