Commit Graph

28 Commits

Author SHA1 Message Date
Christian Schwarz
f8979d6e83 jobrun/cmd: implement jobrun.Job for config objects 2017-09-02 11:08:24 +02:00
Christian Schwarz
b44a005bbb Switch to using https://github.com/spf13/cobra for CLI.
Use opportunity to structure project by subcommands.
2017-07-06 13:36:55 +02:00
Christian Schwarz
655b3ab55f implement automatic snapshotting feature 2017-07-02 00:02:33 +02:00
Christian Schwarz
8c8a6ee905 implement snapshot pruning feature 2017-07-02 00:02:33 +02:00
Christian Schwarz
2c50c8fd63 cmd: run: flag for running jobs only once 2017-07-01 23:19:31 +02:00
Christian Schwarz
4f86fa8332 cmd: support for pprof over http 2017-07-01 23:19:31 +02:00
Christian Schwarz
af2aa9dfe1 cmd/jobrun: repeat strategies as part of jobrun 2017-07-01 23:19:25 +02:00
Christian Schwarz
93d098162e cmd: run: select job to run 2017-06-09 20:54:01 +02:00
Christian Schwarz
3b1cac1ea2 cmd: make --logfile global parameter 2017-05-20 18:17:08 +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
c7161cf8e6 handler: remove PushMapping, rename PullMapping to PullACL 2017-05-20 17:43:49 +02:00
Christian Schwarz
40fe7e643d cmd: Move replication logic to separate file. 2017-05-20 17:29:37 +02:00
Christian Schwarz
7ad2ed5956 Rename sink -> stdinserver subcommand. 2017-05-16 16:43:39 +02:00
Christian Schwarz
b1a3a57623 cmd close RPC with timeout 2017-05-14 14:11:19 +02:00
Christian Schwarz
48a4e8033a rpc: close outgoing SSH connection on exit. 2017-05-14 14:11:19 +02:00
Christian Schwarz
ee8b0d3781 cmd: dup2(logfile, stderr) if logfile set 2017-05-13 15:35:19 +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
feabf1abcd rpc: logging for bytestream listener 2017-05-13 15:25:09 +02:00
Christian Schwarz
53b3a940ec WIP: main: tree traversal 2017-05-13 15:25:09 +02:00
Christian Schwarz
5bc6d460cf WIP: sink & pull implementation 2017-05-13 15:25:09 +02:00
Christian Schwarz
22454738af application-wide logging through Logger interface 2017-05-03 18:32:11 +02:00
Christian Schwarz
55463e5f26 jobrun: per-job logger 2017-05-03 18:28:04 +02:00
Christian Schwarz
3b6d79ec67 jobrun: log through abstract logger interface instead of stderr 2017-05-03 18:27:55 +02:00
Christian Schwarz
77f749112c main: remove global handler and unused structs 2017-05-03 18:27:23 +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
9750bf3123 Wireframe main executable. 2017-04-26 20:22:17 +02:00
Christian Schwarz
123becbd22 Interface wireframe 2017-04-14 19:26:32 +02:00