Skip to content

Fix Eureka Dynamic Port Assignment overriding user-configured ports#1666

Open
TimHess wants to merge 7 commits intomainfrom
fix/1665-eureka-port-override
Open

Fix Eureka Dynamic Port Assignment overriding user-configured ports#1666
TimHess wants to merge 7 commits intomainfrom
fix/1665-eureka-port-override

Conversation

@TimHess
Copy link
Copy Markdown
Member

@TimHess TimHess commented Mar 30, 2026

Description

  • Detect explicitly configured eureka:instance:port or eureka:instance:securePort to avoid overwriting.
  • Add public UseAspNetCoreUrls property (default: true, to match Consul) to allow disabling dynamic port detection.

Fixes #1665

Quality checklist

  • Your code complies with our Coding Style.
  • You've updated unit and/or integration tests for your change, where applicable.
  • You've updated documentation for your change, where applicable.
    If your change affects other repositories, such as Documentation, Samples and/or MainSite, add linked PRs here.
  • There's an open issue for the PR that you are making. If you'd like to propose a new feature or change, please open an issue to discuss the change or find an existing issue.
  • You've added required license files and/or file headers (explaining where the code came from with proper attribution), where code is copied from StackOverflow, a blog, or OSS.

- Detect explicitly configured eureka:instance:port or eureka:instance:securePort to avoid overwriting
- Add public UseAspNetCoreUrls property (default: true, to match Consul) to allow disabling dynamic port detection.

Made-with: Cursor
@TimHess TimHess added Component/Discovery Issues related to Steeltoe Service Discovery ReleaseLine/4.x Identified as a feature/fix for the 4.x release line labels Mar 30, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 30, 2026

Summary - All Code Coverage (ubuntu-latest)

Line coverage Branch coverage

Assembly Line coverage Branch coverage
Steeltoe.Bootstrap.AutoConfiguration 97.4% 100%
Steeltoe.Common 84.3% 77.8%
Steeltoe.Common.Certificates 96.2% 85.5%
Steeltoe.Common.Hosting 84% 70%
Steeltoe.Common.Http 100% 85.2%
Steeltoe.Common.Logging 81.1% 56.2%
Steeltoe.Common.Net 64.5% 66.6%
Steeltoe.Configuration.Abstractions 96.1% 90.7%
Steeltoe.Configuration.CloudFoundry 99.1% 91.8%
Steeltoe.Configuration.ConfigServer 97.2% 91.6%
Steeltoe.Configuration.Encryption 97.6% 92.4%
Steeltoe.Configuration.Kubernetes.ServiceBindings 95.1% 89.3%
Steeltoe.Configuration.Placeholder 93.8% 84.7%
Steeltoe.Configuration.RandomValue 93.2% 90%
Steeltoe.Configuration.SpringBoot 98.3% 95%
Steeltoe.Connectors 93.9% 89.4%
Steeltoe.Connectors.EntityFrameworkCore 81.5% 75%
Steeltoe.Discovery.Configuration 92.3% 100%
Steeltoe.Discovery.Consul 97.6% 96.5%
Steeltoe.Discovery.Eureka 92% 85.4%
Steeltoe.Discovery.HttpClients 94.3% 95.4%
Steeltoe.Logging.Abstractions 99.4% 96.9%
Steeltoe.Logging.DynamicConsole 100% 95.4%
Steeltoe.Logging.DynamicSerilog 99.1% 95.4%
Steeltoe.Management.Abstractions 100% 100%
Steeltoe.Management.Endpoint 95.8% 89%
Steeltoe.Management.Prometheus 95.8% 91.6%
Steeltoe.Management.Tasks 100% ****
Steeltoe.Management.Tracing 100% 75%
Steeltoe.Security.Authentication.JwtBearer 100% 100%
Steeltoe.Security.Authentication.OpenIdConnect 73.8% 59%
Steeltoe.Security.Authorization.Certificate 96.7% 75%
Steeltoe.Security.DataProtection.Redis 100% ****

@TimHess TimHess requested a review from bart-vmware March 30, 2026 21:55
- Replace per-port flags with single IsPortConfigured, set in PostConfigure after all user Configure callbacks have run
- Skip listen address detection when ports are already configured
- Revert changes to EurekaServiceCollectionExtensions
- Add test for ports configured via code-based options configurer

Made-with: Cursor
@TimHess TimHess marked this pull request as ready for review March 31, 2026 17:00
@TimHess TimHess requested a review from bart-vmware March 31, 2026 17:26
- Add assertions to DynamicPortAssignmentTest to verify opposite port is not enabled
- Document UseAspNetCoreUrls ignore conditions in Eureka and Consul options
- Remove IsPortConfigured and introduce ShouldSetPortsFromListenAddresses
- Update PostConfigureEurekaInstanceOptions to use ShouldSetPortsFromListenAddresses

Made-with: Cursor
- move remarks into summaries => schema
- break up too-complex ShouldSetPortsFromListenAddresses, move check to callers
- re-introduce IsPortConfigured and add corresponding test
TimHess added 3 commits April 2, 2026 08:15
- use calculated property to check for configured ports
- reduce cognitive complexity on SetPortsFromListenAddresses
Copy link
Copy Markdown
Member

@bart-vmware bart-vmware left a comment

Choose a reason for hiding this comment

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

LGTM

@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud bot commented Apr 2, 2026

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Component/Discovery Issues related to Steeltoe Service Discovery ReleaseLine/4.x Identified as a feature/fix for the 4.x release line

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Eureka registration ports always overridden even when config specifies them

2 participants