Data diode replication service
Allows to replicate nodes via uni-directional network. The configuration is similar to Replication service with the following differences:
Incoming API calls can not be enabled.
Only PSRT - industrial Pub/Sub for WAN is supported as the pub/sub server. Requires the server to accept UDP publish requests.
See also: Uni-directional networks (Data diodes).
Setup
Use the template EVA_DIR/share/svc-tpl/svc-tpl-replication-uni.yml:
# EVA ICS unidirectional UDP replication service (PSRT)
command: svc/eva-repl-uni
workers: 1
bus:
path: var/bus.ipc
config:
pubsub:
# PSRT UDP host/port, a single value, clusters are not supported
host: 127.0.0.1:2873
# MTU, should be about 100 bytes less than the actual network MTU
mtu: 1200
username: null
key: null
# pub/sub queue size
queue_size: 1024
# the local key service, required both to make and process API calls via PubSub
key_svc: eva.aaa.localauth
# set null to turn off announcements
announce_interval: 10
# interval to submit all items, should be lower than the node timeout on the
# remote side or there should be at least a single item which state is
# updated more frequently than the remote node timeout
interval: 20
send:
topic: all
# enable compression, recommended
compress: true
encryption_key: default # set (key id) to enable bulk encryption
buf_ttl_sec: 0.5
# subscribed OIDs
oids:
- "#"
oids_exclude: []
# DANGEROUS, enable for multi-level clusters only
#replicate_remote: true
user: nobody
Create the service using eva-shell:
eva svc create eva.repl.1 /opt/eva4/share/svc-tpl/svc-tpl-replication-uni.yml
or using the bus CLI client:
cd /opt/eva4
cat DEPLOY.yml | ./bin/yml2mp | \
./sbin/bus ./var/bus.ipc rpc call eva.core svc.deploy -
(see eva.core::svc.deploy for more info)
EAPI methods
See EAPI commons for the common information about the bus, types, errors and RPC calls.