Skip to main content

provisionning tool focused on performance.

Project description

https://travis-ci.org/bearstech/nuka.png?branch=master

Because ops can dev.

nuka is a provisionning tool focused on performance. It massively use asyncio and ssh. It’s compatible with docker vagrant and apache-libcloud.

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

Quickstart

Install nuka:

$ 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 not 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’ll pull the docker image. The next run will take ~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:

http://doc.bearstech.com/nuka/docs/_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.1.tar.gz (71.2 kB view details)

Uploaded Source

Built Distribution

nuka-0.1-py3-none-any.whl (61.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for nuka-0.1.tar.gz
Algorithm Hash digest
SHA256 1962c7c20d3904ad5eb2ee3bb92df39d1a48bd5993eadd505f7c68bc184c5403
MD5 14eeb5b248df3801fd1c0364e9c79c6f
BLAKE2b-256 7af2581434ae6c2a8cfd89c9290e2f8b30e5466389cac44b8d312f71b950a7f4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nuka-0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 db5ac17f4f082c947cde72c90636ed43233591b99fc213426e491ed6c30ec219
MD5 8b9d72a074b9a29071108efefcfbb536
BLAKE2b-256 8ce69312dc2c8ee4fd71931ee1aa28a08f3695e1b95b6c4599378699d7c755d1

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