Skip to content

Help manage AWS systems manager with helpers

License

Notifications You must be signed in to change notification settings

disneystreaming/ssm-helpers

Repository files navigation

SSM Helpers

Helpers to manage you systems with AWS Systems Manager suite of management tools.

Tools in this repo

  • ssm subcommands:

    • session - Interactive shell with an instance via AWS Systems Manager Session Manager (ssh and cssh replacement)

    • run - Run a command on multiple instances based on instance tags or names (mco and knife replacement)

If you would like more information about the available commands, see the README for each in ./cmd/<command-name>/.

Install

goreleaser

Homebrew

Install the tools via homebrew with

brew install disneystreaming/tap/ssm-helpers

For more information on Homebrew taps please see the tap documentation

Docker

You can run the tools from docker containers

# ssm run
docker run -it --rm -v $HOME/.aws:/root/.aws \
    -e AWS_PROFILE=$AWS_PROFILE -e AWS_REGION=$AWS_REGION \
    docker.pkg.github.com/disneystreaming/ssm-helpers/ssm run

# ssm session (change detach keys for tmux)
docker run -it --rm --detach-keys 'ctrl-e,e' \
    -v $HOME/.aws:/root/.aws -e AWS_PROFILE=$AWS_PROFILE \
    -e AWS_REGION=$AWS_REGION \
    docker.pkg.github.com/disneystreaming/ssm-helpers/ssm session

Manually

You can find tagged releases for Windows, macOS, and Linux on the releases page

Latest from main

To install the package from git, you can fetch it via:

go get github.com/disneystreaming/ssm-helpers/

Build

make build

Testing

make test

Linting

make check

Develop

Each subcommand lives in the cmd/<command-name> folder and is written in go.
They use the aws-sdk-go as well as our own fork of gomux.
The go-ssmhelpers library has been integrated into this project and will be archived.
If you find bugs or would like to suggest improvements please use GitHub issues on the appropriate repo.