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:
Release files for nuka 0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| nuka-0.3.tar.gz | 85.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| nuka-0.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 161.0 kB
Release files / nuka-0.3.tar.gz
| Download URL | nuka-0.3.tar.gz |
|---|---|
| Size | 85.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
01265cb2d2ec2eb629b22523bf2f0ebefee202ab635bc8f433853b928d064f11
|
|
BLAKE2b-256 checksum How to use checksums |
5a773bbcfb6062c615d2d8dbd7d1d4d53a861a191d1ae5009b76eb414a58334f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / nuka-0.3-py3-none-any.whl
| Download URL | nuka-0.3-py3-none-any.whl |
|---|---|
| Size | 75.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5f49c685bad596fd2cd011ba15be36f0bb97af68302a4db09891150d8ea354ab
|
|
BLAKE2b-256 checksum How to use checksums |
5a082aaef3ed9e5ed342539f5d3a5a6ff7729ed7a3559504891b57c293ca0c00
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |