2316 chore doc updates #2680

Merged
mfreeman451 merged 8 commits from refs/pull/2680/head into staging 2026-01-15 19:52:36 +00:00
mfreeman451 commented 2026-01-15 18:45:04 +00:00 (Migrated from github.com)
Owner

Imported from GitHub pull request.

Original GitHub pull request: #2319
Original author: @mfreeman451
Original URL: https://github.com/carverauto/serviceradar/pull/2319
Original created: 2026-01-15T18:45:04Z
Original updated: 2026-01-15T19:52:39Z
Original head: carverauto/serviceradar:2316-chore-doc-updates
Original base: staging
Original merged: 2026-01-15T19:52:36Z by @mfreeman451

User description

IMPORTANT: Please sign the Developer Certificate of Origin

Thank you for your contribution to ServiceRadar. Please note, when contributing, the developer must include
a DCO sign-off statement indicating the DCO acceptance in one commit message. Here
is an example DCO Signed-off-by line in a commit message:

Signed-off-by: J. Doe <j.doe@domain.com>

Describe your changes

Code checklist before requesting a review

  • I have signed the DCO?
  • The build completes without errors?
  • All tests are passing when running make test?

PR Type

Documentation


Description

Comprehensive documentation refactoring and modernization across the ServiceRadar project:

Major Documentation Simplifications:

  • Condensed 1000+ lines of TLS security instructions to 15-line overview

  • Streamlined Docker setup guide from 689 to 69 lines with quick-start focus

  • Reduced installation guide from 567 to 44 lines, consolidating to platform-first approach

  • Simplified architecture documentation with cleaner diagrams and removed detailed component descriptions

  • Drastically reduced KV configuration from 413 to 33 lines, focusing on essentials

  • Simplified sync runtime, security architecture, edge agents, and service port map documentation

Architecture and Naming Updates:

  • Updated all component references to current naming: core-elx, web-ng, agent-gateway

  • Removed "legacy" terminology throughout documentation while preserving technical accuracy

  • Updated Docker Compose commands to use modern docker compose syntax

  • Refined architecture narrative to emphasize current platform topology

New Specifications Added:

  • Added agent connectivity specification for mTLS authentication and enrollment flow

  • Added edge architecture specification for core-elx control plane responsibilities

  • Added agent configuration specification for remote gRPC configuration fetch

  • Added KV configuration specification for edge component independence

  • Added architecture documentation update proposal and task list

Sidebar Reorganization:

  • Restructured documentation sidebar from "Get Started" to "Deploy" category

  • Created logical groupings: "Collect & Discover", "Configure", "Security", "Operations", "Query & Data", "Platform Internals"

Cleanup:

  • Removed obsolete documentation files: onboarding-review-2025.md, spire-onboarding-plan.md, and sysmon migration runbooks

Diagram Walkthrough

flowchart LR
  OldDocs["Old Documentation<br/>1000+ lines per file<br/>Legacy terminology"] -- "Simplify & Consolidate" --> NewDocs["Streamlined Docs<br/>Quick-start focus<br/>Essential content only"]
  OldDocs -- "Update Naming" --> ArchUpdate["Architecture Updates<br/>core-elx, web-ng<br/>agent-gateway"]
  NewDocs --> SidebarReorg["Sidebar Reorganization<br/>Logical categories<br/>Improved navigation"]
  ArchUpdate --> Specs["New Specifications<br/>Agent connectivity<br/>Edge architecture<br/>Configuration flows"]
  SidebarReorg --> Result["Modernized Docs<br/>Current architecture<br/>Better UX"]
  Specs --> Result

File Walkthrough

Relevant files
Documentation
35 files
tls-security.md
Simplify TLS security documentation to high-level overview

docs/docs/tls-security.md

  • Replaced 1000+ lines of detailed OpenSSL certificate generation and
    deployment instructions with a concise 15-line summary
  • Simplified TLS overview to focus on SPIFFE/SPIRE in Kubernetes and
    Compose certificate generator in Docker
  • Removed manual certificate generation procedures, component-specific
    configurations, and troubleshooting sections
  • Added references to deployment-specific guides (Docker Setup and
    SPIFFE Identity)
+8/-1060
docker-setup.md
Streamline Docker setup guide to quick-start format           

docs/docs/docker-setup.md

  • Condensed 689-line comprehensive Docker setup guide to 69 lines with
    quick-start focus
  • Removed detailed sections on prerequisites, architecture,
    configuration, device setup, and troubleshooting
  • Replaced extensive content with concise quick-start commands and
    common operations
  • Added reference to README-Docker.md for full Docker details
+34/-654
installation.md
Refactor installation guide to platform-first approach     

docs/docs/installation.md

  • Reduced 567-line installation guide to 44 lines focusing on platform
    deployment
  • Removed detailed Debian/Ubuntu and RHEL/Oracle Linux package
    installation procedures
  • Consolidated installation methods to Docker Compose, Kubernetes/Helm,
    and edge agent script
  • Removed firewall, SELinux, and service verification sections
+21/-544
architecture.md
Simplify architecture documentation with cleaner diagrams

docs/docs/architecture.md

  • Simplified architecture diagram from complex multi-layer Kubernetes
    cluster to streamlined edge-to-core flow
  • Removed detailed component descriptions (Agent, Gateway, Core, Web UI,
    SRQL Service)
  • Condensed deployment models section and removed standard/minimal/HA
    deployment diagrams
  • Reduced security architecture section and removed detailed mTLS role
    definitions
+75/-267
INSTALL.md
Streamline INSTALL.md to platform deployment focus             

INSTALL.md

  • Reduced 121-line installation guide to 69 lines with focus on platform
    deployment
  • Removed detailed non-interactive installation scenarios and checker
    combinations
  • Consolidated to Docker Compose, Kubernetes/Helm, and edge agent
    deployment methods
  • Simplified manual installation section and removed advanced
    configuration details
+32/-84 
configuration.md
Update configuration documentation terminology                     

docs/docs/configuration.md

  • Minor formatting change: removed "legacy" descriptor from
    username-or-email RBAC key description
  • Updated role resolution order description to remove "legacy" prefix
  • Changed "Core service" reference to core-elx for consistency
+3/-4     
kv-configuration.md
Simplify KV configuration documentation to essentials       

docs/docs/kv-configuration.md

  • Drastically simplified KV configuration documentation from 413 lines
    to 33 lines
  • Removed detailed NATS server configuration, RBAC setup, and
    troubleshooting sections
  • Condensed to essential settings and operational checks for manual KV
    setup
  • Removed extensive examples, certificate requirements, and firewall
    configuration details
+18/-398
2025-12-16-simplifying-observability-elixir-rustler-cnpg.mdx
Update blog post for core-elx and web-ng architecture       

docs/blog/2025-12-16-simplifying-observability-elixir-rustler-cnpg.mdx

  • Updated title to reference "Rust" instead of "Rustler" for clarity
  • Simplified description to focus on Phoenix LiveView and SRQL without
    implementation details
  • Refined architecture narrative to emphasize core-elx and web-ng naming
  • Removed specific implementation details about Rustler NIFs and
    emphasized SRQL as a query engine
  • Updated component descriptions to reflect current platform topology
+22/-22 
sidebars.ts
Restructure documentation sidebar for improved navigation

docs/sidebars.ts

  • Reorganized sidebar structure from "Get Started" to "Deploy" category
  • Moved quickstart into main navigation and restructured deployment
    guides
  • Added new categories: "Collect & Discover", "Configure", "Security",
    "Operations", "Query & Data", "Platform Internals"
  • Consolidated related documentation under logical groupings for better
    navigation
  • Added new docs for sysmon profiles, identity metrics, and Ash
    framework topics
+65/-43 
sync.md
Simplify sync runtime documentation to essentials               

docs/docs/sync.md

  • Reduced from 146 lines to 30 lines, removing extensive configuration
    and tuning details
  • Removed detailed ingestion tuning matrix and connection pool sizing
    examples
  • Removed migration guide from standalone sync service
  • Condensed to overview, architecture diagram, and basic troubleshooting
  • Simplified to point users to edge onboarding and installation guides
+12/-128
security-architecture.md
Simplify security architecture documentation                         

docs/docs/security-architecture.md

  • Reduced from 198 lines to 16 lines, removing detailed security
    properties and attack scenarios
  • Removed extensive mTLS verification chain, ERTS cluster isolation, and
    multi-tenant isolation details
  • Removed security property verification tests and incident response
    procedures
  • Condensed to high-level security layers and reference to TLS
    documentation
