Skip to content

Architecture

bmwl edited this page Jul 13, 2026 · 1 revision

Architecture

This is a placeholder overview of the architecture of the module

High-Level Flow

flowchart TB
    BP[Business Process] --> SM[State Monitor]
    SM --> DB[(proactiveha_state)]
    DB --> QW[Queue Worker]
    QW --> VC[VcenterClient]
    VC --> VS[vCenter]
Loading

Components

  • State Monitor — reads BP node states
  • State Translator — maps Icinga states to vSphere states
  • Queue Worker — pushes pending states
  • VcenterClient — handles all vSphere SOAP operations

Custom SOAP Handling

This was the trickiest part of the whole module.

PHP SoapClient cannot generate the exact XML vCenter expects for PostHealthUpdates. The module overrides SoapClient::__doRequest() to rewrite the SOAP body.

If any further adjustments are needed, I suggest intercepting the traffic to vCenter with something like fiddler and using the actual requests as a reference.

Clone this wiki locally