Overview
Adapters are executing pipelines and pipeline consists of nodes. There are nodes that are common for all adapters and there are nodes that are specific for each adapter. For example the Modbus adapter comes with Modbus nodes, the OPC UA adapter comes with OPC UA nodes, etc.
We distinguish between two types of adapters: Edge Adapters and Mesh Adapters. Edge Adapters are designed to operate locally, close to the data sources or within the same local network. This proximity allows for rapid data exchange, operation also in case no connection to OctoMesh's central services and reduced latency, making Edge Adapters ideal for scenarios where immediate data processing and response are critical. They are typically deployed on-premises, in edge computing environments, or directly on devices that collect or generate data. By processing data locally, Edge Adapters also help in maintaining data privacy and security by minimizing the exposure of sensitive information to external networks.
Mesh Adapters, in contrast, are designed to run in centralized locations such as cloud environments or centralized data centers. These adapters handle tasks that are suitable for centralization, such as aggregating data from multiple Edge Adapters, performing large-scale data processing, and managing data storage and distribution at a higher level. Mesh Adapters allow for the scalability and robustness needed in large-scale deployments, supporting extensive data operations and providing a global view of the data mesh.
Every adapter is also represented in OctoMesh's Asset Repository. This allows to manage the adapter's configuration and to deploy it to the desired environment. The Asset Repository also provides an overview of all available adapters and their status.
State fields of Adapters
Adapters contain different state fields that provide information about the adapter's status. The following state fields are available:
DeploymentState
The deployment status of the adapter if the adapter is managed by a Pool of an OctoMesh Operator. Possible values are Undeployed
, Pending
, Deployed
, Error
.
Undeployed
: The adapter is not manged by a Pool, not deployed or the deployment was removed.Pending
: The adapter is in the process of being deployed.Deployed
: The adapter is deployed and running.Error
: An error occurred during deployment. This may happen if, for example, the docker image or tag is invalid.
CommunicationState
The communication status of the adapter. Possible values are Unregistered
, Online
, Offline
.
Unregistered
: The adapter never registered to the OctoMesh platform.Online
: The adapter is registered and online.Offline
: The adapter is registered but offline.
There is a field CommunicationStateTimestamp
that shows the timestamp of the last communication state change.
ConfigurationState
The configuration status of the adapter. Possible values are Unconfigured
, Pending
, Configured
, Error
.
Unconfigured
: The adapter is not configured.Pending
: The adapter is in the process of being configured.Configured
: The adapter is configured.Error
: An error occurred during configuration.
The configuration of an adapter includes the configuration of the adapter itself (field Configuration
) and the configuration of the adapter's pipelines.
Adapters in Admin Panel
Adapters can be managed in the Admin Panel under the Communication/Adapters
tab. The overview provides information about the adapter's status and allows to perform operations on the adapter.
Operations
The following operations can be performed on an adapter:
- Edit: Edit the adapter's configuration.
- Deploy adapter configuration: Deploy the adapter's configuration (field
Configuration
and pipeline configurations). - Delete: Delete the adapter's configuration and remove the adapter from the Asset Repository.
- Export: Export the adapter runtime entity as a ZIP file.
- Import: Import an adapter runtime entity from a ZIP, YAML or JSON file.
Edit View of an Adapter
The Edit view of an adapter allows to edit the adapter's configuration. This includes the name, an optional description, the adapter type, the communication state and the last update timestamp of the communication state.
Deployment
For adapters that are managed by a Pool, the Edit view also shows the Pool's name. The Pool's name is a link that navigates to the Pool's Edit view. Adapters that are managed by a pool need to define the docker image name and tag. The docker image name and tag are used to deploy the adapter to the desired environment.
Directly in the Edit view, the adapter can be deployed, undeployed or the deployment can be updated. The field DeploymentState
shows the current deployment status of the adapter. On top of the Edit view, there is a refresh button that updates the adapter's status.
Configuration
The configuration of an adapter consists of a field Configuration
and the pipeline definition of associated pipelines.
The field Configuration
contains the adapter's configuration. The configuration is a JSON object that is specific to the adapter type. The configuration can be edited directly in the Edit view.
The pipeline definition of associated pipelines is shown in the Pipelines
section.
Configuration can be updated directly in the Edit view when the adapter is Online. In case of an invalid configuration, the adapter's state changes to Error
and shows an error message in field Configuration status message
.