@licorice/aws-tools

A collection of AWS (and related) tools for managing and monitoring servers and deployment.

Usage no npm install needed!

<script type="module">
  import licoriceAwsTools from 'https://cdn.skypack.dev/@licorice/aws-tools';
</script>

README

aws-tools

Various command-line tools for handling the Licorice AWS tech stack.

These tools use the AWS SDK for JavaScript to simplify the use of AWS services

We use high level abstraction (on top of the AWS API) and are actively building these tools to query and manipulate the following AWS Services:

  • AWS EC2 Instances
  • AWS EC2 Auto-Scaling-Groups

Install

You will need to have NodeJS v16.13.0 installed

git clone [url]
cd aws-tools
npm i

Replace [url] with the actual url, of course. e.g. https://username@bitbucket.org/licoriceio/aws-tools.git

Usage

Firstly, make sure that you have the following AWS environment variables set. We recommend making a .envrc file in the project root to define these:

AWS_SECRET_ACCESS_KEY

AWS_ACCESS_KEY_ID

CLOUDFLARE

CLOUDFLARE_ACCOUNT_ID

REDIS_PORT

REDIS_URL

Use access keys to make programmatic calls to AWS from the AWS CLI, Tools for PowerShell, AWS SDKs, or direct AWS API calls. You can have a maximum of two access keys (active or inactive) at a time. For your protection, you should never share your secret keys with anyone. As a best practice, we recommend frequent key rotation.

AWS_REGION The AWS region that you wish to query/manipulate e.g. us-east-1

You can set these directly in your environment, or you can specify them in your ~/.aws/credentials file.

Usage: awt [options] [command]

A collection of AWS (and related) tools for managing and monitoring servers and deployment.

Options:
  -V, --version          output the version number
  -v, --verbose          Output additional information in the terminal
  -q, --quiet            Display as little information as possible
  -r, --region <region>  The AWS region (default: "us-east-1", env: AWS_REGION)
  -o, --output <output>  Dump output to this file
  -h, --help             display help for command

Commands:
  redis|r [options]      Monitoring and pub/sub actions using redis
  inst|i [options]       Display information about instances
  asg|a [options]        Management of ASG commands
  env|e [options]        Display instance information
  worker|w               Display and modify CloudFlare workers
  help [command]         display help for command

Once installed (above) you can use the command line tool to query AWS systems. Here are some example usage commands

# to show the commander help (as above)
npm run awt help

# to list all AWS instances in a region
npm run awt inst list

# to turn on CW debugging 
npm run awt redis debug cw off