If you want to try out how yadt
works, please check out our how to and the project page.
The 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.
- A
target
is a set of hosts which belong together [wiki] - A
service
in yadt is the representation of a service on a host with a LSB compatible init script - A
service dependency
is the dependency between two services and its not limited to a service on the same host. (e.g httpd -> loadbalancer) [wiki]
We're running CI builds on travis-ci and on drone.io.
git
python 2.6/2.7
python-devel
virtualenv
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```
pyb verify
pyb analyze
...
All unittests passed.
[INFO] Executing flake8 on project sources.
[INFO] Executing frosted on project sources.
[INFO] Executing jedi linter on project sources.
...
pyb
cd target/dist/yadtshell-$VERSION
./setup.py <whatever you want>
pyb