Commit Graph

233 Commits

Author SHA1 Message Date
Joseph Doherty 8bce096f55 feat: complete final jetstream parity transport and runtime baselines 2026-02-23 11:04:43 -05:00
Joseph Doherty 53585012f3 docs: add final remaining jetstream parity plan 2026-02-23 10:31:38 -05:00
Joseph Doherty cc188fa84d docs: add final remaining jetstream parity design 2026-02-23 10:28:10 -05:00
Joseph Doherty ee6809aedc docs: refresh differences for remaining jetstream parity 2026-02-23 10:22:39 -05:00
Joseph Doherty 4adc9367e6 fix: stabilize jetstream go api inventory extraction 2026-02-23 10:20:09 -05:00
Joseph Doherty 0047575bc2 Merge branch 'codex/jetstream-remaining-parity-executeplan'
# Conflicts:
#	differences.md
2026-02-23 10:16:47 -05:00
Joseph Doherty f46b331921 feat: complete remaining jetstream parity implementation plan 2026-02-23 10:16:16 -05:00
Joseph Doherty e553db6d40 docs: add Authentication, Clustering, JetStream, Monitoring overviews; update existing docs
New files:
- Documentation/Authentication/Overview.md — all 7 auth mechanisms with real source
  snippets (NKey/JWT/username-password/token/TLS mapping), nonce generation, account
  system, permissions, JWT permission templates
- Documentation/Clustering/Overview.md — route TCP handshake, in-process subscription
  propagation, gateway/leaf node stubs, honest gaps list
- Documentation/JetStream/Overview.md — API surface (4 handled subjects), streams,
  consumers, storage (MemStore/FileStore), in-process RAFT, mirror/source, gaps list
- Documentation/Monitoring/Overview.md — all 12 endpoints with real field tables,
  Go compatibility notes

Updated files:
- GettingStarted/Architecture.md — 14-subdirectory tree, real NatsClient/NatsServer
  field snippets, 9 new Go reference rows, Channel write queue design choice
- GettingStarted/Setup.md — xUnit 3, 100 test files grouped by area
- Operations/Overview.md — 99 test files, accurate Program.cs snippet, limitations
  section renamed to "Known Gaps vs Go Reference" with 7 real gaps
- Server/Overview.md — grouped fields, TLS/WS accept path, lame-duck mode, POSIX signals
- Configuration/Overview.md — 14 subsystem option tables, 24-row CLI table, LogOverrides
- Server/Client.md — Channel write queue, 4-task RunAsync, CommandMatrix, real fields

All docs verified against codebase 2026-02-23; 713 tests pass.
2026-02-23 10:14:18 -05:00
Joseph Doherty 9efe787cab docs: update differences.md with accurate JetStream and clustering gaps
Add sections 11 (JetStream) and 12 (Clustering) with verified coverage
tables. Correct sections 2-4 where ROUTER/GATEWAY/LEAF and RS+/RS-/RMSG
were previously marked Y but are partial or stub implementations:

- ROUTER: handshake + in-memory subscription tracking only; no RMSG
- GATEWAY/LEAF: config-only stubs with no networking
- RS+/RS-/RMSG: command matrix only; no wire routing
- JetStream: 4 of ~20 API subjects implemented; RAFT is in-memory
  simulation with no persistence or network transport
