Bez popisu

bigeagle 33611cee8e docs: new desgin před 9 roky
examples 5576efff56 set environment variable for mirror jobs před 9 roky
scripts 3ddbbfda94 docker script: added ubuntu-precise and gpg před 9 roky
systemd 6e667b8a03 update systemd před 11 roky
tests b7d3467346 anaconda mirror script před 9 roky
tunasync 29d4b55bc6 debian-2-stage-rsync: new version of apt checks Contents, now the whole dists/ can be ignored před 9 roky
.gitignore 45b2046dfb bug fix před 11 roky
LICENSE 78f3501e19 Initial commit před 11 roky
README.md 33611cee8e docs: new desgin před 9 roky
requirements.txt 41155a12ad update requirements.txt před 9 roky
tunasync.py 5682d50283 update pidfile and sockfile path před 9 roky
tunasync_snapshot_gc.py 634780937d snapshot GC fix před 10 roky
tunasynctl.py 5682d50283 update pidfile and sockfile path před 9 roky

README.md

tunasync

Design

# Architecture

- Manager: Centural instance on status and job management
- Worker: Runs mirror jobs


+----------+  +---+   worker configs   +---+    +----------+     +----------+
|  Status  |  |   |+-----------------> | w +--->|  mirror  +---->|  mirror  |
|  Manager |  |   |                    | o |    |  config  |     | provider |
+----------+  | W |  start/stop job    | r |    +----------+     +----+-----+
              | E |+-----------------> | k |                          |
+----------+  | B |                    | e |       +------------+     |
|   Job    |  |   |   update status    | r |<------+ mirror job |<----+
|Controller|  |   | <-----------------+|   |       +------------+
+----------+  +---+                    +---+


# Job Run Process

+-----------+     +-----------+    +-------------+     +--------------+
|  pre-job  +--+->|  job run  +--->|   post-job  +-+-->| post-success |
+-----------+  ^  +-----------+    +-------------+ |   +--------------+
			   |                                   |
			   |      +-----------------+          |
			   +------+    post-fail    |<---------+
					  +-----------------+

TODO

  • split to tunasync-manager and tunasync-worker instances
    • use HTTP as communication protocol
  • Web frontend for tunasync-manager
    • start/stop/restart job
    • enable/disable mirror
    • view log
  • config file structure
    • support multi-file configuration (/etc/tunasync.d/mirror-enabled/*.conf)