net.reactive-graph.io
This repository contains plugins for the Reactive Graph that allows to interoperate with other systems.
Reactive Graph is a reactive runtime based on a graph database, empowering everyone to build reliable and efficient software.
List of Plugins
Protocol | Description | Technology |
---|---|---|
HTTP + JSON-RPC | Send HTTP requests and get HTTP responses | https://github.com/reactive-graph/plugins-core/tree/main/plugins/http |
Git | Clone and modify git repositories | https://github.com/reactive-graph/plugins-core/tree/main/plugins/git |
Planned Plugins
Protocol | Description | Status | Technology |
---|---|---|---|
GraphQL | Reactive Graph acts as client (send queries, send mutations, subscribe subscriptions) | Not implemented | https://docs.rs/gql_client/latest/gql_client/ |
MQTT | Reactive Graph acts as client (subscribing queues, send messages) | Not implemented | https://github.com/bytebeamio/rumqtt |
AMQP | Reactive Graph acts as client (subscribing queues, send messages) | Not implemented | https://github.com/amqp-rs/lapin |
Telegraf | Reactive Graph produces metrics | Not implemented | https://github.com/maxmindlin/telegraf-rust |
Plugin HTTP
This plugin provides a reactive http client integration. Using entities of type http
requests via HTTP can be made.
With this plugin it's possible to integrate external services into your home automation.
Type System

Entity Types
Name | Property | Data Type | Socket Type |
---|---|---|---|
Http | url | string | input |
method | string | input | |
request_headers | object | input | |
payload | object | input | |
response_headers | object | output | |
result | object | output | |
status | number | output | |
JsonRpc | url | string | input |
json_rpc_version | string | input | |
method | string | none | |
params | object | input | |
result | object | output | |
error | object | output |
Entity Behaviours
Name | Description |
---|---|
Http | Sends a HTTP request with the given HTTP method to the given URL entity using the given headers and payload. The trigger is the property payload even if there is no payload. |
Platform Compatibility
Platform | Compatibility |
---|---|
Linux | ✓ |
MacOS | ✓ |
Windows | ✓ |
Plugin Git
This plugin provides git functionality. You can clone a repository, fetch, pull and fast-forward.
Component
Property | Component | DataType | SocketType | Description |
---|---|---|---|---|
name | base__named | String | none | The name. |
description | base__describable | String | none | The description. |
url | http__url | String | input | The remote url. |
file | file_file | String | input | The local path. |
branch | git__git | String | input | The git branch name. Executes a git checkout on change. |
remote_name | git__git | String | input | The name of the remote (default: origin ). |
remote_branch | git__git | String | input | The name of the remote branch |
trigger | git__git | Bool | input | Clone or pull |
fetch | git__git | Bool | input | Fetch |
fast_forward | git__git | Bool | input | Fast-forward |
push | git__git | Bool | input | Pushes to the given remote (by default origin) |
merge_from | git__git | String | input | Merges the given branch into the current branch |
Platform Compatibility
Platform | Compatibility |
---|---|
Linux | ✓ |
MacOS | ✓ |
Windows | ✓ |
Credits
This plugin integrates with https://crates.io/crates/git2
MIT License
Copyright (c) 2011-2024 Andreas Schaeffer, the Reactive Graph Contributors and the Inexor Collective.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.