2026-02-23 09:56:09 -05:00
Joseph Doherty c7bbf45c8f docs: add remaining jetstream parity plan 2026-02-23 09:51:21 -05:00
Joseph Doherty fb449b8dd7 docs: add remaining jetstream parity design 2026-02-23 09:47:11 -05:00
Joseph Doherty 3fea2da2cf Fix merge regressions after jetstream parity merge 2026-02-23 08:56:15 -05:00
Joseph Doherty a8985ecb1a Merge branch 'codex/jetstream-full-parity-executeplan' into main
# Conflicts:
#	differences.md
#	docs/plans/2026-02-23-jetstream-full-parity-plan.md
#	src/NATS.Server/Auth/Account.cs
#	src/NATS.Server/Configuration/ConfigProcessor.cs
#	src/NATS.Server/Monitoring/VarzHandler.cs
#	src/NATS.Server/NatsClient.cs
#	src/NATS.Server/NatsOptions.cs
#	src/NATS.Server/NatsServer.cs
2026-02-23 08:53:44 -05:00
Joseph Doherty 6228f748ab docs: add mqtt connection type implementation plan and task tracking 2026-02-23 08:49:24 -05:00
Joseph Doherty e2e8c33d38 docs: record final jetstream parity verification 2026-02-23 07:18:11 -05:00
Joseph Doherty d20892f903 docs: update differences scope for jetstream and clustering parity 2026-02-23 07:16:19 -05:00
Joseph Doherty fd1edda0df test: verify dotnet and go jetstream parity suites 2026-02-23 07:15:24 -05:00
Joseph Doherty 73dd3307ba test: add jetstream integration matrix coverage 2026-02-23 06:25:23 -05:00
Joseph Doherty 264b49f96a test: add go jetstream parity runner 2026-02-23 06:24:41 -05:00
Joseph Doherty 6c83f12e5c feat: add reload semantics for cluster and jetstream options 2026-02-23 06:23:34 -05:00
Joseph Doherty 2aa7265db1 feat: enforce account jetstream limits and jwt tiers 2026-02-23 06:21:51 -05:00
Joseph Doherty ccbcf759a9 feat: implement jsz and live jetstream monitoring 2026-02-23 06:19:41 -05:00
Joseph Doherty c87661800d feat: add stream replica groups and leader stepdown 2026-02-23 06:17:30 -05:00
Joseph Doherty 23216d0a48 feat: integrate jetstream meta-group placement 2026-02-23 06:16:01 -05:00
Joseph Doherty 71f7f569b9 Merge branch 'feature/mqtt-connection-type' 2026-02-23 06:15:32 -05:00
Joseph Doherty 3531a87de0 Merge branch 'feature/system-account-types'
Add SYSTEM and ACCOUNT connection types with InternalClient,
InternalEventSystem, system event publishing, request-reply services,
and cross-account import/export support.
2026-02-23 06:14:11 -05:00
Joseph Doherty 005600b9b8 feat: implement raft snapshot catchup 2026-02-23 06:13:08 -05:00
Joseph Doherty ecc4752c07 feat: implement raft log replication and apply 2026-02-23 06:12:18 -05:00
Joseph Doherty 66ec378bdc feat: implement raft election and term state 2026-02-23 06:11:28 -05:00
Joseph Doherty f1d3c19594 feat: add jetstream mirror and source orchestration 2026-02-23 06:10:41 -05:00
Joseph Doherty 1269e8b364 docs: update differences.md for mqtt connection type parity 2026-02-23 06:09:44 -05:00
Joseph Doherty d3aad48096 feat: enforce jetstream ack and redelivery semantics 2026-02-23 06:09:26 -05:00
Joseph Doherty fecb51095f feat: implement jetstream push delivery and heartbeat 2026-02-23 06:08:14 -05:00
Joseph Doherty 54207e2906 feat: expand mqtt varz monitoring with all Go-compatible fields 2026-02-23 06:07:38 -05:00
Joseph Doherty 9a0de19c2d feat: implement jetstream pull consumer fetch 2026-02-23 06:07:02 -05:00
Joseph Doherty 40b940b1fd feat: add jetstream consumer api lifecycle 2026-02-23 06:06:02 -05:00
Joseph Doherty 6825839191 feat: add jetstream publish preconditions and dedupe 2026-02-23 06:05:01 -05:00
Joseph Doherty 9b784024db docs: update differences.md to reflect SYSTEM/ACCOUNT types and imports/exports implemented 2026-02-23 06:04:29 -05:00
Joseph Doherty d73e7e2f88 feat: enforce jetstream retention and limits 2026-02-23 06:04:23 -05:00
Joseph Doherty 9977a01c56 test: add mqtt config parsing coverage 2026-02-23 06:04:02 -05:00
Joseph Doherty 86283a7f97 feat: add latency tracking for service import request-reply 2026-02-23 06:03:37 -05:00
Joseph Doherty 95691fa9e7 feat: route publishes to jetstream with puback 2026-02-23 06:03:24 -05:00
Joseph Doherty 5f530de2e4 feat: add jetstream stream lifecycle api 2026-02-23 06:02:07 -05:00
Joseph Doherty 4450c27381 feat: add response routing for service import request-reply patterns 2026-02-23 06:01:53 -05:00
Joseph Doherty 788f4254b0 feat: implement jetstream filestore recovery baseline 2026-02-23 06:00:42 -05:00
Joseph Doherty 64e3b1bd49 feat: implement jetstream memstore core behavior 2026-02-23 06:00:10 -05:00
Joseph Doherty cae09f9091 feat: define jetstream storage interfaces 2026-02-23 05:59:39 -05:00
Joseph Doherty c9066e526d feat: wire service import forwarding into message delivery path
Add ProcessServiceImport method to NatsServer that transforms subjects
from importer to exporter namespace and delivers to destination account
subscribers. Wire service import checking into ProcessMessage so that
publishes matching a service import "From" pattern are automatically
forwarded to the destination account. Includes MapImportSubject for
wildcard-aware subject mapping and WireServiceImports for import setup.
2026-02-23 05:59:36 -05:00
Joseph Doherty d1935bc9ec feat: add jetstream config validation models 2026-02-23 05:59:03 -05:00
Joseph Doherty 6d23e89fe8 feat: add jetstream api router and error envelope 2026-02-23 05:58:34 -05:00