Pre-built binary for Linux x86_64 and ARM64 is available at Github releases.
# Architecture
- Manager: Central instance for status and job management
- Worker: Runs mirror jobs
------------ --- ---
| Client API | | | Job Status | | ---------- ----------
------------ | ----------------->| |--->| mirror ---->| mirror |
------------ | | | w | | config | | provider |
| Worker API | | H | | o | ---------- ---- -----
------------ | T | Job Control | r | |
------------ | T ----------------->| k | ------------ |
| Job/Status | | P | Start/Stop/... | e | | mirror job |<----
| Management | | S | | r | ------^-----
------------ | | Update Status | | --------- ---------
------------ | <------------------ | | Scheduler |
| BoltDB | | | | | -------------------
------------ --- ---
# Job Run Process
PreSyncing Syncing Success
----------- ---------- ----------- ------------- --------------
| pre-job -- ->| pre-exec --->| job run --->| post-exec - -->| post-success |
----------- ^ ---------- ----------- ------------- | --------------
| |
| ----------------- | Failed
---------------- post-fail |<---------------
-----------------
Go version: 1.13
> make all
Binaries in the build-linux-amd64/
.