Python 3 is required. For OS X users use brew install python3
.
You may either install to all users:
sudo pip3 install typesafe-conductr-cli
... or, and if you’re not using brew (there’s a problem with user installs as of the time writing this), install to the current user (make sure to have ~/.local/bin
in your PATH):
pip3 install --user typesafe-conductr-cli
Build a docker image for building a deb package:
docker build -t debian-distribution deb_dist/
Run built docker image:
docker run -v $(pwd):/source debian-distribution
Install built deb package:
dpkg -i deb_dist/python3-typesafe-conductr-cli_0.1-1_all.deb
Install required dependencies:
apt-get install -f
If you have installed argcomplete and want to activate Bash completion for the CLI, you have to execute the following, either transiently in your terminal session or more permanently in your .bashrc
or .bash_profile
:
eval "$(register-python-argcomplete conduct)"
Alternatively, if you have a Bash version 4.2 or later, you can activate global completion once:
activate-global-python-argcomplete --dest=/path/to/bash_completion.d
If you are running zsh, execute the following command to enable autocomplete:
autoload bashcompinit && autoload compinit && bashcompinit && compinit && eval "$(register-python-argcomplete conduct)"
Execute the following command to run all defined tests:
python3 setup.py test
CLI releases can be performed completely from the GitHub project page. Follow these steps to cut a release:
- Edit typesafe_conductr_cli/__init__.py file to contain the version to be released.
- Create a new release in GitHub releases page.
After CI build is finished for the tagged commit, new version will automatically be deployed to PyPi repository.
Execute conduct
with any of the supported sub-commands or options,
e.g.
$ conduct -h
usage: conduct [-h] {version,info,services,load,run,stop,unload} ...
optional arguments:
-h, --help show this help message and exit
subcommands:
valid subcommands
{version,info,services,load,run,stop,unload}
help for subcommands
version print version
info print bundle information
services print service information
load load a bundle
run run a bundle
stop stop a bundle
unload unload a bundle
Most sub-commands connect to a ConductR instance and therefore you have to specify its IP and port; if not given, CONDUCTR_IP
environment variable or 127.0.0.1
will be used for the IP and CONDUCTR_PORT
or 9005
for the port. Alternatively you can specify the IP via the --ip
option and the port via the --port
option.
Here’s an example for loading a bundle:
conduct load sbt-typesafe-conductr-tester-1.0.0-e172570d3c0fb11f4f9dbb8de519df58dcb490799f525bab43757f291e1d104d.zip
The shazar
command can be used:
- for packaging a directory that has a structure of a bundle to a bundle archive;
- for packaging a bundle’s configuration to a bundle archive;
In both cases the source files are zipped and a SHA256 digest of the archive is appended to the bundle archive file name.
For pointers on command usage run shazar -h
.