mirror

This defines a mirror attribute, which synchronizes the status of a node between a local and a remote ecFlow server. The options defining the attribute can be provided in any order.

The mirror attribute is defined by the coordinates to the remote node to be mirrored, including the remote node path, the remote host name, the remote port number; and the polling interval in seconds. Furthermore, the option --ssl enables the use of a Secure connection and the option --auth can be used to provide the authentication credentials for the remote ecFlow server.

task t1
  mirror --name A --remote_path /s/f/tA --remote_host host --remote_port 3141 --polling 300 --ssl --auth /path/to/auth.json

task t2
  aviso --name B --remote_path /s/f/tB
    # when not provided, the following default options are used
    #     --remote_host %ECF_MIRROR_REMOTE_HOST%
    #     --remote_port %ECF_MIRROR_REMOTE_PORT%
    #     --polling %ECF_MIRROR_POLLING%
    #     --auth %ECF_MIRROR_AUTH%

By default, the mirror attribute will not propagate the state of the remote node to the local node tree, and only the actual associated local node will see its state updated. The option --propagate can be used to enable the propagation of the remote node state to the local node tree.

task t1
  mirror --name A --remote_path /s/f/tA --remote_host host --remote_port 3141 --polling 300 --propagate

Note

The --polling value (in seconds) controls how often the local ecFlow server contacts the remote server. Lower values reduce latency but have impact on the remote server as the network traffic increases. A value of 300 seconds is considered suitable for most cases, and a minimum of 60 seconds being imposed to avoid overloading the remote server.

The Authentication credentials, provided via option --auth, are provided in a JSON file with the following content:

{
  "url": "http://host.int:1234",
  "username": "user",
  "password": "************",
  "email": "user@host.int"
}