Commit Graph

347 Commits

Author SHA1 Message Date
Joseph Doherty 2b64d762f6 feat: execute full-repo remaining parity closure plan 2026-02-23 13:08:52 -05:00
Joseph Doherty b41e6ff320 feat: execute post-baseline jetstream parity plan 2026-02-23 12:11:19 -05:00
Joseph Doherty 8bce096f55 feat: complete final jetstream parity transport and runtime baselines 2026-02-23 11:04:43 -05:00
Joseph Doherty f46b331921 feat: complete remaining jetstream parity implementation plan 2026-02-23 10:16:16 -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 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 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 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
Joseph Doherty 7fe15d7ce1 feat: add route propagation and bootstrap js gateway leaf services 2026-02-23 05:55:45 -05:00
Joseph Doherty 4c2b7fa3de feat: add import/export support to Account with ACCOUNT client lazy creation 2026-02-23 05:54:31 -05:00
Joseph Doherty 3f48d1c5ee feat: add connz mqtt_client filtering for open and closed connections 2026-02-23 05:53:24 -05:00
Joseph Doherty 591833adbb feat: add import/export model types (ServiceImport, StreamImport, exports, auth) 2026-02-23 05:51:30 -05:00
Joseph Doherty 5bae9cc289 feat: add system request-reply monitoring services ($SYS.REQ.SERVER.*)
Register VARZ, HEALTHZ, SUBSZ, STATSZ, and IDZ request-reply handlers
on $SYS.REQ.SERVER.{id}.* subjects and $SYS.REQ.SERVER.PING.* wildcard
subjects via InitEventTracking. Also excludes the $SYS system account
from the /subz monitoring endpoint by default since its subscriptions
are internal infrastructure.
2026-02-23 05:48:32 -05:00
Joseph Doherty 5f98e53d62 feat: add route handshake lifecycle 2026-02-23 05:46:59 -05:00
Joseph Doherty 0b34f8cec4 feat: add periodic server stats and account connection heartbeat publishing 2026-02-23 05:44:09 -05:00
Joseph Doherty 44d426a7c5 feat: parse cluster and jetstream config blocks 2026-02-23 05:43:04 -05:00
Joseph Doherty 125b71b3b0 feat: wire system event publishing for connect, disconnect, and shutdown 2026-02-23 05:41:44 -05:00
Joseph Doherty d9f157d9e4 feat: add client kind command matrix parity 2026-02-23 05:41:42 -05:00
Joseph Doherty e562077e4c test: add failing jwt allowed connection type coverage
Add 5 tests for JWT allowed_connection_types enforcement which the
authenticator does not yet implement. Two tests (reject MQTT-only for
STANDARD context, reject unknown-only types) fail on assertions because
JwtAuthenticator currently ignores the claim. Three tests (allow
STANDARD, allow with unknown mixed in, case-insensitive match) pass
trivially since the field is not checked.

Also adds ConnectionType property to ClientAuthContext (defaults to
"STANDARD") so the tests compile.
2026-02-23 05:37:04 -05:00
Joseph Doherty 8e790445f4 feat: add InternalEventSystem with Channel-based send/receive loops 2026-02-23 05:34:57 -05:00
Joseph Doherty fc96b6eb43 feat: add system event DTOs and JSON source generator context 2026-02-23 05:29:40 -05:00
Joseph Doherty 1ebf283a8c Merge branch 'feature/websocket'
# Conflicts:
#	differences.md
2026-02-23 05:28:34 -05:00