Skip to content

Remote

remote connects two backup-dev instances over the network. A single endpoint is both an inbound and an outbound: its tag can be matched by an inbound rule field to route entries received or pulled from the remote, and targeted by an outbound rule action to push entries to the remote.

Exactly one of listen and server must be set: listen accepts connections, server dials out. The connection direction is independent of the data-flow direction — push, pull, and lookup are negotiated over the same connection after authentication.

Entries received or pulled are routed by route rules, the same as for any other inbound. Use the auth_user rule field to route entries per user; the destination an entry is routed to also serves that user's lookup and pull requests.

It supports entry lookup, so the compare rule action can query the remote destination for incremental backup over the network.

A connect endpoint acts as a pull source when its tag is not used as an outbound rule action or final target; otherwise it is a push destination.

Listen Structure

{
  "type": "remote",
  "tag": "remote-server",
  "listen": "0.0.0.0",
  "listen_port": 8080,
  "users": [
    {
      "name": "jk",
      "password": "TES-369"
    }
  ],
  "tls": {},
  "transport": {}
}

Connect Structure

{
  "type": "remote",
  "tag": "remote-client",
  "server": "backup.example.com",
  "server_port": 8080,
  "user": "jk",
  "password": "TES-369",
  "at": "",
  "filter": {
    "path_prefix": []
  },
  "tls": {},
  "transport": {}
}

Listen Fields

listen

Required

Listen address.

listen_port

Required

Listen port.

users

Required

Authentication users.

users.name

Required

The username.

users.password

Required

The password.

Connect Fields

server

Required

The server address.

server_port

Required

The server port.

user

Required

The username.

password

Required

The password.

at

Pull entries as of the specified time.

Format: 2006-01-02 15:04:05.

The latest version is used if empty.

Point-in-time selection requires a versioned pull source such as a custom-format Archive; other destinations always return their current state.

filter

Filters applied to a pull request. The server pre-filters before streaming.

filter.path_prefix

Pull only entries whose path begins with one of the given prefixes.

All entries are pulled if empty.

Shared Fields

tls

TLS configuration. See TLS for details; listen mode uses the inbound structure and connect mode uses the outbound structure.

transport

Transport configuration, see Transport.