+6/-188 
edge-agents.md
Simplify edge agents documentation                                             

docs/docs/edge-agents.md

  • Removed detailed agent deployment steps (configuration generation,
    binary download, certificate installation)
  • Removed extensive health monitoring sequence diagram and agent state
    table
  • Removed multi-tenant isolation section with detailed attack scenarios
  • Simplified to point users to edge onboarding guides and basic
    troubleshooting
  • Updated component naming from "Gateway" to "Agent-Gateway" and "Core"
    to "core-elx"
+12/-133
service-port-map.md
Simplify service port map to quick reference                         

docs/docs/service-port-map.md

  • Reduced from 109 lines to 37 lines with simplified port reference
    table
  • Removed detailed checker components, event ingestion, and network
    performance sections
  • Removed firewall configuration examples and configuration file
    references
  • Condensed to core platform, data plane, and edge ports with brief
    notes
+24/-96 
self-signed.md
Simplify self-signed certificates documentation                   

docs/docs/self-signed.md

  • Reduced from 176 lines to 24 lines, removing extensive certificate
    generation and Caddy configuration
  • Removed OpenSSL certificate generation instructions and browser
    security warning details
  • Removed Let's Encrypt production guidance and troubleshooting sections
  • Condensed to Compose auto-generation, Kubernetes SPIFFE reference, and
    manual setup pointer
+10/-162
web-ui.md
Simplify web UI configuration documentation                           

docs/docs/web-ui.md

  • Reduced from 150+ lines to ~85 lines with streamlined content
  • Removed detailed JWT session flow and token storage explanation
  • Removed extensive security features section and troubleshooting
    details
  • Simplified to core functionality, Caddy configuration, and auth
    reference
+6/-65   
discovery.md
Simplify discovery guide documentation                                     

docs/docs/discovery.md

  • Reduced from 52 lines to 22 lines with condensed overview
  • Removed detailed Mapper configuration sections and OID tuning guidance
  • Removed extensive publishing flow and configuration matrix details
  • Simplified to Mapper overview, discovery types, and getting started
    steps
+12/-42 
2025-03-24-introducing-post.mdx
Update blog post component naming and architecture             

docs/blog/2025-03-24-introducing-post.mdx

  • Updated component descriptions to use current naming (core-elx,
    web-ng, agent-gateway)
  • Changed web UI reference from "Next.js" to "Phoenix LiveView"
  • Updated security description to reference edge proxy instead of Nginx
  • Refined architecture narrative to match current platform topology
+7/-7     
intro.md
Simplify intro documentation and update component names   

docs/docs/intro.md

  • Removed cloud-based alerting and specialized monitoring mentions
  • Simplified feature list to focus on core capabilities
  • Updated component descriptions to use current naming (core-elx,
    web-ng, agent-gateway)
  • Removed API key authentication and KV store from feature highlights
  • Streamlined security features section
+12/-20 
cluster.md
Update cluster documentation for current architecture       

docs/docs/cluster.md

  • Updated component table to reflect current services (core-elx,
    agent-gateway, web-ng)
  • Removed registry and agent entries from main components
  • Added Zen and DB Writer components to the table
  • Updated descriptions to match current architecture and naming
  • Changed "legacy CNPG-backed endpoints" to "direct CNPG-backed
    endpoints"
+8/-7     
search-planner-operations.md
Update search planner operations terminology                         

docs/docs/search-planner-operations.md

  • Updated references from "core service" to "core-elx"
  • Changed "legacy device list results" to "device list results"
  • Updated "legacy /api/devices list path" to "/api/devices list path"
  • Removed "legacy" terminology while preserving technical accuracy
+4/-4     
quickstart.md
Update quickstart guide for current architecture                 

docs/docs/quickstart.md

  • Updated deployment path descriptions to use current component names
  • Removed reference to importing starter dashboards
  • Simplified bootstrap access section
  • Updated ingest channel references to use current architecture
+3/-5     
DOCKER_QUICKSTART.md
Update Docker quickstart for current tooling and architecture

DOCKER_QUICKSTART.md

  • Updated docker-compose commands to use docker compose (new syntax)
  • Updated component references to use current naming (core-elx, web-ng,
    agent-gateway)
  • Updated web UI access URL from port 8090 to localhost via Caddy proxy
  • Updated documentation reference from docker/README.md to
    README-Docker.md
+10/-10 
README.md
Update README for current architecture and naming               

README.md

  • Updated component descriptions to use current naming (core-elx,
    web-ng, agent-gateway)
  • Updated architecture overview to reflect current data flow and
    component topology
  • Updated Docker Compose services list to match current stack
  • Updated common Docker commands to use current service names
+8/-8     
README-Docker.md
Update Docker README for current service naming                   

README-Docker.md

  • Updated service list to use current naming (core-elx, agent-gateway)
  • Updated docker compose commands to reference current service names
  • Updated password generation reference to use core-elx
  • Updated service startup order documentation
+4/-4     
service-registry-design.md
Update service registry design documentation                         

docs/docs/service-registry-design.md

  • Removed reference to "onboarding-review-2025.md" document
  • Changed "legacy gateway tracking code" to "gateway tracking code"
  • Minor terminology cleanup in migration phase documentation
+2/-3     
auth-configuration.md
Update authentication configuration terminology                   

docs/docs/auth-configuration.md

  • Updated references from "core service" to "core-elx service"
  • Changed "legacy/internal" to "internal" for auth settings description
  • Updated terminology to reflect current architecture
+4/-4     
custom-checkers.md
Update custom checkers documentation                                         

docs/docs/custom-checkers.md

  • Updated service name example from "sysmon-osx" to "sysmon"
  • Removed reference to "tools/sysmonosx" directory
  • Updated gateway log reference to use "agent-gateway"
  • Updated core log reference to use "core-elx"
+4/-4     
agents.md
Update agents documentation                                                           

docs/docs/agents.md

  • Removed reference to "older clusters that only expose the legacy KV
    service"
  • Updated fallback behavior description to be more concise
+1/-1     
spiffe-identity.md
Update SPIFFE identity documentation                                         

docs/docs/spiffe-identity.md

  • Removed "legacy" descriptor from CN values reference
  • Reformatted multi-line service list for clarity
  • Updated SPIFFE mode adoption statement
+3/-3     
spec.md
Add agent connectivity specification                                         

openspec/changes/update-architecture-docs/specs/agent-connectivity/spec.md

  • Added new specification for agent-initiated control plane connections
  • Defined requirements for mTLS authentication and certificate
    validation
  • Specified agent hello and enrollment flow with identity verification
  • Added configuration retrieval requirements from control plane
+56/-0   
spec.md
Add edge architecture specification                                           

openspec/changes/update-architecture-docs/specs/edge-architecture/spec.md

  • Added new specification for core-elx control plane responsibilities
  • Defined agent-gateway ingest modes for unary and streaming payloads
  • Added mTLS agent authentication requirements
  • Specified workload identity and partition scope validation
+46/-0   
spec.md
Add agent configuration specification                                       

openspec/changes/update-architecture-docs/specs/agent-configuration/spec.md

  • Added new specification for remote configuration fetch via gRPC
  • Defined agent startup configuration retrieval from control plane
  • Specified fallback behavior and timeout handling
  • Added configuration compilation by web-ng config compilers
+23/-0   
spec.md
Add KV configuration specification                                             

openspec/changes/update-architecture-docs/specs/kv-configuration/spec.md

  • Added new specification for edge components KV independence
  • Defined requirements for gRPC configuration delivery to agents
  • Specified filesystem configuration for collectors
  • Added Docker Compose KV bootstrap requirements
+25/-0   
tasks.md
Add architecture documentation update tasks                           

openspec/changes/update-architecture-docs/tasks.md

  • Added task list for documentation updates covering architecture,
    diagrams, and README
  • Added spec delta validation tasks
  • Organized tasks into documentation, spec, and validation categories
+16/-0   
proposal.md
Add architecture documentation update proposal                     

openspec/changes/update-architecture-docs/proposal.md

  • Added change proposal for updating architecture documentation
  • Defined rationale for aligning docs with current core-elx and edge
    ingestion
  • Specified affected specs and documentation files
  • Outlined impact on deployment guidance and component topology
