cloudrunner

Run commands based on your cloud

Description

generic way of exucting concurrent commands based on information of your cloud (currently AWS)

Installation

npm install -g cloudrunner

Usage

export AWS_ACCESS_KEY=<your access key>
export AWS_SECRET_ACCESS_KEY=<your secret key>

Note: if any of the commands the run will end!

cloudrunner run --select-lb-members <the-elb-name> 'echo {{{ ip }}}'
cloudrunner run --select-lb-members <the-elb-name> --concurrency 5 'echo {{{ ip }}}' 
cloudrunner run --select-name-prefix production-frontend 'echo {{{ name }}}'
cloudrunner run --select-name-prefix production-frontend 'ssh ubuntu@{{{ name }}}'
cloudrunner run --select-name-prefix production-frontend 'curl -I http://{{{ name }}}'
cloudrunner run --canary 1 --concurrency 5 --select-name-prefix production-frontend 'curl -I http://{{{ name }}}'
 
 Usage: run [options] <command>
 
 Options:
 
   -h, --help                     output usage information
   --verify [command]             Command to verify
   -c,--concurrency [number]      Number of concurrent executions
   --canary [number]              Number of canary executions
   --provider                     Cloud Provider (default=aws)
   --aws-region [region]          AWS Region (default=eu-west-1)
   --namespace [namespace]        namespace for names
   --aws-access-key [key]         AWS Access Key
   --aws-secret-access-key [key]  AWS Secret Access Key
   --select-lb-members [elbname]  Select vms that are member of ELB
   --select-name-prefix [prefix]  Select vms where name begins with prefix
   --select-ids [ids]             Select vms where the id matches (Comma Separated)
   --select-ips [ips]             Select vms where the ips matches (Comma Separated)