YADTSHELL
try it out
If you want to try out how yadt
works, please check out our how to and the project page.
the Yadt concept
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]
developer setup
We're running CI builds on travis-ci and on drone.io.
prerequisites
git
python 2.6/2.7
python-devel
virtualenv
getting started
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
pyb verify
running code linting
pyb analyze
...
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
pyb