Skip to content

Conversation

eerhardt
Copy link
Member

@eerhardt eerhardt commented Sep 30, 2025

I preserved git history using git filter-repo.

Then on top of that history, there is 1 commit for changing the libraries and tests to build cleanly. For now I disable any analyzer warnings that come up. #6871 tracks enabling the analyzers in these libraries in the future.

Contributes to dotnet/aspire#170.

NOTE: This PR shouldn't be "squashed" when merged. Instead it should be a merge commit.

Microsoft Reviewers: Open in CodeFlow

dotnet-bot and others added 30 commits September 28, 2023 15:19
…343)

* Service Discovery: Allow DNS and DNS SRV to be added independently
* Service Discovery: make host name propagation opt-in

* Review feedback
* Last round of triple slash, I believe.

* Revert Aspire.sln change

* Update src/Aspire.Hosting.Azure.Provisioning/UserSecretsPathHelper.cs

* Update src/Aspire.Hosting.Azure.Provisioning/UserSecretsPathHelper.cs

---------

Co-authored-by: David Fowler <davidfowl@gmail.com>
* Last round of triple slash, I believe.

* Revert Aspire.sln change

* Update src/Aspire.Hosting.Azure.Provisioning/UserSecretsPathHelper.cs

* Update src/Aspire.Hosting.Azure.Provisioning/UserSecretsPathHelper.cs

---------

Co-authored-by: David Pine <david.pine@microsoft.com>
…elease/8.0-preview1'

Related work items: #592, #602, #607, #617, #622, #624, #626, #627, #632, #638, #639, #640, #644, #647, #649, #650, #651, #652, #653, #656, #663
* Add additional debug logs to Service Discovery

* Log message tweak

* Use display name instead of GetType().Name for resolver names. Remove nameof
* Add additional debug logs to Service Discovery

* Log message tweak

* Use display name instead of GetType().Name for resolver names. Remove nameof
* Add package descriptions and icons.
* Add package descriptions and icons. (#701)

* Add package descriptions and icons.

* Update src/Microsoft.Extensions.ServiceDiscovery/Microsoft.Extensions.ServiceDiscovery.csproj

Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>

* Update src/Microsoft.Extensions.ServiceDiscovery.Dns/Microsoft.Extensions.ServiceDiscovery.Dns.csproj

Co-authored-by: Reuben Bond <203839+ReubenBond@users.noreply.github.com>

* Update src/Microsoft.Extensions.ServiceDiscovery/Microsoft.Extensions.ServiceDiscovery.csproj

Co-authored-by: Reuben Bond <203839+ReubenBond@users.noreply.github.com>

* Fix package icons.

Use base arcade icon for ServiceDiscovery packages.
Use the default Aspire icon for Aspire Hosting packages.

---------

Co-authored-by: David Fowler <davidfowl@gmail.com>
Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
Co-authored-by: Reuben Bond <203839+ReubenBond@users.noreply.github.com>
* Forward port package changes from release branch.

* Remove unused dotnet-icon.

---------

Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
When PublishTrimmed=true in an app that uses ServiceDiscovery, we get a warning that says:

_ILLink : warning IL2105: Microsoft.Extensions.ServiceDiscovery.Abstractions.ServiceEndPointCollection: Type 'ServiceEndPointCollectionDebuggerView' was not found in the caller assembly nor in the base library. Type name strings used for dynamically accessing a type should be assembly qualified._

Fix this warning by using `typeof` instead of `nameof`.
* READMEs for Service Discovery

* Update src/Microsoft.Extensions.ServiceDiscovery.Abstractions/README.md

Co-authored-by: David Pine <david.pine@microsoft.com>

* Update src/Microsoft.Extensions.ServiceDiscovery.Dns/README.md

Co-authored-by: David Pine <david.pine@microsoft.com>

* Update src/Microsoft.Extensions.ServiceDiscovery.Dns/README.md

Co-authored-by: David Pine <david.pine@microsoft.com>

* Update src/Microsoft.Extensions.ServiceDiscovery/README.md

Co-authored-by: David Pine <david.pine@microsoft.com>

* Update src/Microsoft.Extensions.ServiceDiscovery.Dns/README.md

Co-authored-by: David Pine <david.pine@microsoft.com>

* Update src/Microsoft.Extensions.ServiceDiscovery.Dns/README.md

Co-authored-by: David Pine <david.pine@microsoft.com>

* Update src/Microsoft.Extensions.ServiceDiscovery/README.md

Co-authored-by: David Pine <david.pine@microsoft.com>

* Update src/Microsoft.Extensions.ServiceDiscovery/README.md

Co-authored-by: David Pine <david.pine@microsoft.com>

* Update src/Microsoft.Extensions.ServiceDiscovery/README.md

Co-authored-by: David Pine <david.pine@microsoft.com>

* Update src/Microsoft.Extensions.ServiceDiscovery/README.md

Co-authored-by: David Pine <david.pine@microsoft.com>

* Update src/Microsoft.Extensions.ServiceDiscovery/README.md

Co-authored-by: David Pine <david.pine@microsoft.com>

* Update src/Microsoft.Extensions.ServiceDiscovery/README.md

Co-authored-by: David Pine <david.pine@microsoft.com>

* Update src/Microsoft.Extensions.ServiceDiscovery/README.md

Co-authored-by: David Pine <david.pine@microsoft.com>

* Update src/Microsoft.Extensions.ServiceDiscovery/README.md

Co-authored-by: David Pine <david.pine@microsoft.com>

---------

Co-authored-by: David Pine <david.pine@microsoft.com>
Merging internal commits from release/8.0-preview1
…view1-to-main

[automated] Merge branch 'release/8.0-preview1' => 'main'
…880)

