Skip to content

Dev engine startup is fragile when mounted scanner dependencies are missing #113

@0sm0s1z

Description

@0sm0s1z

Summary

In dev mode, sirius-engine can enter restart/failed-start loops when optional scanner dependencies are not present on the host mounts. This keeps the engine unhealthy and can indirectly block or delay downstream initialization.

Runtime evidence

  • Engine repeatedly failed scanner startup with:
    • internal/scan/pingpp_adapter.go: reading /ping++/go.mod: no such file or directory
  • Container logs then showed repeated restart/shutdown cycles:
    • Scanner failed to start or crashed
    • Shutting down services...
  • Health checks failed while scanner service was not up:
    • /dev/tcp/127.0.0.1/50051 connection refused

Why this is a bug

The dev startup path assumes mounted dependency repos (notably ping++) are always present and buildable. In clean local environments, those mounts may be empty, causing scanner startup failure and unstable engine boot.

Expected behavior

Dev startup should be resilient when optional local repos are missing:

  • either auto-bootstrap required repos,
  • or degrade gracefully with a clear warning while core engine services continue healthy.

Suggested fix directions

  • Add preflight checks for required mounted repos before scanner start.
  • If missing, emit actionable warning and skip scanner build instead of crashing the engine process group.
  • Document required minor-project dependencies in dev bootstrap docs/scripts.
  • Consider moving scanner dependency bootstrap into deterministic container build/dev init step.

Repro (observed)

  1. Start dev stack without minor-projects/ping++ populated.
  2. Observe engine log error opening /ping++/go.mod.
  3. Observe restart loop and unhealthy engine state.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions