![]() |
vor 6 Jahren | |
---|---|---|
autocomplete | vor 9 Jahren | |
cmd | vor 7 Jahren | |
docs | vor 7 Jahren | |
internal | vor 7 Jahren | |
manager | vor 7 Jahren | |
systemd | vor 9 Jahren | |
tests | vor 9 Jahren | |
worker | vor 6 Jahren | |
.gitignore | vor 9 Jahren | |
.testandcover.bash | vor 8 Jahren | |
.testpackages.txt | vor 9 Jahren | |
.travis.yml | vor 7 Jahren | |
LICENSE | vor 11 Jahren | |
Makefile | vor 8 Jahren | |
README.md | vor 6 Jahren | |
package.json | vor 9 Jahren |
Pre-built binary for Linux x86_64 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 +--+->| job run +--->| post-exec +-+-->| post-success |
+-----------+ ^ +-----------+ +-------------+ | +--------------+
| |
| +-----------------+ | Failed
+------+ post-fail |<---------+
+-----------------+
Setup GOPATH like this.
Then:
go get -d github.com/tuna/tunasync/cmd/tunasync
cd $GOPATH/src/github.com/tuna/tunasync
make
If you have multiple GOPATH
s, replace the $GOPATH
with your first one.