Loading
Add nats-pure gem, Gitlab::Nats config, client, and app setting
What does this MR do and why?
Add nats-pure gem, Gitlab::Nats config, client, and app setting
Introduces the foundation for NATS-based audit event streaming:
- Add the
nats-puregem (JetStream client). - Add
Settings.nats(servers, TLS, connect_timeout, stream_replicas) and theconfig/gitlab.yml.exampleblock. Empty servers means NATS is not configured and callers fall back to their non-NATS paths. - Add Gitlab::Nats (configured?/enabled? gates) and
Gitlab::Nats::Client, a thinnats-purewrapper (publish,pull_subscribe, stream management). - Add the
use_nats_for_audit_streaminginstance application setting (the operator master switch) with its JSON schema, model accessor, and Application Settings REST API exposure.
Closes #604448 (closed)
References
Screenshots or screen recordings
| Before | After |
|---|---|
How to set up and validate locally
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.