+16/-0   
Additional files
6 files
onboarding-review-2025.md +0/-880 
compose-mtls-sysmonosx.md +0/-95   
sysmon-migration.md +0/-305 
sysmonosx-e2e.md +0/-99   
service-registry-status.md +0/-1     
spire-onboarding-plan.md +0/-290 

Imported from GitHub pull request. Original GitHub pull request: #2319 Original author: @mfreeman451 Original URL: https://github.com/carverauto/serviceradar/pull/2319 Original created: 2026-01-15T18:45:04Z Original updated: 2026-01-15T19:52:39Z Original head: carverauto/serviceradar:2316-chore-doc-updates Original base: staging Original merged: 2026-01-15T19:52:36Z by @mfreeman451 --- ### **User description** ## IMPORTANT: Please sign the Developer Certificate of Origin Thank you for your contribution to ServiceRadar. Please note, when contributing, the developer must include a [DCO sign-off statement]( https://developercertificate.org/) indicating the DCO acceptance in one commit message. Here is an example DCO Signed-off-by line in a commit message: ``` Signed-off-by: J. Doe <j.doe@domain.com> ``` ## Describe your changes ## Issue ticket number and link ## Code checklist before requesting a review - [ ] I have signed the DCO? - [ ] The build completes without errors? - [ ] All tests are passing when running make test? ___ ### **PR Type** Documentation ___ ### **Description** Comprehensive documentation refactoring and modernization across the ServiceRadar project: **Major Documentation Simplifications:** - Condensed 1000+ lines of TLS security instructions to 15-line overview - Streamlined Docker setup guide from 689 to 69 lines with quick-start focus - Reduced installation guide from 567 to 44 lines, consolidating to platform-first approach - Simplified architecture documentation with cleaner diagrams and removed detailed component descriptions - Drastically reduced KV configuration from 413 to 33 lines, focusing on essentials - Simplified sync runtime, security architecture, edge agents, and service port map documentation **Architecture and Naming Updates:** - Updated all component references to current naming: `core-elx`, `web-ng`, `agent-gateway` - Removed "legacy" terminology throughout documentation while preserving technical accuracy - Updated Docker Compose commands to use modern `docker compose` syntax - Refined architecture narrative to emphasize current platform topology **New Specifications Added:** - Added agent connectivity specification for mTLS authentication and enrollment flow - Added edge architecture specification for core-elx control plane responsibilities - Added agent configuration specification for remote gRPC configuration fetch - Added KV configuration specification for edge component independence - Added architecture documentation update proposal and task list **Sidebar Reorganization:** - Restructured documentation sidebar from "Get Started" to "Deploy" category - Created logical groupings: "Collect & Discover", "Configure", "Security", "Operations", "Query & Data", "Platform Internals" **Cleanup:** - Removed obsolete documentation files: onboarding-review-2025.md, spire-onboarding-plan.md, and sysmon migration runbooks ___ ### Diagram Walkthrough ```mermaid flowchart LR OldDocs["Old Documentation<br/>1000+ lines per file<br/>Legacy terminology"] -- "Simplify & Consolidate" --> NewDocs["Streamlined Docs<br/>Quick-start focus<br/>Essential content only"] OldDocs -- "Update Naming" --> ArchUpdate["Architecture Updates<br/>core-elx, web-ng<br/>agent-gateway"] NewDocs --> SidebarReorg["Sidebar Reorganization<br/>Logical categories<br/>Improved navigation"] ArchUpdate --> Specs["New Specifications<br/>Agent connectivity<br/>Edge architecture<br/>Configuration flows"] SidebarReorg --> Result["Modernized Docs<br/>Current architecture<br/>Better UX"] Specs --> Result ``` <details><summary><h3>File Walkthrough</h3></summary> <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Documentation</strong></td><td><details><summary>35 files</summary><table> <tr> <td> <details> <summary><strong>tls-security.md</strong><dd><code>Simplify TLS security documentation to high-level overview</code></dd></summary> <hr> docs/docs/tls-security.md <ul><li>Replaced 1000+ lines of detailed OpenSSL certificate generation and <br>deployment instructions with a concise 15-line summary<br> <li> Simplified TLS overview to focus on SPIFFE/SPIRE in Kubernetes and <br>Compose certificate generator in Docker<br> <li> Removed manual certificate generation procedures, component-specific <br>configurations, and troubleshooting sections<br> <li> Added references to deployment-specific guides (Docker Setup and <br>SPIFFE Identity)</ul> </details> </td> <td><a href="https://github.com/carverauto/serviceradar/pull/2319/files#diff-fe75bcced80b2fb5cf39bd06e6edda7de714827915abedfaf41a54802f561d22">+8/-1060</a></td> </tr> <tr> <td> <details> <summary><strong>docker-setup.md</strong><dd><code>Streamline Docker setup guide to quick-start format</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> docs/docs/docker-setup.md <ul><li>Condensed 689-line comprehensive Docker setup guide to 69 lines with <br>quick-start focus<br> <li> Removed detailed sections on prerequisites, architecture, <br>configuration, device setup, and troubleshooting<br> <li> Replaced extensive content with concise quick-start commands and <br>common operations<br> <li> Added reference to README-Docker.md for full Docker details</ul> </details> </td> <td><a href="https://github.com/carverauto/serviceradar/pull/2319/files#diff-8604269dffb3ce4133e48cab374ca8e97745d0efbdef67cad792aeb5945fe5ec">+34/-654</a></td> </tr> <tr> <td> <details> <summary><strong>installation.md</strong><dd><code>Refactor installation guide to platform-first approach</code>&nbsp; &nbsp; &nbsp; </dd></summary> <hr> docs/docs/installation.md <ul><li>Reduced 567-line installation guide to 44 lines focusing on platform <br>deployment<br> <li> Removed detailed Debian/Ubuntu and RHEL/Oracle Linux package <br>installation procedures<br> <li> Consolidated installation methods to Docker Compose, Kubernetes/Helm, <br>and edge agent script<br> <li> Removed firewall, SELinux, and service verification sections</ul> </details> </td> <td><a href="https://github.com/carverauto/serviceradar/pull/2319/files#diff-19fd876fb56da88a1becb80817b52db1a40e8491641d547913b93bb7ecda3d22">+21/-544</a></td> </tr> <tr> <td> <details> <summary><strong>architecture.md</strong><dd><code>Simplify architecture documentation with cleaner diagrams</code></dd></summary> <hr> docs/docs/architecture.md <ul><li>Simplified architecture diagram from complex multi-layer Kubernetes <br>cluster to streamlined edge-to-core flow<br> <li> Removed detailed component descriptions (Agent, Gateway, Core, Web UI, <br>SRQL Service)<br> <li> Condensed deployment models section and removed standard/minimal/HA <br>deployment diagrams<br> <li> Reduced security architecture section and removed detailed mTLS role <br>definitions</ul> </details> </td> <td><a href="https://github.com/carverauto/serviceradar/pull/2319/files#diff-90abd06467420fd89391fd1a4d75ceb1f6a9381de4d13a95fffe606abff38d37">+75/-267</a></td> </tr> <tr> <td> <details> <summary><strong>INSTALL.md</strong><dd><code>Streamline INSTALL.md to platform deployment focus</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> INSTALL.md <ul><li>Reduced 121-line installation guide to 69 lines with focus on platform <br>deployment<br> <li> Removed detailed non-interactive installation scenarios and checker <br>combinations<br> <li> Consolidated to Docker Compose, Kubernetes/Helm, and edge agent <br>deployment methods<br> <li> Simplified manual installation section and removed advanced <br>configuration details</ul> </details> </td> <td><a href="https://github.com/carverauto/serviceradar/pull/2319/files#diff-09b140a43ebfdd8dbec31ce72cafffd15164d2860fd390692a030bcb932b54a0">+32/-84</a>&nbsp; </td> </tr> <tr> <td> <details> <summary><strong>configuration.md</strong><dd><code>Update configuration documentation terminology</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> docs/docs/configuration.md <ul><li>Minor formatting change: removed "legacy" descriptor from <br><code>username-or-email</code> RBAC key description<br> <li> Updated role resolution order description to remove "legacy" prefix<br> <li> Changed "Core service" reference to <code>core-elx</code> for consistency</ul> </details> </td> <td><a href="https://github.com/carverauto/serviceradar/pull/2319/files#diff-26a27f31b938efc2e2e661c3ee8a5b46ea02efaf7a89e9d38d892878da24e29d">+3/-4</a>&nbsp; &nbsp; &nbsp; </td> </tr> <tr> <td> <details> <summary><strong>kv-configuration.md</strong><dd><code>Simplify KV configuration documentation to essentials</code>&nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> docs/docs/kv-configuration.md <ul><li>Drastically simplified KV configuration documentation from 413 lines <br>to 33 lines<br> <li> Removed detailed NATS server configuration, RBAC setup, and <br>troubleshooting sections<br> <li> Condensed to essential settings and operational checks for manual KV <br>setup<br> <li> Removed extensive examples, certificate requirements, and firewall <br>configuration details</ul> </details> </td> <td><a href="https://github.com/carverauto/serviceradar/pull/2319/files#diff-24c06e4806fa0ec5508ae5aeab9fbe82be7122af9933e6b7970032576cf5f6f8">+18/-398</a></td> </tr> <tr> <td> <details> <summary><strong>2025-12-16-simplifying-observability-elixir-rustler-cnpg.mdx</strong><dd><code>Update blog post for core-elx and web-ng architecture</code>&nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> docs/blog/2025-12-16-simplifying-observability-elixir-rustler-cnpg.mdx <ul><li>Updated title to reference "Rust" instead of "Rustler" for clarity<br> <li> Simplified description to focus on Phoenix LiveView and SRQL without <br>implementation details<br> <li> Refined architecture narrative to emphasize core-elx and web-ng naming<br> <li> Removed specific implementation details about Rustler NIFs and <br>emphasized SRQL as a query engine<br> <li> Updated component descriptions to reflect current platform topology</ul> </details> </td> <td><a href="https://github.com/carverauto/serviceradar/pull/2319/files#diff-70acd289efff15274939e438d481027a1dc80a399803a2265563e7d66fd9f704">+22/-22</a>&nbsp; </td> </tr> <tr> <td> <details> <summary><strong>sidebars.ts</strong><dd><code>Restructure documentation sidebar for improved navigation</code></dd></summary> <hr> docs/sidebars.ts <ul><li>Reorganized sidebar structure from "Get Started" to "Deploy" category<br> <li> Moved quickstart into main navigation and restructured deployment <br>guides<br> <li> Added new categories: "Collect & Discover", "Configure", "Security", <br>"Operations", "Query & Data", "Platform Internals"<br> <li> Consolidated related documentation under logical groupings for better <br>navigation<br> <li> Added new docs for sysmon profiles, identity metrics, and Ash <br>framework topics</ul> </details> </td> <td><a href="https://github.com/carverauto/serviceradar/pull/2319/files#diff-6e908f6e4016ad389cfb93ce7a47df677247c0f9d17c3589710592e8cf9527e0">+65/-43</a>&nbsp; </td> </tr> <tr> <td> <details> <summary><strong>sync.md</strong><dd><code>Simplify sync runtime documentation to essentials</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> docs/docs/sync.md <ul><li>Reduced from 146 lines to 30 lines, removing extensive configuration <br>and tuning details<br> <li> Removed detailed ingestion tuning matrix and connection pool sizing <br>examples<br> <li> Removed migration guide from standalone sync service<br> <li> Condensed to overview, architecture diagram, and basic troubleshooting<br> <li> Simplified to point users to edge onboarding and installation guides</ul> </details> </td> <td><a href="https://github.com/carverauto/serviceradar/pull/2319/files#diff-a498de557ae883d480609bf07629a7eee78ec86b5cf5ee966508e75713973a9e">+12/-128</a></td> </tr> <tr> <td> <details> <summary><strong>security-architecture.md</strong><dd><code>Simplify security architecture documentation</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> docs/docs/security-architecture.md <ul><li>Reduced from 198 lines to 16 lines, removing detailed security <br>properties and attack scenarios<br> <li> Removed extensive mTLS verification chain, ERTS cluster isolation, and <br>multi-tenant isolation details<br> <li> Removed security property verification tests and incident response <br>procedures<br> <li> Condensed to high-level security layers and reference to TLS <br>documentation</ul> </details> </td> <td><a href="https://github.com/carverauto/serviceradar/pull/2319/files#diff-49e33c2fc609030af8a64af34016a22e9e86c0f3781acec5a9e6d0f7ccf5dc09">+6/-188</a>&nbsp; </td> </tr> <tr> <td> <details> <summary><strong>edge-agents.md</strong><dd><code>Simplify edge agents documentation</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> docs/docs/edge-agents.md <ul><li>Removed detailed agent deployment steps (configuration generation, <br>binary download, certificate installation)<br> <li> Removed extensive health monitoring sequence diagram and agent state <br>table<br> <li> Removed multi-tenant isolation section with detailed attack scenarios<br> <li> Simplified to point users to edge onboarding guides and basic <br>troubleshooting<br> <li> Updated component naming from "Gateway" to "Agent-Gateway" and "Core" <br>to "core-elx"</ul> </details> </td> <td><a href="https://github.com/carverauto/serviceradar/pull/2319/files#diff-df8f4b6b6cd8fb926f9204b2bab85ec4f393286d1b25d8a62d2debd357dd651d">+12/-133</a></td> </tr> <tr> <td> <details> <summary><strong>service-port-map.md</strong><dd><code>Simplify service port map to quick reference</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> docs/docs/service-port-map.md <ul><li>Reduced from 109 lines to 37 lines with simplified port reference <br>table<br> <li> Removed detailed checker components, event ingestion, and network <br>performance sections<br> <li> Removed firewall configuration examples and configuration file <br>references<br> <li> Condensed to core platform, data plane, and edge ports with brief <br>notes</ul> </details> </td> <td><a href="https://github.com/carverauto/serviceradar/pull/2319/files#diff-81eabc52b9d300cbb6414b5f1f55cecb85adfe891bdb58cf138ce4dc115c48ee">+24/-96</a>&nbsp; </td> </tr> <tr> <td> <details> <summary><strong>self-signed.md</strong><dd><code>Simplify self-signed certificates documentation</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> docs/docs/self-signed.md <ul><li>Reduced from 176 lines to 24 lines, removing extensive certificate <br>generation and Caddy configuration<br> <li> Removed OpenSSL certificate generation instructions and browser <br>security warning details<br> <li> Removed Let's Encrypt production guidance and troubleshooting sections<br> <li> Condensed to Compose auto-generation, Kubernetes SPIFFE reference, and <br>manual setup pointer</ul> </details> </td> <td><a href="https://github.com/carverauto/serviceradar/pull/2319/files#diff-92747f4c31b991032f6920205d2f9751d89568323d4c65f5d1bd2406beb7a28a">+10/-162</a></td> </tr> <tr> <td> <details> <summary><strong>web-ui.md</strong><dd><code>Simplify web UI configuration documentation</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> docs/docs/web-ui.md <ul><li>Reduced from 150+ lines to ~85 lines with streamlined content<br> <li> Removed detailed JWT session flow and token storage explanation<br> <li> Removed extensive security features section and troubleshooting <br>details<br> <li> Simplified to core functionality, Caddy configuration, and auth <br>reference</ul> </details> </td> <td><a href="https://github.com/carverauto/serviceradar/pull/2319/files#diff-7e4dc17ccc5b2fd5773b7e6c9583dbe0f597ab9ae21849a2ec0a31554a6337a3">+6/-65</a>&nbsp; &nbsp; </td> </tr> <tr> <td> <details> <summary><strong>discovery.md</strong><dd><code>Simplify discovery guide documentation</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> docs/docs/discovery.md <ul><li>Reduced from 52 lines to 22 lines with condensed overview<br> <li> Removed detailed Mapper configuration sections and OID tuning guidance<br> <li> Removed extensive publishing flow and configuration matrix details<br> <li> Simplified to Mapper overview, discovery types, and getting started <br>steps</ul> </details> </td> <td><a href="https://github.com/carverauto/serviceradar/pull/2319/files#diff-a7f02a003a0e9aaf09d6aa072689ca8ad8b7b298ee014c6ffb878d2a5ecbab28">+12/-42</a>&nbsp; </td> </tr> <tr> <td> <details> <summary><strong>2025-03-24-introducing-post.mdx</strong><dd><code>Update blog post component naming and architecture</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> docs/blog/2025-03-24-introducing-post.mdx <ul><li>Updated component descriptions to use current naming (core-elx, <br>web-ng, agent-gateway)<br> <li> Changed web UI reference from "Next.js" to "Phoenix LiveView"<br> <li> Updated security description to reference edge proxy instead of Nginx<br> <li> Refined architecture narrative to match current platform topology</ul> </details> </td> <td><a href="https://github.com/carverauto/serviceradar/pull/2319/files#diff-517352819c520e924617a495f139b455606c2f25f00e7bac7997e3c2f56a850f">+7/-7</a>&nbsp; &nbsp; &nbsp; </td> </tr> <tr> <td> <details> <summary><strong>intro.md</strong><dd><code>Simplify intro documentation and update component names</code>&nbsp; &nbsp; </dd></summary> <hr> docs/docs/intro.md <ul><li>Removed cloud-based alerting and specialized monitoring mentions<br> <li> Simplified feature list to focus on core capabilities<br> <li> Updated component descriptions to use current naming (core-elx, <br>web-ng, agent-gateway)<br> <li> Removed API key authentication and KV store from feature highlights<br> <li> Streamlined security features section</ul> </details> </td> <td><a href="https://github.com/carverauto/serviceradar/pull/2319/files#diff-5ddf6bcf52fe8ef8dfc865f5f2295616d5c073d899766372e5929cc0fd479ffd">+12/-20</a>&nbsp; </td> </tr> <tr> <td> <details> <summary><strong>cluster.md</strong><dd><code>Update cluster documentation for current architecture</code>&nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> docs/docs/cluster.md <ul><li>Updated component table to reflect current services (core-elx, <br>agent-gateway, web-ng)<br> <li> Removed registry and agent entries from main components<br> <li> Added Zen and DB Writer components to the table<br> <li> Updated descriptions to match current architecture and naming<br> <li> Changed "legacy CNPG-backed endpoints" to "direct CNPG-backed <br>endpoints"</ul> </details> </td> <td><a href="https://github.com/carverauto/serviceradar/pull/2319/files#diff-0d2e32a530d31d08b311213cd036c14e611d2f9a31e9cbcaa97f02b53edeeb44">+8/-7</a>&nbsp; &nbsp; &nbsp; </td> </tr> <tr> <td> <details> <summary><strong>search-planner-operations.md</strong><dd><code>Update search planner operations terminology</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> docs/docs/search-planner-operations.md <ul><li>Updated references from "core service" to "core-elx"<br> <li> Changed "legacy device list results" to "device list results"<br> <li> Updated "legacy <code>/api/devices</code> list path" to "<code>/api/devices</code> list path"<br> <li> Removed "legacy" terminology while preserving technical accuracy</ul> </details> </td> <td><a href="https://github.com/carverauto/serviceradar/pull/2319/files#diff-603215d70bf28587f606811c0cc257dadec37a130a8e4fe95a4664c52727ddca">+4/-4</a>&nbsp; &nbsp; &nbsp; </td> </tr> <tr> <td> <details> <summary><strong>quickstart.md</strong><dd><code>Update quickstart guide for current architecture</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> docs/docs/quickstart.md <ul><li>Updated deployment path descriptions to use current component names<br> <li> Removed reference to importing starter dashboards<br> <li> Simplified bootstrap access section<br> <li> Updated ingest channel references to use current architecture</ul> </details> </td> <td><a href="https://github.com/carverauto/serviceradar/pull/2319/files#diff-db23839e9fa71374d53983730e318028367dff34e8c817cd1e8acfec09624fe8">+3/-5</a>&nbsp; &nbsp; &nbsp; </td> </tr> <tr> <td> <details> <summary><strong>DOCKER_QUICKSTART.md</strong><dd><code>Update Docker quickstart for current tooling and architecture</code></dd></summary> <hr> DOCKER_QUICKSTART.md <ul><li>Updated docker-compose commands to use <code>docker compose</code> (new syntax)<br> <li> Updated component references to use current naming (core-elx, web-ng, <br>agent-gateway)<br> <li> Updated web UI access URL from port 8090 to localhost via Caddy proxy<br> <li> Updated documentation reference from docker/README.md to <br>README-Docker.md</ul> </details> </td> <td><a href="https://github.com/carverauto/serviceradar/pull/2319/files#diff-d39bb63b06e41b96069fe4f289e4d28a4f205f8e953c141e6f4d9c715bbb75b3">+10/-10</a>&nbsp; </td> </tr> <tr> <td> <details> <summary><strong>README.md</strong><dd><code>Update README for current architecture and naming</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> README.md <ul><li>Updated component descriptions to use current naming (core-elx, <br>web-ng, agent-gateway)<br> <li> Updated architecture overview to reflect current data flow and <br>component topology<br> <li> Updated Docker Compose services list to match current stack<br> <li> Updated common Docker commands to use current service names</ul> </details> </td> <td><a href="https://github.com/carverauto/serviceradar/pull/2319/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5">+8/-8</a>&nbsp; &nbsp; &nbsp; </td> </tr> <tr> <td> <details> <summary><strong>README-Docker.md</strong><dd><code>Update Docker README for current service naming</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> README-Docker.md <ul><li>Updated service list to use current naming (core-elx, agent-gateway)<br> <li> Updated docker compose commands to reference current service names<br> <li> Updated password generation reference to use core-elx<br> <li> Updated service startup order documentation</ul> </details> </td> <td><a href="https://github.com/carverauto/serviceradar/pull/2319/files#diff-9fd61d24482efe68c22d8d41e2a1dcc440f39195aa56e7a050f2abe598179efd">+4/-4</a>&nbsp; &nbsp; &nbsp; </td> </tr> <tr> <td> <details> <summary><strong>service-registry-design.md</strong><dd><code>Update service registry design documentation</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> docs/docs/service-registry-design.md <ul><li>Removed reference to "onboarding-review-2025.md" document<br> <li> Changed "legacy gateway tracking code" to "gateway tracking code"<br> <li> Minor terminology cleanup in migration phase documentation</ul> </details> </td> <td><a href="https://github.com/carverauto/serviceradar/pull/2319/files#diff-eeff62de7c13c07e98f187ab6b5173585e47ab26969ddae687e69783483116fa">+2/-3</a>&nbsp; &nbsp; &nbsp; </td> </tr> <tr> <td> <details> <summary><strong>auth-configuration.md</strong><dd><code>Update authentication configuration terminology</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> docs/docs/auth-configuration.md <ul><li>Updated references from "core service" to "core-elx service"<br> <li> Changed "legacy/internal" to "internal" for auth settings description<br> <li> Updated terminology to reflect current architecture</ul> </details> </td> <td><a href="https://github.com/carverauto/serviceradar/pull/2319/files#diff-92b481e02c4edb9a178f51f2a8cb94108c7bcb1514a4629d8c67d8f20a70e852">+4/-4</a>&nbsp; &nbsp; &nbsp; </td> </tr> <tr> <td> <details> <summary><strong>custom-checkers.md</strong><dd><code>Update custom checkers documentation</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> docs/docs/custom-checkers.md <ul><li>Updated service name example from "sysmon-osx" to "sysmon"<br> <li> Removed reference to "tools/sysmonosx" directory<br> <li> Updated gateway log reference to use "agent-gateway"<br> <li> Updated core log reference to use "core-elx"</ul> </details> </td> <td><a href="https://github.com/carverauto/serviceradar/pull/2319/files#diff-4a567387a318c690616acf62339c53e481f6b652edd8de1a66894ca2cf7edafa">+4/-4</a>&nbsp; &nbsp; &nbsp; </td> </tr> <tr> <td> <details> <summary><strong>agents.md</strong><dd><code>Update agents documentation</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> docs/docs/agents.md <ul><li>Removed reference to "older clusters that only expose the legacy KV <br>service"<br> <li> Updated fallback behavior description to be more concise</ul> </details> </td> <td><a href="https://github.com/carverauto/serviceradar/pull/2319/files#diff-af8d04277f2353629065b0cc5fad3e44bd3e7c20339bd125e0812104bdbeff28">+1/-1</a>&nbsp; &nbsp; &nbsp; </td> </tr> <tr> <td> <details> <summary><strong>spiffe-identity.md</strong><dd><code>Update SPIFFE identity documentation</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> docs/docs/spiffe-identity.md <ul><li>Removed "legacy" descriptor from CN values reference<br> <li> Reformatted multi-line service list for clarity<br> <li> Updated SPIFFE mode adoption statement</ul> </details> </td> <td><a href="https://github.com/carverauto/serviceradar/pull/2319/files#diff-6a3f0bdce99eb15d1075805cb5101594398f81ad92aa4eea9b27bb7545098db1">+3/-3</a>&nbsp; &nbsp; &nbsp; </td> </tr> <tr> <td> <details> <summary><strong>spec.md</strong><dd><code>Add agent connectivity specification</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> openspec/changes/update-architecture-docs/specs/agent-connectivity/spec.md <ul><li>Added new specification for agent-initiated control plane connections<br> <li> Defined requirements for mTLS authentication and certificate <br>validation<br> <li> Specified agent hello and enrollment flow with identity verification<br> <li> Added configuration retrieval requirements from control plane</ul> </details> </td> <td><a href="https://github.com/carverauto/serviceradar/pull/2319/files#diff-8253e68f23eb774bc74e84636404921925aab5d1bd6cd19c2085cfa76ca25c12">+56/-0</a>&nbsp; &nbsp; </td> </tr> <tr> <td> <details> <summary><strong>spec.md</strong><dd><code>Add edge architecture specification</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> openspec/changes/update-architecture-docs/specs/edge-architecture/spec.md <ul><li>Added new specification for core-elx control plane responsibilities<br> <li> Defined agent-gateway ingest modes for unary and streaming payloads<br> <li> Added mTLS agent authentication requirements<br> <li> Specified workload identity and partition scope validation</ul> </details> </td> <td><a href="https://github.com/carverauto/serviceradar/pull/2319/files#diff-fb3fb88a41d321030595566566a829d12404b2d12017e68c7675c180b3c1470a">+46/-0</a>&nbsp; &nbsp; </td> </tr> <tr> <td> <details> <summary><strong>spec.md</strong><dd><code>Add agent configuration specification</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> openspec/changes/update-architecture-docs/specs/agent-configuration/spec.md <ul><li>Added new specification for remote configuration fetch via gRPC<br> <li> Defined agent startup configuration retrieval from control plane<br> <li> Specified fallback behavior and timeout handling<br> <li> Added configuration compilation by web-ng config compilers</ul> </details> </td> <td><a href="https://github.com/carverauto/serviceradar/pull/2319/files#diff-78c00fa88285549e85eedaa25455c792a0c9a6e567f2d2ab7005d03137c00b36">+23/-0</a>&nbsp; &nbsp; </td> </tr> <tr> <td> <details> <summary><strong>spec.md</strong><dd><code>Add KV configuration specification</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> openspec/changes/update-architecture-docs/specs/kv-configuration/spec.md <ul><li>Added new specification for edge components KV independence<br> <li> Defined requirements for gRPC configuration delivery to agents<br> <li> Specified filesystem configuration for collectors<br> <li> Added Docker Compose KV bootstrap requirements</ul> </details> </td> <td><a href="https://github.com/carverauto/serviceradar/pull/2319/files#diff-ac167235025a9e2c2fde6383190f9168cc7656987c80e6b8cc3f3373c023da40">+25/-0</a>&nbsp; &nbsp; </td> </tr> <tr> <td> <details> <summary><strong>tasks.md</strong><dd><code>Add architecture documentation update tasks</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> openspec/changes/update-architecture-docs/tasks.md <ul><li>Added task list for documentation updates covering architecture, <br>diagrams, and README<br> <li> Added spec delta validation tasks<br> <li> Organized tasks into documentation, spec, and validation categories</ul> </details> </td> <td><a href="https://github.com/carverauto/serviceradar/pull/2319/files#diff-e068caa8f1b2cbb81727bab0738a73a34bea206fd3a90bfb39b5ae95920a1246">+16/-0</a>&nbsp; &nbsp; </td> </tr> <tr> <td> <details> <summary><strong>proposal.md</strong><dd><code>Add architecture documentation update proposal</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary> <hr> openspec/changes/update-architecture-docs/proposal.md <ul><li>Added change proposal for updating architecture documentation<br> <li> Defined rationale for aligning docs with current core-elx and edge <br>ingestion<br> <li> Specified affected specs and documentation files<br> <li> Outlined impact on deployment guidance and component topology</ul> </details> </td> <td><a href="https://github.com/carverauto/serviceradar/pull/2319/files#diff-9b23a40fa01d70d6a4264d04a0b0ad936e7683e50baa485df638eb9c779fecf7">+16/-0</a>&nbsp; &nbsp; </td> </tr> </table></details></td></tr><tr><td><strong>Additional files</strong></td><td><details><summary>6 files</summary><table> <tr> <td><strong>onboarding-review-2025.md</strong></td> <td><a href="https://github.com/carverauto/serviceradar/pull/2319/files#diff-1728c73ae8e684d13b7b166b90cbfc5363c0794dcd63f7fa3733e1c624940e98">+0/-880</a>&nbsp; </td> </tr> <tr> <td><strong>compose-mtls-sysmonosx.md</strong></td> <td><a href="https://github.com/carverauto/serviceradar/pull/2319/files#diff-6faf517c376b3509d0b14235f1b674a825f0399cd8a20791d8caf3b6ef16525b">+0/-95</a>&nbsp; &nbsp; </td> </tr> <tr> <td><strong>sysmon-migration.md</strong></td> <td><a href="https://github.com/carverauto/serviceradar/pull/2319/files#diff-998a0d753f344731fe8bc489182618b9de5f5b131828a1beb223f64829c3c65b">+0/-305</a>&nbsp; </td> </tr> <tr> <td><strong>sysmonosx-e2e.md</strong></td> <td><a href="https://github.com/carverauto/serviceradar/pull/2319/files#diff-63786d97ec31541ba3f9dd97ce19ada9f583faa39be33880c29e491ff77e0b25">+0/-99</a>&nbsp; &nbsp; </td> </tr> <tr> <td><strong>service-registry-status.md</strong></td> <td><a href="https://github.com/carverauto/serviceradar/pull/2319/files#diff-14b25655121cc9d193e18e37912ff77cc784ac513d53ec8240b45d440bd72575">+0/-1</a>&nbsp; &nbsp; &nbsp; </td> </tr> <tr> <td><strong>spire-onboarding-plan.md</strong></td> <td><a href="https://github.com/carverauto/serviceradar/pull/2319/files#diff-05d8b663c6b9530094ceed5261a338f60f40d714c2f08230796ac3582554515e">+0/-290</a>&nbsp; </td> </tr> </table></details></td></tr></tbody></table> </details> ___
qodo-code-review[bot] commented 2026-01-15 18:46:36 +00:00 (Migrated from github.com)
Author
Owner

