Files
git.stella-ops.org/docs/modules/graph/packaging.md
StellaOps Bot dc7c75b496
Some checks failed
Docs CI / lint-and-preview (push) Has been cancelled
feat: Add MongoIdempotencyStoreOptions for MongoDB configuration
feat: Implement BsonJsonConverter for converting BsonDocument and BsonArray to JSON

fix: Update project file to include MongoDB.Bson package

test: Add GraphOverlayExporterTests to validate NDJSON export functionality

refactor: Refactor Program.cs in Attestation Tool for improved argument parsing and error handling

docs: Update README for stella-forensic-verify with usage instructions and exit codes

feat: Enhance HmacVerifier with clock skew and not-after checks

feat: Add MerkleRootVerifier and ChainOfCustodyVerifier for additional verification methods

fix: Update DenoRuntimeShim to correctly handle file paths

feat: Introduce ComposerAutoloadData and related parsing in ComposerLockReader

test: Add tests for Deno runtime execution and verification

test: Enhance PHP package tests to include autoload data verification

test: Add unit tests for HmacVerifier and verification logic
2025-11-22 16:42:56 +02:00

2.7 KiB

Graph Indexer packaging (Runtime & Signals 140.A)

Deployment overlays

  • Helm/Compose should expose two timers for analytics: GRAPH_ANALYTICS_CLUSTER_INTERVAL and GRAPH_ANALYTICS_CENTRALITY_INTERVAL (ISO-8601 duration, default 5m). Map to GraphAnalyticsOptions.
  • Change-stream/backfill worker toggles via GRAPH_CHANGE_POLL_INTERVAL, GRAPH_BACKFILL_INTERVAL, GRAPH_CHANGE_MAX_RETRIES, GRAPH_CHANGE_RETRY_BACKOFF.
  • Mongo bindings (optional): GRAPH_CHANGE_COLLECTION, GRAPH_CHANGE_SEQUENCE_FIELD, GRAPH_CHANGE_NODE_FIELD, GRAPH_CHANGE_EDGE_FIELD, GRAPH_CHANGE_IDEMPOTENCY_COLLECTION, GRAPH_ANALYTICS_SNAPSHOT_COLLECTION, GRAPH_ANALYTICS_PROGRESS_COLLECTION.
  • New Mongo collections:
    • graph_cluster_overlays — cluster assignments (tenant, snapshot_id, node_id, cluster_id, generated_at).
    • graph_centrality_overlays — degree + betweenness approximations per node.
    • optional node updates write attributes.cluster_id when WriteClusterAssignmentsToNodes=true.

Offline kit alignment

  • Cluster/centrality overlays are exportable alongside nodes.jsonl/edges.jsonl; keep under artifacts/graph-snapshots/{snapshotId}/overlays/ for air-gapped imports.
  • Seed bundle layout:
    • clusters.ndjson — overlay records (one per node) matching graph_cluster_overlays schema.
    • centrality.ndjson — overlay records with degree/betweenness.
    • manifest.json — references snapshot manifest hash and run timestamps.
  • Determinism: overlays ordered by node_id (ordinal) to keep bundle hashes stable.

Observability hooks

  • Metrics (Meter StellaOps.Graph.Indexer):
    • graph_analytics_runs_total, graph_analytics_failures_total, graph_analytics_duration_seconds, graph_analytics_clusters_total, graph_analytics_centrality_total.
    • graph_changes_total, graph_backfill_total, graph_change_failures_total, graph_change_lag_seconds.
  • Recommended alerts: lag > 5m, failures > 0 over 10m window, cluster job duration > 2m.

Configuration defaults

  • Cluster/centrality intervals: 5 minutes; label-propagation iterations: 6; betweenness sample size: 12.
  • Change stream: poll every 5s, backfill every 15m, max retries 3 with 3s backoff, batch size 256.
  • Overlay exports: clusters/centrality written to overlays/clusters.ndjson and overlays/centrality.ndjson with manifest; ordered by node_id for deterministic bundle hashes.

Notes

  • Analytics writes are idempotent (upserts keyed on tenant+snapshot+node_id). Change-stream processing is idempotent via sequence tokens persisted in IIdempotencyStore (Mongo or in-memory for tests).
  • Keep Helm/Compose values in sync with these defaults when publishing the Runtime & Signals 140.A bundle.