Commit Graph

14 Commits

Author SHA1 Message Date
Christian Schwarz af2aa9dfe1 cmd/jobrun: repeat strategies as part of jobrun 2017-07-01 23:19:25 +02:00
Christian Schwarz 35dcfc234e Implement push support.
Pushing is achieved by inverting the roles on the established
connection, i.e. the client tells the server what data it should pull
from the client (PullMeRequest).

Role inversion is achieved by moving the server loop to the serverLoop
function of ByteStreamRPC, which can be called from both the Listen()
function (server-side) and the PullMeRequest() client-side function.

A donwside of this PullMe approach is that the replication policies
become part of the rpc, because the puller must follow the policy.
2017-05-20 18:17:08 +02:00
Christian Schwarz 40fe7e643d cmd: Move replication logic to separate file. 2017-05-20 17:29:37 +02:00
Christian Schwarz 6f84bf665d cmd: support logging reads & writes from sshbytestream to a file. 2017-05-13 15:34:28 +02:00
Christian Schwarz fa97d3d98a config: parse InitialReplPolicy with default to most_recent 2017-05-07 12:00:34 +02:00
Christian Schwarz 301be177ea config: fix broken parsing of direct mapping
Would only parse wildcard ('|') DirectMapping but no specific direct
mappings.
2017-05-01 20:08:20 +02:00
Christian Schwarz 6da2deb96e config: fix mapping parser 2017-04-30 23:47:11 +02:00
Christian Schwarz 3e0c758d7f config: PushACLs, sinks are also just ClientMappings & LOCAL_TRANSPORT_IDENTITY 2017-04-30 23:47:11 +02:00
Christian Schwarz 2e6dc26993 sshbytestream: IdentityFile and custom SSHCommand. 2017-04-30 23:46:59 +02:00
Christian Schwarz 2d57e15936 Change transport format in zrepl config & parse it. 2017-04-29 20:10:09 +02:00
Christian Schwarz 9edc2005ea config; pointer to pools for pull and push jobs 2017-04-29 19:07:47 +02:00
Christian Schwarz 526255a9ef Implement jobrun package, abstraction for cron-like goroutines.
Unlike cron, there is no overtaking though.
2017-04-29 18:29:15 +02:00
Christian Schwarz d9ecfc8eb4 Gofmt megacommit. 2017-04-26 20:29:54 +02:00
Christian Schwarz 00231ecb73 Implement config parser. 2017-04-26 19:57:40 +02:00