Imported GitHub PR comment.

Original author: @qodo-code-review[bot]
Original URL: https://github.com/carverauto/serviceradar/pull/2319#issuecomment-3756354548
Original created: 2026-01-15T18:46:36Z

PR Compliance Guide 🔍

Below is a summary of compliance checks for this PR:

Security Compliance
🟢
No security concerns identified No security vulnerabilities detected by AI analysis. Human verification advised for critical code.
Ticket Compliance
🟡
🎫 #2316
🟢 Document preferred installation methods as Kubernetes or Docker Compose.
Document that standalone installs are only supported for checkers/agents due to CNPG
requirement.
Update docs to reflect serviceradar-sync being baked into the agent and that configs are
pushed/managed via web-ng.
Scrub/remove any mention of multi-tenancy from docs/architecture docs.
🔴 Remove references to serviceradar-poller and the legacy poller model from documentation.
Update docs to reflect serviceradar-sysmon (Rust) and serviceradar-sysmon-osx (Go) being
consolidated into the agent and rewritten in Go.
Update docs to reflect collectors moving away from KV dependency and using filesystem
config.json/YAML configs.
Update `README.md` to reflect the new architecture and deployment approach.
Update docs to reflect serviceradar-core (Go) being replaced by core-elx (Elixir) and
describe its responsibilities (Horde cluster, DIRE, internal routing, status/collection
processing, ERTS RPC over mTLS).
Update docs for serviceradar-agent (Go) as the primary edge endpoint, including embedded
sync, SNMP checker, discovery/mapper, network sweep/scanner, and sysmon, and that it
pushes results to agent-gateway.
Update docs for serviceradar-agent-gateway (Elixir) to describe gRPC ingestion from agents
and forwarding to core-elx, including robust unary/streaming with chunking for large
payloads.
Update docs to reflect serviceradar-web (React/Next.js) being replaced by web-ng
(Elixir/Phoenix LiveView), including API and React-Phoenix usage for the rule editor.
Update docs to reflect that agents/checkers no longer read config from KV and instead
fetch config over gRPC via agent-gateway/core-elx, with configs compiled by web-ng.
Update architecture documentation and mermaid diagrams to reflect the new architecture.
Codebase Duplication Compliance
Codebase context is not defined