* Service Discovery: fix shutdown blocking indefinitely in some cases

* Update src/Microsoft.Extensions.ServiceDiscovery/Http/HttpServiceEndPointResolver.cs

Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>

* Review feedback

---------

Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
@eerhardt eerhardt requested a review from a team as a code owner September 30, 2025 17:32
@Copilot Copilot AI review requested due to automatic review settings September 30, 2025 17:32
@eerhardt eerhardt requested a review from a team as a code owner September 30, 2025 17:32
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR moves the Microsoft.Extensions.ServiceDiscovery libraries and tests from their current location to the dotnet/extensions repository, preserving git history using git filter-repo. The primary purpose is to consolidate service discovery components into a dedicated repository with appropriate build configurations.

  • Transfer of all service discovery library source files and project configurations
  • Migration of comprehensive test suites covering DNS resolution, YARP integration, and core functionality
  • Addition of analyzer warning suppressions to maintain clean builds during the migration phase

Reviewed Changes

Copilot reviewed 131 out of 137 changed files in this pull request and generated no comments.

Show a summary per file
File Description
test/Libraries/Microsoft.Extensions.ServiceDiscovery.Yarp.Tests/* Test files for YARP service discovery integration with public API tests and functionality validation
test/Libraries/Microsoft.Extensions.ServiceDiscovery.Tests/* Core service discovery test suite including resolver, configuration, and API validation tests
test/Libraries/Microsoft.Extensions.ServiceDiscovery.Dns.Tests/* Comprehensive DNS resolver test suite with fuzzing tests, resolver functionality, and protocol validation
src/Libraries/Microsoft.Extensions.ServiceDiscovery/* Core service discovery library with HTTP integration, configuration providers, and load balancing
src/Libraries/Microsoft.Extensions.ServiceDiscovery.Yarp/* YARP reverse proxy integration for service discovery destination resolution
src/Libraries/Microsoft.Extensions.ServiceDiscovery.Dns/* DNS-based service discovery provider with custom DNS resolver implementation
src/Shared/FxPolyfills/* Framework compatibility polyfills for cross-platform and multi-targeting support

@stephentoub
Copy link
Member

cc: @karelz

Copy link
Member

@joperezr joperezr left a comment

Choose a reason for hiding this comment

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

What do we want to do about the versioning of these packages? Currently the version in NuGet.org is 9.5, and this will start producing 9.10. Is that fine? I'm assuming so and we want these packages to align versioning with the rest of the extensions repo but asking just in case.

Copy link
Member

@evgenyfedorov2 evgenyfedorov2 left a comment

Choose a reason for hiding this comment

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

Approving on behalf of dotnet-extensions-fundamentals

@eerhardt
Copy link
Member Author

eerhardt commented Oct 1, 2025

What do we want to do about the versioning of these packages? Currently the version in NuGet.org is 9.5, and this will start producing 9.10. Is that fine? I'm assuming so and we want these packages to align versioning with the rest of the extensions repo but asking just in case.

This is what I was planning on doing. If Aspire can jump from 9.5 to 13.0, I think it will be OK if the ServiceDiscovery libraries jump from 9.5 to 9.10, and then continue using dotnet/extensions versioning going forward.

@eerhardt
Copy link
Member Author

eerhardt commented Oct 1, 2025

@joperezr - I believe this is ready to merge. However, it shouldn't be merged with a "Squash". Instead we should "Merge commit" so the history of the libraries are maintained. Can you enable this option?

@joperezr joperezr merged commit d5cb8af into main Oct 1, 2025
6 checks passed
@joperezr joperezr deleted the eerhardt/MoveServiceDiscovery branch October 1, 2025 18:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.