SSM Helpers
Helpers to manage you systems with AWS Systems Manager suite of management tools.
Tools in this repo
ssm-session
- Interactive shell with an instance via AWS Systems Manager Session Manager (ssh
andcssh
replacement)ssm-run
- Run a command on multiple instances based on instance tags or names (mco
andknife
replacement)
If you would like more information about the tools, see the README for each in ./cmd/<tool-name>/
.
Install
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 master
To install the packages from git you can install them individually via:
go get github.com/disneystreaming/ssm-helpers/cmd/ssm-session
go get github.com/disneystreaming/ssm-helpers/cmd/ssm-run
Build
go build -o ssm-run ./cmd/ssm-run/main.go
go build -o ssm-session ./cmd/ssm-session/main.go
Develop
Each tool lives in the cmd/<tool-name>
folder and is written in go.
They use the aws-sdk-go as well as our own fork of gomux and a new library we provide at go-ssmhelpers.
If you find bugs or would like to suggest improvements please use GitHub issues on the appropriate repo.