Follow the guide to enable codebase context checks.

Custom Compliance
🟢
Generic: Comprehensive Audit Trails

Objective: To create a detailed and reliable record of critical system actions for security analysis
and compliance.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Meaningful Naming and Self-Documenting Code

Objective: Ensure all identifiers clearly express their purpose and intent, making code
self-documenting

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Robust Error Handling and Edge Case Management

Objective: Ensure comprehensive error handling that provides meaningful context and graceful
degradation

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Error Handling

Objective: To prevent the leakage of sensitive system information through error messages while
providing sufficient detail for internal debugging.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Security-First Input Validation and Data Handling

Objective: Ensure all data inputs are validated, sanitized, and handled securely to prevent
vulnerabilities

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Logging Practices

Objective: To ensure logs are useful for debugging and auditing without exposing sensitive
information like PII, PHI, or cardholder data.

Status:
Password in logs: The updated docs instruct users to extract an admin password from docker compose logs
config-updater, which implies credentials are present in logs and may be exposed through
log collection/retention.

Referred Code
# Get your admin password
docker compose logs config-updater | grep "Password:"

</details>

> Learn more about managing compliance <a href='https://qodo-merge-docs.qodo.ai/tools/compliance/#configuration-options'>generic rules</a> or creating your own <a href='https://qodo-merge-docs.qodo.ai/tools/compliance/#custom-compliance'>custom rules</a>
</details></td></tr>

