Skip to main content

provisioning tool focused on performance.

Project description

https://img.shields.io/pypi/l/nuka.svg https://img.shields.io/pypi/pyversions/nuka.svg https://travis-ci.org/bearstech/nuka.png?branch=master

Because ops can dev.

nuka is a provisioning tool focused on performance. It massively uses Asyncio and SSH. It is compatible with docker vagrant and apache-libcloud.

Full documentation is available at http://doc.bearstech.com/nuka

Quickstart

Install nuka (See Installation for detailled steps):

$ pip install "nuka[full]"

Then start a script:

#!/usr/bin/env python3.5
import nuka
from nuka.hosts import DockerContainer
from nuka.tasks import (shell, file)

# setup a docker container using the default image
host = DockerContainer('mycontainer')


async def do_something(host):

    # we just echoing something using the shell.command task
    await shell.command(['echo', 'it works'], host=host)

    # if no host is provided, then a var named `host` is searched
    # from the stack. Mean that this will works to
    await shell.command(['echo', 'it works too'])


async def do_something_else(host):

    # log /etc/resolv.conf content
    res = await file.cat('/etc/resolv.conf')
    host.log.info(res.content)


# those coroutines will run in parallell
nuka.run(
    do_something(host),
    do_something_else(host),
)

Run it using:

$ chmod +x your_file.py
$ ./your_file.py -v

The first run will be slow because we have to pull the docker image. The next run will take approximately 1s.

Get some help:

$ ./your_file.py -h

Look at the generated gantt of your deployement:

$ firefox .nuka/reports/your_file_gantt.html

You’ll get a dynamic report like this screenshot:

https://doc.bearstech.com/nuka/_images/gantt.png

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

nuka-0.3.tar.gz (85.9 kB view details)

Uploaded Source

Built Distribution

nuka-0.3-py3-none-any.whl (75.1 kB view details)

Uploaded Python 3

File details

Details for the file nuka-0.3.tar.gz.

File metadata

  • Download URL: nuka-0.3.tar.gz
  • Upload date:
  • Size: 85.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for nuka-0.3.tar.gz
Algorithm Hash digest
SHA256 01265cb2d2ec2eb629b22523bf2f0ebefee202ab635bc8f433853b928d064f11
MD5 6875d04f4c3812d35af7bd99b3929d80
BLAKE2b-256 5a773bbcfb6062c615d2d8dbd7d1d4d53a861a191d1ae5009b76eb414a58334f

See more details on using hashes here.

File details

Details for the file nuka-0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for nuka-0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 5f49c685bad596fd2cd011ba15be36f0bb97af68302a4db09891150d8ea354ab
MD5 8373f083afaadc1e5dc55c3f071b4439
BLAKE2b-256 5a082aaef3ed9e5ed342539f5d3a5a6ff7729ed7a3559504891b57c293ca0c00

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