A CLI client for Typesafe ConductR
Project description
Command Line Interface (CLI) for Typesafe ConductR
Installation
Python 3 is required. For OS X users use brew install python3.
Install using pip
You may either install or upgrade to all users:
sudo pip3 install -U 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 -U --user conductr-cli
Install as a deb package
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-conductr-cli_0.1-1_all.deb
Install required dependencies:
apt-get install -f
Autocomplete support
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)"
Running tests
Execute the following command to run all defined tests:
python3 setup.py test
To run only a specific test case in a test suite:
python3 setup.py test -a "-- -s conductr_cli.test.test_conduct_unload:TestConductUnloadCommand.test_failure_invalid_address"
Releasing
CLI releases can be performed completely from the GitHub project page. Follow these steps to cut a release:
Edit 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.
CLI Usage
conduct
Execute conduct with any of the supported sub-commands or options, e.g.
$ conduct -h
usage: conduct.py [-h]
{version,info,services,load,run,stop,unload,events,logs} ...
optional arguments:
-h, --help show this help message and exit
subcommands:
valid subcommands
{version,info,services,load,run,stop,unload,events,logs}
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
events show bundle events
logs show bundle logs
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-conductr-tester-1.0.0-e172570d3c0fb11f4f9dbb8de519df58dcb490799f525bab43757f291e1d104d.zip
shazar
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.
Information for developers
If you want to run conduct locally, i.e. without installation, cd into the project directory and execute:
python3 -m conductr_cli.conduct
Make sure to install the necessary dependencies:
pip install -e .
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.