<tr><td align="center" colspan="2">

- [ ] Update <!-- /compliance --update_compliance=true -->

</td></tr></tbody></table>
<details><summary>Compliance status legend</summary>
🟢 - Fully Compliant<br>
🟡 - Partial Compliant<br>
🔴 - Not Compliant<br>
⚪ - Requires Further Human Verification<br>
🏷️ - Compliance label<br>
</details>
Imported GitHub PR comment. Original author: @qodo-code-review[bot] Original URL: https://github.com/carverauto/serviceradar/pull/2319#issuecomment-3756354548 Original created: 2026-01-15T18:46:36Z --- ## PR Compliance Guide 🔍 <!-- https://github.com/carverauto/serviceradar/commit/f5554d09d350abcd837ba4ce577cf4b88eaa1c17 --> Below is a summary of compliance checks for this PR:<br> <table><tbody><tr><td colspan='2'><strong>Security Compliance</strong></td></tr> <tr><td>🟢</td><td><details><summary><strong>No security concerns identified</strong></summary> No security vulnerabilities detected by AI analysis. Human verification advised for critical code. </details></td></tr> <tr><td colspan='2'><strong>Ticket Compliance</strong></td></tr> <tr><td>🟡</td> <td> <details> <summary>🎫 <a href=https://github.com/carverauto/serviceradar/issues/2316>#2316</a></summary> <table width='100%'><tbody> <tr><td rowspan=4>🟢</td> <td>Document preferred installation methods as Kubernetes or Docker Compose.</td></tr> <tr><td>Document that standalone installs are only supported for checkers/agents due to CNPG <br>requirement.</td></tr> <tr><td>Update docs to reflect <code>serviceradar-sync</code> being baked into the agent and that configs are <br>pushed/managed via <code>web-ng</code>.</td></tr> <tr><td>Scrub/remove any mention of multi-tenancy from docs/architecture docs.</td></tr> <tr><td rowspan=4>🔴</td> <td>Remove references to <code>serviceradar-poller</code> and the legacy poller model from documentation.</td></tr> <tr><td>Update docs to reflect <code>serviceradar-sysmon</code> (Rust) and <code>serviceradar-sysmon-osx</code> (Go) being <br>consolidated into the agent and rewritten in Go.</td></tr> <tr><td>Update docs to reflect collectors moving away from KV dependency and using filesystem <br><code>config.json</code>/YAML configs.</td></tr> <tr><td>Update `README.md` to reflect the new architecture and deployment approach.</td></tr> <tr><td rowspan=6>⚪</td> <td>Update docs to reflect <code>serviceradar-core</code> (Go) being replaced by <code>core-elx</code> (Elixir) and <br>describe its responsibilities (Horde cluster, DIRE, internal routing, status/collection <br>processing, ERTS RPC over mTLS).</td></tr> <tr><td>Update docs for <code>serviceradar-agent</code> (Go) as the primary edge endpoint, including embedded <br>sync, SNMP checker, discovery/mapper, network sweep/scanner, and sysmon, and that it <br>pushes results to <code>agent-gateway</code>.</td></tr> <tr><td>Update docs for <code>serviceradar-agent-gateway</code> (Elixir) to describe gRPC ingestion from agents <br>and forwarding to <code>core-elx</code>, including robust unary/streaming with chunking for large <br>payloads.</td></tr> <tr><td>Update docs to reflect <code>serviceradar-web</code> (React/Next.js) being replaced by <code>web-ng</code> <br>(Elixir/Phoenix LiveView), including API and React-Phoenix usage for the rule editor.</td></tr> <tr><td>Update docs to reflect that agents/checkers no longer read config from KV and instead <br>fetch config over gRPC via <code>agent-gateway</code>/<code>core-elx</code>, with configs compiled by <code>web-ng</code>.</td></tr> <tr><td>Update architecture documentation and mermaid diagrams to reflect the new architecture.</td></tr> </tbody></table> </details> </td></tr> <tr><td colspan='2'><strong>Codebase Duplication Compliance</strong></td></tr> <tr><td>⚪</td><td><details><summary><strong>Codebase context is not defined </strong></summary> Follow the <a href='https://qodo-merge-docs.qodo.ai/core-abilities/rag_context_enrichment/'>guide</a> to enable codebase context checks. </details></td></tr> <tr><td colspan='2'><strong>Custom Compliance</strong></td></tr> <tr><td rowspan=5>🟢</td><td> <details><summary><strong>Generic: Comprehensive Audit Trails</strong></summary><br> **Objective:** To create a detailed and reliable record of critical system actions for security analysis <br>and compliance.<br> **Status:** Passed<br> > Learn more about managing compliance <a href='https://qodo-merge-docs.qodo.ai/tools/compliance/#configuration-options'>generic rules</a> or creating your own <a href='https://qodo-merge-docs.qodo.ai/tools/compliance/#custom-compliance'>custom rules</a> </details></td></tr> <tr><td> <details><summary><strong>Generic: Meaningful Naming and Self-Documenting Code</strong></summary><br> **Objective:** Ensure all identifiers clearly express their purpose and intent, making code <br>self-documenting<br> **Status:** Passed<br> > Learn more about managing compliance <a href='https://qodo-merge-docs.qodo.ai/tools/compliance/#configuration-options'>generic rules</a> or creating your own <a href='https://qodo-merge-docs.qodo.ai/tools/compliance/#custom-compliance'>custom rules</a> </details></td></tr> <tr><td> <details><summary><strong>Generic: Robust Error Handling and Edge Case Management</strong></summary><br> **Objective:** Ensure comprehensive error handling that provides meaningful context and graceful <br>degradation<br> **Status:** Passed<br> > Learn more about managing compliance <a href='https://qodo-merge-docs.qodo.ai/tools/compliance/#configuration-options'>generic rules</a> or creating your own <a href='https://qodo-merge-docs.qodo.ai/tools/compliance/#custom-compliance'>custom rules</a> </details></td></tr> <tr><td> <details><summary><strong>Generic: Secure Error Handling</strong></summary><br> **Objective:** To prevent the leakage of sensitive system information through error messages while <br>providing sufficient detail for internal debugging.<br> **Status:** Passed<br> > Learn more about managing compliance <a href='https://qodo-merge-docs.qodo.ai/tools/compliance/#configuration-options'>generic rules</a> or creating your own <a href='https://qodo-merge-docs.qodo.ai/tools/compliance/#custom-compliance'>custom rules</a> </details></td></tr> <tr><td> <details><summary><strong>Generic: Security-First Input Validation and Data Handling</strong></summary><br> **Objective:** Ensure all data inputs are validated, sanitized, and handled securely to prevent <br>vulnerabilities<br> **Status:** Passed<br> > Learn more about managing compliance <a href='https://qodo-merge-docs.qodo.ai/tools/compliance/#configuration-options'>generic rules</a> or creating your own <a href='https://qodo-merge-docs.qodo.ai/tools/compliance/#custom-compliance'>custom rules</a> </details></td></tr> <tr><td rowspan=1>⚪</td> <td><details> <summary><strong>Generic: Secure Logging Practices</strong></summary><br> **Objective:** To ensure logs are useful for debugging and auditing without exposing sensitive <br>information like PII, PHI, or cardholder data.<br> **Status:** <br><a href='https://github.com/carverauto/serviceradar/pull/2319/files#diff-8604269dffb3ce4133e48cab374ca8e97745d0efbdef67cad792aeb5945fe5ecR19-R21'><strong>Password in logs</strong></a>: The updated docs instruct users to extract an admin password from <code>docker compose logs </code><br><code>config-updater</code>, which implies credentials are present in logs and may be exposed through <br>log collection/retention.<br> <details open><summary>Referred Code</summary> ```markdown # Get your admin password docker compose logs config-updater | grep "Password:" ``` ``` </details> > Learn more about managing compliance <a href='https://qodo-merge-docs.qodo.ai/tools/compliance/#configuration-options'>generic rules</a> or creating your own <a href='https://qodo-merge-docs.qodo.ai/tools/compliance/#custom-compliance'>custom rules</a> </details></td></tr> <tr><td align="center" colspan="2"> - [ ] Update <!-- /compliance --update_compliance=true --> </td></tr></tbody></table> <details><summary>Compliance status legend</summary> 🟢 - Fully Compliant<br> 🟡 - Partial Compliant<br> 🔴 - Not Compliant<br> ⚪ - Requires Further Human Verification<br> 🏷️ - Compliance label<br> </details>
qodo-code-review[bot] commented 2026-01-15 18:47:41 +00:00 (Migrated from github.com)
Author
Owner

