andrewschoen / chacractl

A command line tool client for the Chacra binary API

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

chacractl

A client interface to interact with the chacra service (http://github.com/ceph/chacra).

configuration

The client writes a configuration file at $HOME/.chacractl with some needed information:

# This file was automatically generated by the chacractl CLI
# make sure to update it with the correct user and key to talk to the API

url = "http://example/"
user = "admin"
key = "secret"

These values need to be modified so that the CLI can interact with the remote API.

binaries

The CLI allows for a few interactions with binaries, depending on the action needed the requirements may change. For example when trying to upload a binary, the tool can accept either stdin or an actual file input.

create

For POSTing a binary, if posting a single binary it is best to just pass the full path as the last argument to the binary subcommand:

chacractl binary create project/ref/distro/distro-version/arch /path/to/binary.rpm

But for convenience, if sending many files, it can also accept them from stdin, usually with the output of a find command that can be filtered with grep or similar.

Below is an example of such a command for a project like ceph-deploy:

find ~/repos | grep ceph-deploy | grep rpm | grep noarch | grep el6
| chacractl binary create ceph-deploy/master/centos/6/noarch

If a binary already exists and there is a need to re-upload it, the --force flag must be used. In that case the request will be a PUT and the resource will be overwritten in the API.

exists

Check whether a given url endpoint exists or not. This subcommand requires the full url part (as opposed to other subcommands that require the url starting from the project name):

chacractl exists repos/ceph-deploy/master/centos/7

If the endpoint is not found it will return a non-zero exit status

About

A command line tool client for the Chacra binary API

License:MIT License


Languages

Language:Python 100.0%