Skip to content

Avoid local Aspire port conflicts and remove obsolete workaround#2393

Merged
ejsmith merged 4 commits into
mainfrom
issue/dynamic-redis-worktree-port
Jul 24, 2026
Merged

Avoid local Aspire port conflicts and remove obsolete workaround#2393
ejsmith merged 4 commits into
mainfrom
issue/dynamic-redis-worktree-port

Conversation

@ejsmith

@ejsmith ejsmith commented Jul 23, 2026

Copy link
Copy Markdown
Member

Summary

  • move Exceptionless Redis's primary host port from 6379 to 6381
  • preserve the shared persistent Redis container, data volume, and disabled endpoint proxy
  • leave 6380 available for Aspire's secondary non-TLS Redis endpoint
  • move Exceptionless Mailpit from 1025/8025 to 1026/8026
  • move Exceptionless RedisInsight from 5540 to 5541
  • remove the temporary JavaScript debugging annotation workaround now that the upstream Aspire fix has shipped

Why

Exceptionless and other local applications explicitly bound Redis, Mailpit, and RedisInsight to the same host ports, preventing their complete local Aspire stacks from running together. Exceptionless worktrees intentionally share the same core infrastructure and use application scopes for data isolation, while other applications need distinct project-level host ports.

Aspire 13.4.6 reserves port 6380 for Redis's secondary non-TLS endpoint when endpoint proxying is disabled, making 6381 the next available primary port.

The Aspire VS Code JavaScript logging issue tracked by microsoft/aspire#16468 has also been fixed, so the AppHost no longer needs to remove SupportsDebuggingAnnotation from its Vite and Angular resources.

Validation

  • dotnet build src/Exceptionless.AppHost/Exceptionless.AppHost.csproj --no-restore
  • started the full Exceptionless AppHost while Redis from another local application occupied host port 6379
  • verified Exceptionless Redis was healthy on rediss://localhost:6381 with its secondary endpoint on localhost:6380
  • verified Exceptionless Mailpit on 8026 and Mailpit from another local application on 8025 returned HTTP 200 concurrently
  • verified Exceptionless RedisInsight on 5541 and RedisInsight from another local application on 5540 returned HTTP 200 concurrently
  • stopped the Exceptionless AppHost and confirmed its persistent Redis, Mailpit, and RedisInsight endpoints remained directly reachable
  • restarted the Exceptionless AppHost and confirmed the persistent containers were reused
  • verified the running API and Jobs processes received SMTP localhost:1026 and TLS Redis localhost:6381
  • verified API and Jobs /health returned HTTP 200 after executing their Redis cache health check
  • triggered a local password-reset email and confirmed Jobs delivered it to Exceptionless Mailpit on 8026 while the other application's Mailpit on 8025 remained unchanged
  • verified API, Jobs, and Svelte app resources were healthy
  • verified Vite and legacy Angular process output appears in Aspire logs
  • verified the Svelte app, legacy Angular app, and /api/v2/about returned HTTP 200
  • confirmed the existing exceptionless.redis.data.v1 volume was retained

Breaking changes

None.

@ejsmith
ejsmith force-pushed the issue/dynamic-redis-worktree-port branch from aa8ee2f to 9739550 Compare July 23, 2026 19:08
@ejsmith ejsmith changed the title Use dynamic Redis ports in worktrees Move local Redis off the default port Jul 23, 2026
@ejsmith ejsmith changed the title Move local Redis off the default port Update local Redis port and remove obsolete Aspire workaround Jul 23, 2026
@ejsmith ejsmith changed the title Update local Redis port and remove obsolete Aspire workaround Avoid local Aspire port conflicts and remove obsolete workaround Jul 23, 2026
@ejsmith
ejsmith marked this pull request as ready for review July 23, 2026 19:45

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: caaa138097

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/Exceptionless.AppHost/Program.cs
@github-actions

Copy link
Copy Markdown

Code Coverage

Package Line Rate Branch Rate Complexity Health
Exceptionless.Core 73% 65% 9497
Exceptionless.AppHost 38% 40% 139
Exceptionless.Insulation 23% 23% 205
Exceptionless.Web 84% 67% 6898
Summary 76% (22503 / 29436) 65% (10329 / 15822) 16739

@ejsmith
ejsmith merged commit aaa4787 into main Jul 24, 2026
12 checks passed
@ejsmith
ejsmith deleted the issue/dynamic-redis-worktree-port branch July 24, 2026 00:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant