trustgraph/docs
cybermaggedon 4acd853023
Config push notify pattern: replace stateful pub/sub with signal+ fetch (#760)
Replace the config push mechanism that broadcast the full config
blob on a 'state' class pub/sub queue with a lightweight notify
signal containing only the version number and affected config
types. Processors fetch the full config via request/response from
the config service when notified.

This eliminates the need for the pub/sub 'state' queue class and
stateful pub/sub services entirely. The config push queue moves
from 'state' to 'flow' class — a simple transient signal rather
than a retained message.  This solves the RabbitMQ
late-subscriber problem where restarting processes never received
the current config because their fresh queue had no historical
messages.

Key changes:
- ConfigPush schema: config dict replaced with types list
- Subscribe-then-fetch startup with retry: processors subscribe
  to notify queue, fetch config via request/response, then
  process buffered notifies with version comparison to avoid race
  conditions
- register_config_handler() accepts optional types parameter so
  handlers only fire when their config types change
- Short-lived config request/response clients to avoid subscriber
  contention on non-persistent response topics
- Config service passes affected types through put/delete/flow
  operations
- Gateway ConfigReceiver rewritten with same notify pattern and
  retry loop

Tests updated

New tests:
- register_config_handler: without types, with types, multiple
  types, multiple handlers
- on_config_notify: old/same version skipped, irrelevant types
  skipped (version still updated), relevant type triggers fetch,
  handler without types always called, mixed handler filtering,
  empty types invokes all, fetch failure handled gracefully
- fetch_config: returns config+version, raises on error response,
  stops client even on exception
- fetch_and_apply_config: applies to all handlers on startup,
  retries on failure
2026-04-06 16:57:27 +01:00
..
tech-specs Config push notify pattern: replace stateful pub/sub with signal+ fetch (#760) 2026-04-06 16:57:27 +01:00
api-gateway-changes-v1.8-to-v2.1.md Update API specs for 2.1 (#699) 2026-03-17 20:36:31 +00:00
api.html Update API specs for 2.1 (#699) 2026-03-17 20:36:31 +00:00
cli-changes-v1.8-to-v2.1.md Update API specs for 2.1 (#699) 2026-03-17 20:36:31 +00:00
contributor-licence-agreement.md Update CLA notice in repo (#722) 2026-03-26 14:18:13 +00:00
generate-api-docs.py Python API docs (#614) 2026-01-15 15:12:32 +00:00
python-api.md Update API specs for 2.1 (#699) 2026-03-17 20:36:31 +00:00
README.api-docs.md Python API docs (#614) 2026-01-15 15:12:32 +00:00
README.cats Added agent support to templates (#150) 2024-11-12 00:22:18 +00:00
README.challenger Added agent support to templates (#150) 2024-11-12 00:22:18 +00:00
README.md Add AsyncAPI spec for websocket (#613) 2026-01-15 11:57:16 +00:00
websocket.html Update API specs for 2.1 (#699) 2026-03-17 20:36:31 +00:00

TrustGraph Documentation

Welcome to TrustGraph! For comprehensive documentation, please visit:

📖 https://docs.trustgraph.ai

The main documentation site includes:

  • Overview - Introduction to TrustGraph concepts and architecture
  • Guides - Step-by-step tutorials and how-to guides
  • Deployment - Deployment options and configuration
  • Reference - API specifications and CLI documentation

Getting Started

New to TrustGraph? Start with the Overview to understand the system.

Ready to deploy? Check out the Deployment Guide.

Integrating with code? See the API Reference for REST, WebSocket, and SDK documentation.