Skip to main content

Blingtron is a simple CLI tool aimed at helping developers run their II projects.

Project description

# Blingtron

[![Build Status](https://travis-ci.org/ImageIntelligence/blingtron.svg?branch=master)](https://travis-ci.org/ImageIntelligence/blingtron)
[![PyPI version](https://badge.fury.io/py/blingtron.svg)](https://badge.fury.io/py/blingtron)

**Welcome to Blingtron!**

> Assembles the upgraded [Blingtron 5000](http://www.wowhead.com/item=111821/blingtron-5000), a savage, yet generous, robot. While he will give out gifts to players once per day, he will also fight other Blingtron units to the death. (4 Hrs Cooldown)

Blingtron is a simple command line too (CLI) aimed at helping developers run their Image Intelligence projects.

## Installation

```
$ pip install blingtron
```

Projects that use Blingtron are expected to have a `bling.json` file at the root of the project directory structure. For an example of what a bling.json file might look like, checkout [bling.example.json](./bling.example.json).

* `name`: The name of your project
* `registry`: The username of your account for your image registry
* `run`: The command that's executed when a Docker container runs your image (remotely)
* `start`: The arguments passed into `docker run`(locally)
* `packer`: The location of your Packer configuration directory
* `packer_exec_path`: (optional) The absolute path to your Packer executable
* `env`: An object of custom environ variables you can pass into all `bling` commands

See [imageintelligence/skeleton-python](https://github.com/ImageIntelligence/skeleton-python) and [imageintelligence/skeleton-scala](https://github.com/ImageIntelligence/skeleton-scala) for more examples.

## Usage

```
>>> bling --help
bling.py

usage:
bling start
bling stop
bling run
bling build [--publish] [--debug]

commands:
start starts app inside an interactive container
stop stops running container
run starts app inside a container, executing the specified run command
build invokes `packer build` with packer template json file

options:
--publish publishes the build artifact to a remote registry
--debug enables debug mode

-h --help shows this
-v --version shows version
```

Example workflow:

```
$ bling build
$ bling start
```

## Development

Clone the project:

```
$ git clone git@github.com:ImageIntelligence/blingtron.git
```

Setup your virtualenv:

```
$ mkvirtualenv blingtron
```

Attach `bling` to your shell:

```
$ python setup.py develop
```

## Deployment

Create a `~/.pypirc` and replace the username and password with real credentials:

```
[distutils]
index-servers =
blingtron

[blingtron]
repository=https://pypi.python.org/pypi
username=xxx
password=yyy
```

Register this package to the Cheeseshop:

```
$ python setup.py register -r blingtron
```

Build a distributable and upload:

```
$ python setup.py sdist upload -r blingtron
```

Project details


Download files

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

Files for blingtron, version 0.1.6
Filename, size File type Python version Upload date Hashes
Filename, size blingtron-0.1.6.tar.gz (7.6 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page