Chore/fix docker compose stack #2684

Merged
mfreeman451 merged 6 commits from refs/pull/2684/head into staging 2026-01-17 23:47:03 +00:00
mfreeman451 commented 2026-01-17 22:37:19 +00:00 (Migrated from github.com)
Owner

Imported from GitHub pull request.

Original GitHub pull request: #2325
Original author: @mfreeman451
Original URL: https://github.com/carverauto/serviceradar/pull/2325
Original created: 2026-01-17T22:37:19Z
Original updated: 2026-01-17T23:47:05Z
Original head: carverauto/serviceradar:chore/fix-docker-compose-stack
Original base: staging
Original merged: 2026-01-17T23:47:03Z 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

Enhancement, Bug fix


Description

  • Fix distributed Erlang clustering race conditions by adding sequential startup dependencies

  • Correct JetStream subject configuration and switch zen to file-based config

  • Add missing health checks to db-event-writer and zen services

  • Remove docker-compose version declaration and update specification documentation


Diagram Walkthrough

flowchart LR
  A["Sequential Startup<br/>Dependencies"] -->|"core-elx healthy"| B["web-ng &<br/>agent-gateway"]
  C["JetStream Subject<br/>Fix"] -->|"Remove wildcards"| D["zen Service<br/>Stable"]
  E["Add Health<br/>Checks"] -->|"Port monitoring"| F["db-event-writer &<br/>zen Healthy"]
  B --> G["Full Stack<br/>Healthy"]
  D --> G
  F --> G

File Walkthrough

Relevant files
Configuration changes
1 files
docker-compose.yml
Add clustering dependencies and health checks                       
+17/-10 
Bug fix
1 files
zen.docker.json
Fix JetStream subjects and switch to file config                 
+5/-5     
Documentation
5 files
tasks.md
Mark CNPG isolation tests as completed                                     
+16/-10 
design.md
Document clustering and JetStream fixes in detail               
+121/-30
proposal.md
Update proposal with root causes and solutions                     
+62/-11 
tasks.md
Mark all tasks completed with results summary                       
+53/-22 
spec.md
Add database-level account isolation requirements               
+63/-7   
Additional files
4 files
design.md [link]   
migration-guide.md [link]   
proposal.md [link]   
spec.md [link]   

