tc-connectionbroker
The estate's central connection-resolution suite: TC.ConnectionBroker NuGet packages (Sql, Wcf, Api, Mongo, Redis, Aws, Azure plus DI extensions) and the versioned per-environment YAML configuration that maps named targets to servers, endpoints and credentials.
Health score
0 to 100 across seven weighted factors; nothing is hidden. Green is 75 and above, amber 50 to 74, red below 50. How scoring works.
Facts
| Languages | csharp |
| Frameworks | ASP.NET Core, WCF client |
| Runtimes | .NET Standard 2.0, .NET Framework 4.6.2, .NET Framework 4.8.1, .NET 8, .NET 10 |
| Tests / CI | good / CI in place |
| Last commit | 2026-07-20 |
| Owner | Owner unknown (mapping to be curated) |
| Domain | Platform services (system generated; curate in repo-owners.json to override) |
| Product area | Shared platform |
| Hosted | On-prem Deployed to our own machines
|
| Releases | 7 release pipeline(s): tc-connectionbroker Api Configuration CD; tc-connectionbroker Aws Configuration CD; tc-connectionbroker Azure Configuration; tc-connectionbroker Mongo Configuration CD; tc-connectionbroker Redis Configuration CD; tc-connectionbroker SQL Configuration CD; tc-connectionbroker WCF Configuration CD |
| Integration | - |
| Source | Open in Azure DevOps |
Dependencies in context
Entanglement
loosely attached Bound into the core by 1 mechanism(s).
- Speaks WCF (client)
Detaches when its WCF surface gains a modern interface or its WCF calls move to one.
Depends on / used by
Migration playbooks
Generated from this repo's assessment data: what is feasible, what blocks it, and the steps in order. Ratings: green means actionable now, amber means sequence other work first, red means blocked, grey means not applicable.
ZDD adoption
Not applicableNot a deployed service (libraries, database definitions, desktop apps) or a retirement candidate not worth the investment. Ships as a package; ZDD applies to the services that consume it.
SQL Server exit
Not applicableNo SQL Server dependency is recorded for this repo. Nothing to migrate.
Containerisation
Not applicableLibraries ship as packages, not as running services. There is nothing to containerise.
Recommended actions
Replatform tc-connectionbroker to modern .NET
Runs on .NET Standard 2.0, .NET Framework 4.6.2, .NET Framework 4.8.1, .NET 8, .NET 10, out of mainstream support. No pinning dependency blocks it; sequence by fan-in (providers before consumers).
Impact: Unblocks 126 dependent system(s)
proposedAssessment notes
tc-connectionbroker
Purpose
One repo holding both the code and the configuration for connection brokering across the estate. The Lib/ tree builds 17 NuGet packages: core abstractions, per-technology brokers (Sql connection strings, Wcf channels, Api endpoints/auth, Mongo, Redis, Aws IAM/ARNs, Azure) and DI extensions (Autofac, Microsoft DI, Ninject, SimpleInjector, HttpClient, Factory). The Configuration/ tree holds YAML target definitions per broker type for eleven environments (development through live), with inheritance via #IMPORT and deployment as its own artifact.
Tech stack
C# with central package management, Nerdbank version.json, StyleCop/TravelCounsellors rulesets. Libraries multi-target .NET Standard 2.0, .NET Framework 4.6.2/4.7.2/4.8.1, .NET 8 and .NET 10 so both legacy and modern consumers stay on one package line. Test apps cover console, WinForms, WCF service and API hosts; helper scripts (GetEncryptedString.ps1, cognito credential-block generator) manage encrypted secrets in the config YAML.
Deployment
The 7 build/release pipeline pairs in included.json (release_count 7) are per-type configuration pipelines (Api/Aws/Azure/Mongo/Redis/Sql/Wcf Configuration CI → CD), each path-filtered YAML deploying that broker's config files. A separate Lib/Packages-Build-Pipeline.yml publishes the NuGet packages to the Production feed.
Dependencies
No internal estate dependencies — everything depends on it, not vice versa (virtually every assessed service references TC.ConnectionBroker.*). External: AWS (IAM credentials/ARN generation) and Azure identity for the respective brokers.
Data stores
None owned. Its configuration enumerates most of the estate's SQL servers, databases, Mongo clusters, Redis instances, WCF endpoints and API targets, making it the de facto directory of estate data stores.
Integration points
None at runtime as a library; it is the mechanism through which consumers reach SQL, WCF, REST, Mongo, Redis and AWS.
Code health
Strong: 16 unit-test projects covering every package and DI extension, plus configuration test projects per broker type run in the config pipelines. Genuinely good README and Docs/ folder — rare in this estate. Actively maintained (last commit 2026-07-20). Config credentials are stored as encrypted strings (usernames in clear, passwords encrypted), not plaintext.
Modernisation risks
The code itself is healthy and already targets .NET 10. The risk is architectural: it has the highest fan-in in the estate, so any breaking change, credential rotation or config mistake has estate-wide blast radius; the config YAML couples all environments in one repo; and the Wcf broker keeps WCF consumption alive as a first-class pattern. Medium priority — not for rework of the library, but as the choke point any platform-wide modernisation (secrets management, service discovery, WCF retirement) must go through.