Skip to content

Ops and Tooling Class Collaborators Map ​

Purpose ​

This page complements the dense source map by focusing on responsibility boundaries and collaboration edges between the verified operational tooling anchors.

Verified anchors used here ​

  • NGB.PropertyManagement.Migrator/Program.cs
  • NGB.Migrator.Core/PlatformMigratorCli.cs
  • docker/pm/migrator/seed-and-migrate.sh
  • NGB.PropertyManagement.BackgroundJobs/Program.cs
  • NGB.PropertyManagement.Watchdog/Program.cs
  • NGB.PropertyManagement.Api/Program.cs

Collaborator map ​

1. NGB.PropertyManagement.Migrator/Program.cs ​

Role

  • vertical migrator entry point

Collaborates with

  • PropertyManagementDatabaseBootstrapper assembly loading
  • PropertyManagementSeedDefaultsCli
  • PropertyManagementSeedDemoCli
  • PlatformMigratorCli

Architectural meaning

  • vertical bootstrap and vertical seed commands live here;
  • generic migration orchestration does not.

2. NGB.Migrator.Core/PlatformMigratorCli.cs ​

Role

  • shared migration orchestrator

Collaborates with

  • migration assembly discovery
  • schema pack discovery
  • schema migrator execution
  • schema migration lock behavior
  • CLI/environment-derived execution options

Architectural meaning

  • this is the platform-level migration brain;
  • vertical migrators should delegate here instead of reinventing migration flow.

3. docker/pm/migrator/seed-and-migrate.sh ​

Role

  • container automation wrapper for the PM migrator

Collaborates with

  • PM application connection settings
  • NGB.PropertyManagement.Migrator.dll
  • PlatformMigratorCli command surface through CLI arguments
  • PM seed-defaults and seed-demo flows

Architectural meaning

  • operational container bootstrap is explicit and scriptable;
  • schema and seed responsibilities are kept ordered.

4. NGB.PropertyManagement.BackgroundJobs/Program.cs ​

Role

  • background jobs host composition root

Collaborates with

  • AddNgbBackgroundJobs(PostgresHangfireJobStorageFactory.Create)
  • EnsureInfrastructureAsync(new PostgresDatabaseProvisioner())
  • AddNgbRuntime()
  • AddNgbPostgres(...)
  • PM module registrations
  • UseNgbBackgroundJobs()
  • MapNgbBackgroundJobs()

Architectural meaning

  • jobs host is a first-class application host, not a helper utility.

5. NGB.PropertyManagement.Watchdog/Program.cs ​

Role

  • watchdog host composition root

Collaborates with

  • AddNgbWatchdog(...)
  • UseNgbWatchdog()
  • MapNgbWatchdog()

Architectural meaning

  • watchdog remains a dedicated operational surface.

6. NGB.PropertyManagement.Api/Program.cs ​

Role

  • comparison point for full API host composition

Collaborates with

  • infrastructure setup
  • health checks
  • runtime registration
  • PostgreSQL provider registration
  • PM module registration
  • controller/auth/error-handling/reporting HTTP concerns

Architectural meaning

  • confirms the shared composition pattern across operational hosts.

Simplified collaboration diagram ​

Key takeaway ​

The verified anchors show a consistent NGB operational pattern:

  • vertical entry points are thin;
  • platform orchestration is centralized;
  • surface-specific operational hosts stay focused;
  • runtime + provider + vertical module composition is reusable across hosts.

Released under the Apache License 2.0.