try it out
the Yadt concept
yadtshell(server part) controls hosts with a
yadt-minion(client part) via
passwordless ssh with a minimal configuration, it handles service dependencies and package updates.
targetis a set of hosts which belong together [wiki]
servicein yadt is the representation of a service on a host with a LSB compatible init script
service dependencyis the dependency between two services and its not limited to a service on the same host. (e.g httpd -> loadbalancer) [wiki]
git clone https://github.com/yadt/yadtshell cd yadtshell virtualenv venv . venv/bin/activate pip install pybuilder pyb install_dependencies
The yadt project is using the pybuilder as a build automation tool for python. The yadtshell project has a clear project structure.
├── integrationtest │ └── python # here you can find the integration tests, the tests have to end with ```*_tests.py``` ├── main │ ├── python │ │ └── yadtshell # here you can find the program modules │ └── scripts # for the executable scripts └── unittest └── python # here you can find the unit tests, the test have to end with ```*_tests.py```
running the tests
running code linting
... All unittests passed. [INFO] Executing flake8 on project sources. [INFO] Executing frosted on project sources. [INFO] Executing jedi linter on project sources. ...
generating a setup.py
pyb cd target/dist/yadtshell-$VERSION ./setup.py <whatever you want>
running all tasks together