Skip to main content

A CLI client for Typesafe ConductR

Project description

Build Status

Command Line Interface (CLI) for Typesafe ConductR


Python 3 is required. For OS X users use brew install python3.

Install using pip

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

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-typesafe-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 test


Create a .pypirc file in your home directory with the following contents:

repository =
username = <your-pypi-username>
password = <your-pypi-password>

Set next project version in the file and PR the changes to GitHub.

Ask @2m for a Maintainer role for typesafe-conductr-cli package in the PyPi repo. When granted build and upload source distribution to PyPi repository:

python3 sdist upload -r test

CLI Usage


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

  valid subcommands

                        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 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 \
  --nr-of-cpus 2 \
  --memory 104857600 \
  --disk-space 104857600 \
  --roles web-server \
  -- test-lib/src/main/resources/sbt-typesafe-conductr-tester-1.0.0-e172570d3c0fb11f4f9dbb8de519df58dcb490799f525bab43757f291e1d104d.tgz

Notice that in this example it’s necessary to separate the bundle from the values of the --roles option with --, else the bundle would be treated as another role and hence the bundle itself would be missing.

In other cases, e.g. if there are no roles given or if the bundle doesn’t come directly after the roles, this is not needed, like in the following example where an additional configuration is loaded:

conduct load \
  --nr-of-cpus 2 \
  --memory 104857600 \
  --disk-space 104857600 \
  test-lib/src/main/resources/sbt-typesafe-conductr-tester-1.0.0-e172570d3c0fb11f4f9dbb8de519df58dcb490799f525bab43757f291e1d104d.tgz \


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.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

typesafe-conductr-cli-0.1.tar.gz (11.4 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page