docs/README: update package hierarchy overview

This commit is contained in:
Christian Schwarz 2018-10-26 22:05:57 +02:00
parent ca0cab0a15
commit 80babe3ab4

View File

@ -45,21 +45,40 @@ Make sure to develop an understanding how zrepl is typically used by studying th
### Project Structure ### Project Structure
``` ```
├── cmd ├── artifacts # build artifcats generate by make
│   ├── endpoint # implementations of endpoints for package replication ├── cli # wrapper around CLI package cobra
│   ├── sampleconf # example configuration ├── client # all subcommands that are not `daemon`
├── config # config data types (=> package yaml-config)
│   └── samples
├── daemon # the implementation of `zrepl daemon` subcommand
│   ├── filters
│   ├── job # job implementations
│   ├── logging # logging outlets + formatters
│   ├── nethelpers
│   ├── prometheus
│   ├── pruner # pruner implementation
│   ├── snapper # snapshotter implementation
│   ├── streamrpcconfig # abstraction for configuration of go-streamrpc
│   └── transport # transports implementation
├── docs # sphinx-based documentation ├── docs # sphinx-based documentation
│   ├── **/*.rst # documentation in reStructuredText │   ├── **/*.rst # documentation in reStructuredText
│   ├── sphinxconf │   ├── sphinxconf
│   │   └── conf.py # sphinx config (see commit 445a280 why its not in docs/) │   │   └── conf.py # sphinx config (see commit 445a280 why its not in docs/)
│   ├── requirements.txt # pip3 requirements to build documentation │   ├── requirements.txt # pip3 requirements to build documentation
│   ├── publish.sh # shell script for automated rendering & deploy to zrepl.github.io repo │   ├── publish.sh # shell script for automated rendering & deploy to zrepl.github.io repo
│   ├── public_git # checkout of zrepl.github.io managed by above shell script │   └── public_git # checkout of zrepl.github.io managed by above shell script
├── logger # logger package used by zrepl ├── endpoint # implementation of replication endpoints (=> package replication)
├── replication # replication functionality ├── logger # our own logger package
├── rpc # rpc protocol implementation ├── pruning # pruning rules (the logic, not the actual execution)
│   └── retentiongrid
├── replication # the fsm that implements replication of multiple file systems
│   ├── fsrep # replication of a single filesystem
│   └── pdu # the protobuf-generated structs + helpers passed to an endpoint
├── tlsconf # abstraction for Go TLS server + client config
├── util ├── util
└── zfs # ZFS wrappers, filesystemm diffing ├── vendor # managed by dep
├── version # abstraction for versions (filled during build by Makefile)
└── zfs # zfs(8) wrappers
``` ```
### Coding Workflow ### Coding Workflow