Imported from GitHub pull request. Original GitHub pull request: #2325 Original author: @mfreeman451 Original URL: https://github.com/carverauto/serviceradar/pull/2325 Original created: 2026-01-17T22:37:19Z Original updated: 2026-01-17T23:47:05Z Original head: carverauto/serviceradar:chore/fix-docker-compose-stack Original base: staging Original merged: 2026-01-17T23:47:03Z 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** Enhancement, Bug fix ___ ### **Description** - Fix distributed Erlang clustering race conditions by adding sequential startup dependencies - Correct JetStream subject configuration and switch zen to file-based config - Add missing health checks to db-event-writer and zen services - Remove docker-compose version declaration and update specification documentation ___ ### Diagram Walkthrough ```mermaid flowchart LR A["Sequential Startup<br/>Dependencies"] -->|"core-elx healthy"| B["web-ng &<br/>agent-gateway"] C["JetStream Subject<br/>Fix"] -->|"Remove wildcards"| D["zen Service<br/>Stable"] E["Add Health<br/>Checks"] -->|"Port monitoring"| F["db-event-writer &<br/>zen Healthy"] B --> G["Full Stack<br/>Healthy"] D --> G F --> G ``` <details><summary><h3>File Walkthrough</h3></summary> <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Configuration changes</strong></td><td><details><summary>1 files</summary><table> <tr> <td><strong>docker-compose.yml</strong><dd><code>Add clustering dependencies and health checks</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td> <td><a href="https://github.com/carverauto/serviceradar/pull/2325/files#diff-e45e45baeda1c1e73482975a664062aa56f20c03dd9d64a827aba57775bed0d3">+17/-10</a>&nbsp; </td> </tr> </table></details></td></tr><tr><td><strong>Bug fix</strong></td><td><details><summary>1 files</summary><table> <tr> <td><strong>zen.docker.json</strong><dd><code>Fix JetStream subjects and switch to file config</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td> <td><a href="https://github.com/carverauto/serviceradar/pull/2325/files#diff-e060a3164cdc2746e0d9ad000fcf43c4bcdb05f4a41c586d7220e2ff2a7df01d">+5/-5</a>&nbsp; &nbsp; &nbsp; </td> </tr> </table></details></td></tr><tr><td><strong>Documentation</strong></td><td><details><summary>5 files</summary><table> <tr> <td><strong>tasks.md</strong><dd><code>Mark CNPG isolation tests as completed</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td> <td><a href="https://github.com/carverauto/serviceradar/pull/2325/files#diff-ba638dfc20030fa1bc889c416a73b95e74ee2ec8aebed16375bb6e5aaa38a66e">+16/-10</a>&nbsp; </td> </tr> <tr> <td><strong>design.md</strong><dd><code>Document clustering and JetStream fixes in detail</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td> <td><a href="https://github.com/carverauto/serviceradar/pull/2325/files#diff-020ff53d12ea6185b9dab73cd206cb985e261d4dd93811d3ffc697db32399401">+121/-30</a></td> </tr> <tr> <td><strong>proposal.md</strong><dd><code>Update proposal with root causes and solutions</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td> <td><a href="https://github.com/carverauto/serviceradar/pull/2325/files#diff-1060c826989381193044774c23249af7c08671a5acea6d5f2c6b80ec5b8200bb">+62/-11</a>&nbsp; </td> </tr> <tr> <td><strong>tasks.md</strong><dd><code>Mark all tasks completed with results summary</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td> <td><a href="https://github.com/carverauto/serviceradar/pull/2325/files#diff-1fd30648dc5b0fdadefd5c463742192e17a8b07c703b732e3bd457f933ac5c27">+53/-22</a>&nbsp; </td> </tr> <tr> <td><strong>spec.md</strong><dd><code>Add database-level account isolation requirements</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td> <td><a href="https://github.com/carverauto/serviceradar/pull/2325/files#diff-663dcf929f0c246a3fd6ba733c4ed3a8bbe36e479b94320a20ea8d770490c3c5">+63/-7</a>&nbsp; &nbsp; </td> </tr> </table></details></td></tr><tr><td><strong>Additional files</strong></td><td><details><summary>4 files</summary><table> <tr> <td><strong>design.md</strong></td> <td><a href="https://github.com/carverauto/serviceradar/pull/2325/files#diff-ace28972db4b74900cb8b93696490e012f9ddae0cced09de6cb401d4e4409d9a">[link]</a>&nbsp; &nbsp; </td> </tr> <tr> <td><strong>migration-guide.md</strong></td> <td><a href="https://github.com/carverauto/serviceradar/pull/2325/files#diff-7dd63b54e7c2a1f85c36fc775f900024a35e4e999d55b9774013a4b31b0731f6">[link]</a>&nbsp; &nbsp; </td> </tr> <tr> <td><strong>proposal.md</strong></td> <td><a href="https://github.com/carverauto/serviceradar/pull/2325/files#diff-59873acf6887c18775ca9c308dc8ad442311e5d752e4ad61fad7769a42c2b74b">[link]</a>&nbsp; &nbsp; </td> </tr> <tr> <td><strong>spec.md</strong></td> <td><a href="https://github.com/carverauto/serviceradar/pull/2325/files#diff-2204b5ca63a9db136b3ff522dd6b0946fb271e283d27cb4188c73eeb9f3d2131">[link]</a>&nbsp; &nbsp; </td> </tr> </table></details></td></tr></tbody></table> </details> ___
qodo-code-review[bot] commented 2026-01-17 22:37:52 +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/2325#issuecomment-3764420184
Original created: 2026-01-17T22:37:52Z

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
🎫 No ticket provided
  • Create ticket/issue
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: Secure Logging Practices

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

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

  • Update
Compliance status legend 🟢 - Fully Compliant
🟡 - Partial Compliant
🔴 - Not Compliant
- Requires Further Human Verification
🏷️ - Compliance label
Imported GitHub PR comment. Original author: @qodo-code-review[bot] Original URL: https://github.com/carverauto/serviceradar/pull/2325#issuecomment-3764420184 Original created: 2026-01-17T22:37:52Z --- ## PR Compliance Guide 🔍 <!-- https://github.com/carverauto/serviceradar/commit/54835b51a70584e14011b70a1a2101baee12a010 --> 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>🎫 <strong>No ticket provided </strong></summary> - [ ] Create ticket/issue <!-- /create_ticket --create_ticket=true --> </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=6>🟢</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: 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:** 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 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-17 22:39:11 +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/2325#issuecomment-3764421043
Original created: 2026-01-17T22:39:11Z

PR Code Suggestions

No code suggestions found for the PR.

Imported GitHub PR comment. Original author: @qodo-code-review[bot] Original URL: https://github.com/carverauto/serviceradar/pull/2325#issuecomment-3764421043 Original created: 2026-01-17T22:39:11Z --- ## PR Code Suggestions ✨ No code suggestions found for the PR.
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!2684
No description provided.