Imported GitHub PR comment.

Original author: @qodo-code-review[bot]
Original URL: https://github.com/carverauto/serviceradar/pull/2319#issuecomment-3756358097
Original created: 2026-01-15T18:47:41Z

PR Code Suggestions

Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
General
Pull Docker images before starting

Add docker compose pull before docker compose up -d in the Docker Compose
instructions to ensure the latest images are used.

docs/docs/installation.md [12-23]

 ### Docker Compose
 
 ```bash
 git clone https://github.com/carverauto/serviceradar.git
 cd serviceradar
 cp .env.example .env
 
+docker compose pull
 docker compose up -d
 
 # Get your admin password
 docker compose logs config-updater | grep "Password:"


- [ ] **Apply / Chat** <!-- /improve --apply_suggestion=0 -->


<details><summary>Suggestion importance[1-10]: 5</summary>

__

Why: The suggestion improves the robustness of the setup instructions by adding `docker compose pull`, which is a good practice and makes the instructions consistent with `docker-setup.md`.

</details></details></td><td align=center>Low

</td></tr><tr><td>



<details><summary>Remove nonexistent sidebar doc entry</summary>

___

**Remove the sidebar entry for <code>edge-agent-onboarding</code> as the corresponding document <br>does not exist, preventing a broken link.**

[docs/sidebars.ts [35]](https://github.com/carverauto/serviceradar/pull/2319/files#diff-6e908f6e4016ad389cfb93ce7a47df677247c0f9d17c3589710592e8cf9527e0R35-R35)

```diff
-{type: 'doc', id: 'edge-agent-onboarding', label: 'Edge Agent Onboarding'},
+# (Remove this line entirely; do not include an entry for 'edge-agent-onboarding')

