mirror of
https://github.com/tuna/tunasync.git
synced 2025-04-20 11:42:43 +00:00
docs: new desgin
This commit is contained in:
parent
29d4b55bc6
commit
33611cee8e
49
README.md
49
README.md
@ -1,14 +1,45 @@
|
||||
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
|
||||
|
||||
- [ ] use context manager to handle job contexts
|
||||
- [x] Hooks need "before_exec", "after_exec"
|
||||
- [x] implement `tunasynctl tail` and `tunasynctl log` or equivalent feature
|
||||
- [x] status file
|
||||
- [ ] mirror size
|
||||
- [x] upstream
|
||||
- [x] btrfs backend (create snapshot before syncing)
|
||||
- [x] add mirror job online
|
||||
- [x] use toml as configuration
|
||||
- [ ] 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`)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user