awsum

command module
v1.1.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 27, 2025 License: Apache-2.0 Imports: 15 Imported by: 0

README

awsum

a fun CLI tool for working with AWS infra (cross-platform)

Installation

Required: Go 1.25

Installing from source:

git clone https://github.com/levelshatter/awsum
cd awsum/
go install 

Installing via go install:

go install github.com/levelshatter/awsum@latest

Installing via packaged release: Releases

Configuring

awsum uses the same exact configuration the awscli tool uses (since we use the client library already) to keep environments less messy.

If you have awscli installed & configured, you are already good to go!

If not, then you can do the following:

awsum configure

These commands create a basic configuration for your awsum and potential future awscli installations.

Usage

All AWS operations triggered by AWS service clients created by awsum are logged to files in a awsum directory created in the ~/.aws directory.

  • ~/.aws/awsum/awsum-global-aws-log-output for a record of all operations done by executions of awsum.
  • ~/.aws/awsum/awsum-session-aws-log-output-YYYY-MM-DD__HH-mm-SS for operations grouped by individual executions of awsum.

To get a description of awsum and how to use its commands and sub-commands:

awsum --help

(Example) To get help with commands and sub-commands:

awsum instance --help
Real-World Examples

Get a list of all instances in csv:

awsum instance list --format csv

Sequentially open a secure shell (SSH) to every instance with a name matching "worker":

awsum instance shell --name "worker"

Get the free disk space of every ec2 instance with a name matching "website" over SSH:

awsum instance shell --name website "df -h"

Basic app deployment w/ load-balancing (Amazon Linux example):

Note: awsum does not modify any non-related resources to prevent breaking existing infrastructure. Note 2: This is actually an exact replica of the demo deployment done by awsum (on two t2.nano instances) NGINX Demo.

# basic deployment

awsum instance shell --name demo "sudo yum install docker -y"
awsum instance shell --name demo "sudo service docker start"
awsum instance shell --name demo "sudo usermod -aG docker ec2-user"
awsum instance shell --name demo "docker rm nginx --force"
awsum instance shell --name demo "docker run -d -p 80:80 --name nginx nginxdemos/hello"

# load balancing - load balance an http service running on port 80 on instances matching the name "demo" using https with an ACM cert

awsum instance load-balance --service "nginx-demo" --name demo --port 443:80 --protocol https:http --certificate "levelshatter.com"

awsum really shines when used in CI/CD processes.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal
app

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL