SG SealGrid Athena Docs

Agent Modules

Beyond the built-in collectors, the Hermes agent supports custom data-collection modules so you can extend inventory with your own checks. A module can be a Python script, a PowerShell script, or an EXE — anything that emits JSON.

Overview#

The agent loads modules with hot-reload configuration, so you can add or change a module without rebuilding the agent. Two config keys control where modules and their working data live:

Config keyDefaultPurpose
Agent:ModulesPathModulesDirectory the agent scans for custom modules
Agent:DataPathDataWorking data directory available to modules

A module is a Python, PowerShell, or EXE program that prints a JSON object to stdout. The agent runs it on the inventory cycle and ships the output back to the server alongside the built-in inventory.

How module data flows#

Custom module output is stored server-side in the inventory record's ModuleDataJson column. In the console it is surfaced as a tab on the device page, shown alongside the built-in inventory modules so your custom checks sit next to the standard collectors for that device.

Authoring a module#

The general shape is straightforward: place an executable script in the agent's modules path that writes a single JSON object to stdout. Keep the runtime short — the module runs on every inventory cycle — and exit with a non-zero status code to signal failure.

A minimal PowerShell module that reports pending-reboot state:

@{ pendingReboot = $true } | ConvertTo-Json

Drop that script into the directory named by Agent:ModulesPath; the agent picks it up on the next cycle and its JSON lands in ModuleDataJson for the device.

A full, formal module-authoring reference — manifest schema, scheduling, and signing — is still being documented. Today, custom modules follow the drop-in script shape described above. This page describes what exists now; expect the authoring surface to be formalized as it stabilizes.

Built-in collectors#

The standard inventory modules — os, hardware, software, services, updates, features, network, storage, memory, processors, metrics, and more — are catalogued on the Built-in Collectors page. Custom modules appear alongside them on the device page.