GithubHelp home page GithubHelp logo

conductr-cli's Introduction

Build Status Latest Version

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 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 setup.py test

Releasing

CLI releases can be performed completely from the GitHub project page. Follow these steps to cut a release:

  1. Edit typesafe_conductr_cli/__init__.py file to contain the version to be released.
  2. 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 [-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

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.

conductr-cli's People

Contributors

2m avatar huntc avatar bantonsson avatar hseeberger avatar

Watchers

 avatar James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.