Helpers to manage you systems with AWS Systems Manager suite of management tools.
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 the tools via homebrew with
brew install disneystreaming/tap/ssm-helpers
For more information on Homebrew taps please see the tap documentation
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
You can find tagged releases for Windows, macOS, and Linux on the releases page
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
go build -o ssm-run ./cmd/ssm-run/main.go
go build -o ssm-session ./cmd/ssm-session/main.go
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.