[To ensure code accuracy, apply this suggestion manually]

Suggestion importance[1-10]: 5

__

Why: The suggestion correctly identifies a sidebar entry that likely points to a non-existent document, thus preventing a broken link and improving the documentation's quality.

Low
Use hyphens in doc id

In the sidebar configuration, change the doc ID from identity_drift_monitoring
to identity-drift-monitoring to align with file naming conventions and prevent a
broken link.

docs/sidebars.ts [96]

-{type: 'doc', id: 'identity_drift_monitoring', label: 'Identity Drift Monitoring'},
+{type: 'doc', id: 'identity-drift-monitoring', label: 'Identity Drift Monitoring'},
  • Apply / Chat
Suggestion importance[1-10]: 5

__

Why: The suggestion correctly points out an inconsistent ID format (identity_drift_monitoring) that deviates from the established hyphenated convention in the file, which would likely cause a broken link.

Low
  • Update
Imported GitHub PR comment. Original author: @qodo-code-review[bot] Original URL: https://github.com/carverauto/serviceradar/pull/2319#issuecomment-3756358097 Original created: 2026-01-15T18:47:41Z --- ## PR Code Suggestions ✨ <!-- f5554d0 --> Explore these optional code suggestions: <table><thead><tr><td><strong>Category</strong></td><td align=left><strong>Suggestion&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </strong></td><td align=center><strong>Impact</strong></td></tr><tbody><tr><td rowspan=3>General</td> <td> <details><summary>Pull Docker images before starting</summary> ___ **Add <code>docker compose pull</code> before <code>docker compose up -d</code> in the Docker Compose <br>instructions to ensure the latest images are used.** [docs/docs/installation.md [12-23]](https://github.com/carverauto/serviceradar/pull/2319/files#diff-19fd876fb56da88a1becb80817b52db1a40e8491641d547913b93bb7ecda3d22R12-R23) ```diff ### Docker Compose ```bash git clone https://github.com/carverauto/serviceradar.git cd serviceradar cp .env.example .env +docker compose pull docker compose up -d # Get your admin password docker compose logs config-updater | grep "Password:" ``` ``` - [ ] **Apply / Chat** <!-- /improve --apply_suggestion=0 --> <details><summary>Suggestion importance[1-10]: 5</summary> __ Why: The suggestion improves the robustness of the setup instructions by adding `docker compose pull`, which is a good practice and makes the instructions consistent with `docker-setup.md`. </details></details></td><td align=center>Low </td></tr><tr><td> <details><summary>Remove nonexistent sidebar doc entry</summary> ___ **Remove the sidebar entry for <code>edge-agent-onboarding</code> as the corresponding document <br>does not exist, preventing a broken link.** [docs/sidebars.ts [35]](https://github.com/carverauto/serviceradar/pull/2319/files#diff-6e908f6e4016ad389cfb93ce7a47df677247c0f9d17c3589710592e8cf9527e0R35-R35) ```diff -{type: 'doc', id: 'edge-agent-onboarding', label: 'Edge Agent Onboarding'}, +# (Remove this line entirely; do not include an entry for 'edge-agent-onboarding') ``` `[To ensure code accuracy, apply this suggestion manually]` <details><summary>Suggestion importance[1-10]: 5</summary> __ Why: The suggestion correctly identifies a sidebar entry that likely points to a non-existent document, thus preventing a broken link and improving the documentation's quality. </details></details></td><td align=center>Low </td></tr><tr><td> <details><summary>Use hyphens in doc id</summary> ___ **In the sidebar configuration, change the doc ID from <code>identity_drift_monitoring</code> <br>to <code>identity-drift-monitoring</code> to align with file naming conventions and prevent a <br>broken link.** [docs/sidebars.ts [96]](https://github.com/carverauto/serviceradar/pull/2319/files#diff-6e908f6e4016ad389cfb93ce7a47df677247c0f9d17c3589710592e8cf9527e0R96-R96) ```diff -{type: 'doc', id: 'identity_drift_monitoring', label: 'Identity Drift Monitoring'}, +{type: 'doc', id: 'identity-drift-monitoring', label: 'Identity Drift Monitoring'}, ``` - [ ] **Apply / Chat** <!-- /improve --apply_suggestion=2 --> <details><summary>Suggestion importance[1-10]: 5</summary> __ Why: The suggestion correctly points out an inconsistent ID format (`identity_drift_monitoring`) that deviates from the established hyphenated convention in the file, which would likely cause a broken link. </details></details></td><td align=center>Low </td></tr> <tr><td align="center" colspan="2"> - [ ] Update <!-- /improve_multi --more_suggestions=true --> </td><td></td></tr></tbody></table>
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
carverauto/serviceradar!2680
No description provided.