Skip to content

Give each template its own block of local ports - #62

Merged
stphnwlsh merged 4 commits into
mainfrom
feature/port-blocks
Nov 7, 2026
Merged

stphnwlsh merged 4 commits into
mainfrom
feature/port-blocks

Conversation

@stphnwlsh

@stphnwlsh stphnwlsh commented Nov 6, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Every template published the same ports, so you couldn't run two stacks side by side. Each template now has its own block of ten ports: Minimal API 7310, MCP 7320, GraphQL 7330, Web API 7340 and Lambda Function 7350, with every port at the same place in each block. The 7300s–7400s leave room for fifteen templates. The app listens on 7330 everywhere: under dotnet run (7331 for HTTPS), inside its container (ASPNETCORE_HTTP_PORTS, EXPOSE and the HEALTHCHECK in the Dockerfile) and in Docker Compose. That means docker run -p 7330:7330, the compose file and the CI smoke test all use one number. The dashboard is on 7332 and the collector on 7333 and 7334, and both keep their usual ports inside.

docs/RUN.md gets a Ports section. The shared docker-and-compose skill describes the scheme, and the shared serilog and telemetry skills now point at docs/RUN.md instead of naming a port, so all five stay identical.

Related issues

Part of LeanMeanCleanApps/.github#86

Type of change

  • Bug fix
  • New feature
  • Breaking change (the generated solution or template parameters change in a way existing users will notice)
  • Refactoring or clean-up
  • Documentation
  • Build, pipeline or dependency update

Shared layers

  • This only touches the Presentation layer of this template.
  • This touches the Application or Infrastructure layers, tests, pipeline or repository setup, so it needs to be carried across all five templates.

Checklist

  • dotnet build and dotnet test pass locally with no warnings.
  • I added or updated tests, and line coverage stays at or above 95%.
  • I updated the README or docs where behaviour changed.
  • If this changes how we do something, I updated the matching skill in .agents/skills.
  • I checked the template still installs and creates a working solution (see CONTRIBUTING.md).

Every template bound 8080, 4317, 4318 and 18888 on the host, so two stacks
couldn't run side by side. Each template now publishes everything in its own
block of ten (Minimal API 8710, MCP 8720, GraphQL 8730, Web API 8740, Lambda
Function 8750), with the same offsets in every block. Inside the containers
the app stays on 8080.
@github-actions

github-actions Bot commented Nov 6, 2026 •

Copy link
Copy Markdown
Contributor

Build Pipeline

✅ Ready to merge. Every stage passed.

Stage Result Details
Build 🟢 Passed Version 2026.11.07.214-pr-62 · Template package 233 KB
Test 🟢 Passed 236 passed · 0 failed · 0 skipped · Template installs, builds and passes its tests
Coverage 🟢 Passed 100% (760 of 760 lines) · Needs 95%
Static Analysis 🟢 Passed No open CodeQL alerts
Dependency Review 🟢 Passed 0 vulnerable packages · 0 licence problems
Container Scan 🟢 Passed Image starts and answers · 1 open Trivy alert, none blocking: 1 medium

Commit b76c764 · Full run

stphnwlsh and others added 3 commits November 6, 2026 23:49
87x0 had no room past six templates, so the blocks now start at 7310, which
leaves space for fifteen. The app also listens on its own port inside its
container, so dotnet run, docker run and Docker Compose all use one number.
Lambda's emulator stays on 8080 inside, because it can't be moved.
@stphnwlsh
stphnwlsh merged commit 44fe03f into main Nov 7, 2026
13 checks passed
@stphnwlsh
stphnwlsh deleted the feature/port-blocks branch November 7, 2026 03:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant