{"id":16300412,"url":"https://github.com/melezhik/ducky","last_synced_at":"2026-04-18T19:31:15.074Z","repository":{"id":150532095,"uuid":"99783879","full_name":"melezhik/ducky","owner":"melezhik","description":"Run sparrow tasks on docker containers","archived":false,"fork":false,"pushed_at":"2017-09-21T13:46:04.000Z","size":11,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-30T11:55:45.661Z","etag":null,"topics":["automation","continuous-integration","docker","docker-container","ducky","sparrow","testing"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/melezhik.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-08-09T08:29:07.000Z","updated_at":"2024-01-03T14:15:04.000Z","dependencies_parsed_at":"2023-04-25T19:31:18.128Z","dependency_job_id":null,"html_url":"https://github.com/melezhik/ducky","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/melezhik/ducky","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/melezhik%2Fducky","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/melezhik%2Fducky/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/melezhik%2Fducky/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/melezhik%2Fducky/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/melezhik","download_url":"https://codeload.github.com/melezhik/ducky/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/melezhik%2Fducky/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31982442,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T17:30:12.329Z","status":"ssl_error","status_checked_at":"2026-04-18T17:29:59.069Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","continuous-integration","docker","docker-container","ducky","sparrow","testing"],"created_at":"2024-10-10T20:51:09.559Z","updated_at":"2026-04-18T19:31:15.055Z","avatar_url":"https://github.com/melezhik.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SYNOPSIS\n\nRun [sparrow](https://github.com/melezhik/sparrow) tasks on docker containers.\n\n# INSTALL\n\n    git clone https://github.com/melezhik/ducky.git\n    PATH=$PWD/ducky:$PATH # add ducky.bash to the system PATH\n\n# USAGE\n\n\n    cat ducky.json\n\n    [\n    \n      {\n        \"task\" : \"install nginx\",\n        \"plugin\" : \"package-generic\",\n        \"data\" : {\n            \"list\" : \"nginx\"\n        }\n      },\n      {\n        \"task\" : \"stop nginx service\",\n        \"plugin\" : \"bash\",\n        \"data\" : {\n          \"command\" : \"if test -f /run/nginx.pid; then kill `cat /run/nginx.pid`; fi\",\n          \"debug\" : true\n        }\n      },\n      {\n        \"task\" : \"start nginx service\",\n        \"plugin\" : \"bash\",\n        \"data\" : {\n          \"command\" : \"nginx\"\n        }\n      },\n      {\n        \"task\" : \"check nginx\",\n        \"plugin\" : \"bash\",\n        \"data\" : {\n          \"command\" : \"curl -D - -f -L 127.0.0.1 -o /dev/null\"\n        }\n      }\n    \n    ]\n            \n\n    # run once and then exit\n    docker pull jdeathe/centos-ssh\n    ducky.bash jdeathe/centos-ssh\n\n    # run against existed container\n    docker run -d -v $PWD:/var/ducky --name ducky jdeathe/centos-ssh bash\n    ducky.bash ducky\n\n# Ascii cast\n\n[![asciicast](https://asciinema.org/a/132694.png)](https://asciinema.org/a/132694)\n\n# Advanced usage\n\n## Skip sparrow client bootstrap phase\n\nUse `DUCKY_SKIP_BOOTSTRAP` environment variable to omit sparrow bootstrap phase:\n\n     DUCKY_SKIP_BOOTSTRAP=1 ducky.bash ...\n\n\n# Examples\n\nFind more examples at `./examples` directory. To run example use `DUCKYFILE` variable:\n\n    DUCKYFILE=examples/rvm/ducky.json ducky.bash ${image_id}\n\n\n# Author \n\nAlexey Melezhik\n\n    \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmelezhik%2Fducky","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmelezhik%2Fducky","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmelezhik%2Fducky/lists"}