Platform Evolution
Assessment run-2026-07-27-1 · 213 of 213 repos assessed
Repos / tc-connectionbroker

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.

66 · ambermediumloosely attachedOn-premZDD: not applicablelibrary

Health score

66

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.


Runtime currency / 25
0
.NET Framework, out of mainstream support
Legacy transport / 15
6
Calls at least one legacy WCF endpoint
Test posture / 15
15
Good test coverage
Security hygiene / 15
15
No credentials found in source
Dangerous coupling / 15
15
No dangerous coupling detected
Activity / 10
10
Actively maintained
Deployment hygiene / 5
5
CI in place
Health over time
2026-07-24 (run-2026-07-24-1): 662026-07-27 (run-2026-07-27-1): 66
No change since 2026-07-24 (66 to 66).

Facts

Languagescsharp
FrameworksASP.NET Core, WCF client
Runtimes.NET Standard 2.0, .NET Framework 4.6.2, .NET Framework 4.8.1, .NET 8, .NET 10
Tests / CIgood / CI in place
Last commit2026-07-20
OwnerOwner unknown (mapping to be curated)
DomainPlatform services (system generated; curate in repo-owners.json to override)
Product areaShared platform
HostedOn-prem Deployed to our own machines
  • Release "tc-connectionbroker Api Configuration CD": QA: deployment-group phase (agents on our own machines)
  • Release "tc-connectionbroker Api Configuration CD": QA: deployment-group phase (agents on our own machines)
  • Release "tc-connectionbroker Api Configuration CD": QA: deployment-group phase (agents on our own machines)
  • Release "tc-connectionbroker Api Configuration CD": QA: deployment-group phase (agents on our own machines)
  • Release "tc-connectionbroker Api Configuration CD": Staging: deployment-group phase (agents on our own machines)
Releases7 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-
SourceOpen in Azure DevOps

Risk flags

Each flag links to its glossary definition.

Dependencies in context

Laying out the graph…
greenamberreddata store (square, dashed link)Node size follows fan-in. Click any node to open it.

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

Depends on (0)
Nothing internal.
Used by (126)

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 applicable

Not 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 applicable

No SQL Server dependency is recorded for this repo. Nothing to migrate.

Containerisation

Not applicable

Libraries 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)

proposed

Assessment 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.