feat(graph): enable Postgres-backed reads, replace in-memory seed data

- Switch default repository to start empty when Postgres is configured;
  GraphDataLoaderHostedService loads real data from graph.graph_nodes/edges
  on startup and refreshes every 5 minutes
- Keep InMemoryGraphRepository with hardcoded seed as fallback when no DB
- Add Reload() method to InMemoryGraphRepository for hot-swapping data
- Add GetAllNodesAsync/GetAllEdgesAsync to PostgresGraphRepository
- Deprecate hardcoded seed data in InMemoryGraphRepository
- Fix graph-api port mismatch: container listens on 8080 (ASPNETCORE_URLS)
  but compose mapped 80:80; corrected to 80:8080 + healthcheck to 8080

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
master
2026-04-08 18:39:18 +03:00
parent 573d3d2a8d
commit b081809178
6 changed files with 207 additions and 8 deletions

View File

@@ -1292,7 +1292,7 @@ services:
volumes:
- *cert-volume
ports:
- "127.1.0.20:80:80"
- "127.1.0.20:80:8080"
networks:
stellaops:
aliases:
@@ -1301,7 +1301,7 @@ services:
- cartographer.stella-ops.local
frontdoor: {}
healthcheck:
test: ["CMD-SHELL", "bash -c 'echo > /dev/tcp/$(hostname)/80'"]
test: ["CMD-SHELL", "bash -c 'echo > /dev/tcp/$(hostname)/8080'"]
<<: *healthcheck-tcp
labels: *release-labels