Architecture Overview
This article provides an overview of the MaintainX Ignition Module's architecture, focusing on its security features and reliability.
Design Principles​
Non-Intrusive Design​
The MaintainX Ignition Module is designed to minimize its impact on your Ignition Gateway:
- Lightweight operation: The module uses minimal CPU and memory resources.
- Asynchronous processing: To avoid blocking your Gateway operations, the module processes tag value changes asynchronously.
- Independent thread pool: The module runs in its own thread pool, isolated from critical Gateway functions.
- Graceful error handling: If the module encounters an error, it doesn't crash your Gateway. Instead, it logs the error and attempts to recover.
Efficient Resource Usage​
The module implements several mechanisms to ensure it doesn't overwhelm your Gateway or network:
- Tag limit: To prevent excessive resource consumption, the module limits tags to a maximum of 5,000.
- Smart filtering: To reduce unnecessary updates, the module applies time-based hysteresis and rate limiting.
- Batch processing: To reduce network overhead, the module groups multiple tag updates together. For more information see the Batch Service Architecture section.
Security​
Read-Only Access​
The MaintainX Ignition Module operates in read-only mode. It subscribes to tag value changes but can't write back to any tags in your Ignition Gateway.
Secure Outbound Communication​
The module communicates exclusively through secure, outbound HTTPS connections. No inbound connections or open ports are required on your network. All communication to MaintainX's cloud infrastructure is initiated from within your network, which makes it easier to configure with your existing firewall rules.
Network Requirements:
| Parameter | Value | 
|---|---|
| Protocol | HTTPS (TLS) | 
| Direction | Outbound only | 
| Destination URL | https://agent.maintainx.com/ | 
| Port | 443 | 
Secure Token Storage​
The authentication token used to connect to MaintainX is encrypted and stored securely in the internal Ignition database.
Minimal Access Required​
The module only accesses the following:
- Your selected tag paths (read-only)
- Tag value updates (by subscribing to changes)
- Outbound network endpoints to securely transmit data to MaintainX
Architectural Patterns​
The module's architecture consists of three core services that work together to reliably and efficiently stream data from your Ignition Gateway to MaintainX.
Tag Subscription Service​
The tag subscription service architecture ensures that each monitored tag has its own dedicated listener, which provides isolation and reliability. If one tag encounters an issue, it doesn't affect the monitoring of other tags.

Dedicated Tag Value Changed​
The module's filtering strategy reduces the volume of data transmitted while ensuring important changes are captured. For details, see the Tag Filtering section.

Batch Service​
The batch service approach balances timeliness with efficiency. It reduces the number of API calls while ensuring data reaches MaintainX in a timely manner.

Redundancy Support​
The module fully supports Ignition Gateway Redundancy configurations. For more information, see Ignition Module - Redundancy.