Skip to main content

Command Line Interface for InfraBox

Project description

REUSE status

InfraBox CLI

With the InfraBox CLI you can run your InfraBox jobs on your local machine and configure your project.

Install

To install infraboxcli you need to have these requirements already installed:

  • git
  • docker
  • python & pip

Then simply run:

pip install infraboxcli

You can validate your installation by running:

infrabox version

List Jobs

If you have a more complex project it may be helpful to list all available jobs in it. For this you may use:

infrabox list

It outputs the names of all available jobs. An example output may look like this:

tutorial-1
tutorial-1/step1
tutorial-1/step2
tutorial-1/step3
tutorial-1/step4
tutorial-1/step5
tutorial-1/tutorial-1/step1/tests
tutorial-1/tutorial-1/step2/tests
tutorial-1/tutorial-1/step3/tests
tutorial-1/tutorial-1/step4/tests
tutorial-1/tutorial-1/step5/tests

Run a Job

InfraBox CLI may be used to run you jobs on your local machine. It will also respect all the dependencies and run the jobs in the correct order. Available options are:

usage: infrabox run [-h] [--no-rm] [-t TAG] [--local-cache LOCAL_CACHE]
                    [job_name]

positional arguments:
  job_name              Job name to execute

optional arguments:
  -h, --help            show this help message and exit
  --no-rm               Does not run 'docker-compose rm' before building
  -t TAG                Docker image tag
  --local-cache LOCAL_CACHE
                        Path to the local cache

To run all jobs defined in your infrabox.json file simply do:

infrabox run

In case you have multiple jobs defined an want to run only one of them you can do:

infrabox run <job-name>

Push a Job

To be able to use infrabox push you have to create a project in the InfraBox Dashboard and create an auth token for it.

Auth Token and InfraBox API Host must be set as environment variables.

export INFRABOX_CLI_TOKEN=<YOUR_ACCESS_TOKEN>
export INFRABOX_URL=<INFRABOX_URL>

To push your local project simply do:

infrabox push

This will compress your local project and upload it to InfraBox. Now you can open the InfraBox Dashboard and navigate to your project. You should see the jobs running on InfraBox.

You can also watch the console output of your pushed jobs locally. Just use the --show-console option.

infrabox push --show-console

Pull a Job

In case you would like to run a job which has been already executed on InfraBox you can use infrabox pull. It will download the docker container and all its inputs so you can the same container locally and investigate any issue.

infrabox pull --job-id <JOB_ID>

You can find the exact command for each job on the job detail page of InfraBox under Run local

Secrets

If you reference secrets in your job definition (i.e. as environment variable) then you can add a .infraboxsecrets.json file to your project right next to the .infrabox.json file. This file should then contain all your secrets referenced in your job definition as a simple object:

{
    "SECRET_NAME1": "my secret value",
    "Another secret": "another value"
}

How to get support

If you need help please post your questions to Stack Overflow. In case you found a bug please open a Github Issue. Follow us on Twitter: @Infra_Box or have look at our Slack channel infrabox.slack.com.

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

infraboxcli-0.9.0.tar.gz (31.4 kB view details)

Uploaded Source

Built Distribution

infraboxcli-0.9.0-py2.py3-none-any.whl (38.3 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file infraboxcli-0.9.0.tar.gz.

File metadata

  • Download URL: infraboxcli-0.9.0.tar.gz
  • Upload date:
  • Size: 31.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.5

File hashes

Hashes for infraboxcli-0.9.0.tar.gz
Algorithm Hash digest
SHA256 c1afe5f1bfabe1c8304fa30ea8c6d17708406d96cc83d59110350ee16a207aae
MD5 32ac476a4a62cde4ad1151d151687334
BLAKE2b-256 3ea013d084d46625266543bf0d8977d2bb2b14d02856c0001184dddd60853ace

See more details on using hashes here.

File details

Details for the file infraboxcli-0.9.0-py2.py3-none-any.whl.

File metadata

  • Download URL: infraboxcli-0.9.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 38.3 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.5

File hashes

Hashes for infraboxcli-0.9.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 ef3c26e9f99d8a54c9644e6554569c603457319a7f11760c1673dc99ddcda61f
MD5 b807324f625cd5b7fd1de34fbb131826
BLAKE2b-256 fdabd58223214b1cd27cf850315a58a656b04ddb718dad43019596712531f81a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page