Modules Development
Note
This document describes how to develop own Modules
Overview
When choosing architecture for Modules, it was important to address the following concerns:
Unpredictable environments can require different runtime constraints
It must be as simple as possible to extend SysInspect with own custom modules, enabling unequal programming skill levels
There are two kind of purposes to call the modules:
System integration assertion
Applying a system state
One can use either of these purposes or mix them together.
Native Modules
Modules for SysInspect are essentially a standalone programs on their own, communicating via protocol in JSON format. Data exchange channel is done via STDIN/STDOUT. One can develop them in any language or scripts, as long as a Module is supporting defined communication protocol. This approach enables everyone to be as flexible and free as possible, adapting to any unpredictable environment and allowing to choose any technology one might like to.
Python support is provided through runtime modules. Python code is no longer treated as a native module type under the main shared modules tree.