Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/melezhik/ducky

Run sparrow tasks on docker containers
https://github.com/melezhik/ducky

automation continuous-integration docker docker-container ducky sparrow testing

Last synced: 2 days ago
JSON representation

Run sparrow tasks on docker containers

Awesome Lists containing this project

README

        

# SYNOPSIS

Run [sparrow](https://github.com/melezhik/sparrow) tasks on docker containers.

# INSTALL

git clone https://github.com/melezhik/ducky.git
PATH=$PWD/ducky:$PATH # add ducky.bash to the system PATH

# USAGE

cat ducky.json

[

{
"task" : "install nginx",
"plugin" : "package-generic",
"data" : {
"list" : "nginx"
}
},
{
"task" : "stop nginx service",
"plugin" : "bash",
"data" : {
"command" : "if test -f /run/nginx.pid; then kill `cat /run/nginx.pid`; fi",
"debug" : true
}
},
{
"task" : "start nginx service",
"plugin" : "bash",
"data" : {
"command" : "nginx"
}
},
{
"task" : "check nginx",
"plugin" : "bash",
"data" : {
"command" : "curl -D - -f -L 127.0.0.1 -o /dev/null"
}
}

]

# run once and then exit
docker pull jdeathe/centos-ssh
ducky.bash jdeathe/centos-ssh

# run against existed container
docker run -d -v $PWD:/var/ducky --name ducky jdeathe/centos-ssh bash
ducky.bash ducky

# Ascii cast

[![asciicast](https://asciinema.org/a/132694.png)](https://asciinema.org/a/132694)

# Advanced usage

## Skip sparrow client bootstrap phase

Use `DUCKY_SKIP_BOOTSTRAP` environment variable to omit sparrow bootstrap phase:

DUCKY_SKIP_BOOTSTRAP=1 ducky.bash ...

# Examples

Find more examples at `./examples` directory. To run example use `DUCKYFILE` variable:

DUCKYFILE=examples/rvm/ducky.json ducky.bash ${image_id}

# Author

Alexey Melezhik