yak is an application used to manage Enterprise Components deployed on a single host.
It is capable of starting, stopping, restarting different processes and collecting information using convenient command line interface.
Primary operating system for yak is Linux. yak also provides limited/experimental support for Windows and Mac OS X.
Limitations:
interrupt
command terminates process instead of sending an interruption signal
Limitations:
cpuAffinity
configuration attribute is not supported and is ignored
The yak script can be branded with current version, timestamp by altering the code before creating the package.
To brand using values defined in setup.py
execute:
python setup.py imprint
.
Version and timestamp values can be ovverriden from command line:
python setup.py imprint --version=3.3.0 --tstamp=20160623000000
.
Depending on target platform, executable version of the yak is created with:
- the bbfreeze on
- the pyinstaller tool on Mac OS X
Requirements:
- bbfreeze or pyinstaller package installed
Instructions:
Execute:
python setup.py freeze
or:
pyinstaller yak.spec
on Mac OS X platform
Binary distribution is being built to directory: dist/yak
.
Binary distribution can be packed to a single ZIP archive by executing:
python setup.py package
Application uses py.test as a test runner for unit tests.
Instructions:
- Make sure that top directory is included in the
PYTHONPATH
- Execute:
py.test
- Python 2.7 (Python 2.6 can be used if ordereddict package is installed)
- bbfreeze 1.1.3 or pyinstaller 2.1
- configobj 5.0.6
- psutil 4.3.0
- pywin32 (required on: windows)
- pyreadline 1.7 (required on: windows)
Required libraries can be conveniently installed using pip. Execute:
pip install -r requirements.txt
to install dependencies on Linux and Windows.
pip install -r requirements-osx.txt
to install dependencies on Mac OS X.
Note that this does not install additional Windows dependencies.