Command line interface for chimera
Project description
CLI
The chimera CLI handles basic communication with the chimera cluster and image building through docker. All commands should be run from a folder that is contained in a git repository, since the CLI relies on it's tagging to tag images in the build process.
Installation
Run the following command on this folder
make build
Init
The init
command initializes a repository to contain the needed files for the CLI. Should be run on an empty directory, and will prompt the user to inform all needed information for connection with the cluster.
Usage
chimera init [-h] [--help]
Deploy
The deploy
command sends chimera elements to the chimera cluster. All chimera elements should be defined in YAML
files, which should be in the following format
Pipeline
version: 1.0
type: pipeline # this specifies the type of the yaml (required) (pipeline or channel)
namespace: example # this is the name of the namespace (required)
name: example_pipeline # this is the name of the pipeline (required)
apps: # this is the definition of the nodes in the pipeline (required)
# many nodes can be defined in a pipeline, and all
# will be deployed upon deploying the pipeline
example_node1: # this is the name of the node (required)
build: # this is the necessary information
# for the build of the node (required)
image: example_image # image path (required)
context: example_node1 # Dockerfile context (required)
inputs: # defines the names of the input channels (optional)
- example_channel1
outputs: # defines the names of the output channels (optional)
- example_channel2
expose: 80 # port which should be exposed in the ingress
# the node will be accessible through the path
# {namespace}.inspr.com/{name}
# where namespace is the name of the namespace
# and name is the name of the node
# (optional)
replicas: 2 # number of replicas of the kubernetes deployment
# object (optional) (default: 3)
env: # defines the environment variables which should be passed
# on to the deployment object (optional)
EXAMPLE_VARIABLE: EXAMPLE_VALUE # definition of an environment variable
Channel
version: 1.0
type: channel # this specifies the type of the yaml (required) (pipeline or channel)
namespace: example # this is the name of the namespace (required)
channels: # from here starts the channel definition (required)
example_channel1: example_channel1.avsc # this is the definition of a channel
# the definition consists on the name
# of the channel on the left and the
# corresponding avro schema file on
# the right (required)
Usage
chimera deploy [-h] [--namespace NAMESPACE] {pipeline,channel}
The namespace
argument specifies the namespace from which elements will be deployed. When specified, only elements defined in the corresponding namespace will be created and sent to the cluster.
Subcommands
The pipeline
and channel
subcommands specify what type of elements will be sent to chimera. When neither is specified, both are sent to the cluster.
Whenever a pipeline
is set to be sent, it triggers the build for the image in it's apps. This build is made through docker
and tags the image with the current git describe
command output.
Subcommand arguments
The name
argument specifies the name of the pipeline or channel that will be sent to chimera. When specified, only the pipelines or channels that have that name will be sent.
Delete
The delete
command deletes an element from chimera. When using the command, the namespace
argument must be set.
Usage
chimera delete [-h] [--namespace NAMESPACE] {pipeline,channel}
The delete
command needs namespace specification. When the namespace is not set, the command fails.
Subcommands
The pipeline
and channel
subcommands specify which type of elements will be deleted from chimera. When neither is set, both pipelines and channels contained in the specified namespace will be deleted.
Subcommand arguments
The name
argument from the subcommands specify the name of the pipeline or channel that will be deleted from the chimera cluster. When not set, all of the corresponding elements will be deleted from the given namespace.
Get
The get
command gets information from the running chimera cluster's namespaces, pipelines and channels.
Usage
chimera get [-h] [--namespace NAMESPACE] {pipeline,channel}
The namespace
argument specifies which namespace you want to get the information from. When not specified, the cluster will respond with information from all namespaces.
Subcommands
The pipeline
and channel
subcommands specify which type of elements will be gotten from the chimera cluster. Currently, there is no information on specific pipelines and channels, so whenever you send the command, the information on all of the specified type will be received.
Watch
The watch
command starts a routine that looks for changes in files contained in the contexts specified in the pipeline YAML files, and triggers a build process to them whenever there is a change.
Usage
chimera watch [-h] [--help]# Chimera CLI
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.
Source Distribution
Built Distributions
File details
Details for the file chimera_cli-1.0.tar.gz
.
File metadata
- Download URL: chimera_cli-1.0.tar.gz
- Upload date:
- Size: 10.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.1 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d59e89d0072d5895ada5ce0a38ad7fafe56e10c01c1270c696ac47c4be26fc7 |
|
MD5 | 55612522cb96ad55426fc4210db1fae5 |
|
BLAKE2b-256 | 237dfe1ef233164c2e24e525b316050b6a85a773099e97d63f2e0f47660bc973 |
File details
Details for the file chimera_cli-1.0-py3.8.egg
.
File metadata
- Download URL: chimera_cli-1.0-py3.8.egg
- Upload date:
- Size: 17.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.1 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0cb734ee0cea84e76ecf9e91ed504926cd20d88fea8b2cc9397869c8a65e3474 |
|
MD5 | 77b1c607cdcd03633f5362fed704f5c7 |
|
BLAKE2b-256 | 8b839792a1717429be05746c71ed7b4457402629e45330270289339e7cbac193 |
File details
Details for the file chimera_cli-1.0-py3.7.egg
.
File metadata
- Download URL: chimera_cli-1.0-py3.7.egg
- Upload date:
- Size: 14.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.1 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | abf263f63c8ff81c95423c1ccac64af5bae44c7d292ac389deb070a57d8036c3 |
|
MD5 | 17a1f2ead78b5e91c900b9b002314044 |
|
BLAKE2b-256 | c1af817a1b163a8433f9ad9a711a10705f4beec1a4fc3588584543519ecdbb2f |
File details
Details for the file chimera_cli-1.0-py3-none-any.whl
.
File metadata
- Download URL: chimera_cli-1.0-py3-none-any.whl
- Upload date:
- Size: 12.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.1 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b599ac0f560c4df7aabf1445e8a4b231985332db487f73c407ebcb0d4cc7afe1 |
|
MD5 | 3364e71ccccc8eccf8a810637eaa879f |
|
BLAKE2b-256 | 222ebcdcc14e9ca4190b193220807a2ebdbb8193beeb56b3056866c59ce0e424 |