본문으로 건너뛰기

Service Catalog

Status

Active

Date

2026-04-28

Owners

  • Platform Backend

Last Verified Commit

56362a7a

Runtime Services

ServiceRuntime TypePrimary PurposeMain Entry SurfaceBackground WorkCurrent Cutover Posture
gatewayAPIPlayer HTTP edge and legacy payload translationroot paths and /api/v1/* for playersnoneplayer-facing cutover candidate
player_serviceAPI + workerplayer auth, profile, messages, common/public data/internal/players/*, /internal/common/*outbox publishing in player_workersupports gateway cutover
wallet_serviceAPI + workerbalances, deposits, withdrawals, approved finance events/internal/wallet/*outbox publishing + hourly ledger-vs-balance reconciliation in wallet_workersingle money writer; central dependency
game_serviceAPIprovider callbacks and integration toolsprovider callback prefixes and /integration/*noneprovider-cutover candidate
rolling_serviceAPI + workerrolling records, completion, cancel, expiry, retry/internal/rolling/*wallet-event consumer, outbox, expiry, retryinternal domain runtime ready
promotion_serviceAPI + workercoupons, rebate/lossback config, settlement orchestration/internal/promotions/*wallet-event consumer, settlement scheduler, saga recoveryinternal domain runtime ready
agent_serviceAPI + workeragent portal APIs and legacy compatibility aliases/api/v1/* agent-facing surfaceoutbox publishing in agent_workeragent cutover candidate
admin_serviceAPI + workerback-office edge, top-info websocket, operational APIs/api/v1/*, /ws, /internal/meta/*scheduler in admin_workercore admin ready, not full middle_server replacement
recon_serviceAPI + workerSMS automation and reconciliation domain/internal/recon/* via admin edgePushbullet/Telegram/parse/match worker loopsrecon cutover candidate

Legacy Runtime Still Relevant During Migration

Legacy ServiceWhy It Still Matters
web_servercompatibility baseline for player-facing route parity
agent_servercompatibility baseline for agent-facing route parity
game_servercompatibility baseline for callback surface parity
middle_serverstill owns non-recon legacy back-office modules not yet fully represented in servers_v2

Multi-Brand Notes

Per ADR-009:

  • admin_service additionally owns the brand catalog, brand_config per-brand configuration, and agent_brand allow-list write surface.
  • admin_service no longer carries staff identity logic. The legacy_admin_v2.py, legacy_auth.py, legacy_agents_v2.py, legacy_agent_withdrawals_v2.py, legacy_meta_v2.py, legacy_recon.py, and legacy_web_content.py route files are deleted; their /api/admin/* route families return 404.
  • Every service runtime resolves brand from X-Brand-Id (forwarded by the edge service that resolved the brand from the request domain) or from JWT, and scopes its writes by brand_id.

Shared Infrastructure

Every runtime service currently depends on some combination of:

  • PostgreSQL
  • Redis
  • shared contracts in servers_v2/shared/contracts
  • shared database runtime and migrations in servers_v2/shared/rgb_db

Supporting Evidence

  • local stack contract: servers_v2/tests/test_compose_contract.py
  • service route registration: servers_v2/*/app/api/routes/api.py
  • worker runtime entrypoints: servers_v2/*/worker.py