A collection of standalone utility scripts for DevOps workflows covering AWS, GCP, Kubernetes, Helm, Jira, and general automation. Scripts are self-contained and designed to run independently with standard CLI tools.
| Directory | Scripts | Description |
|---|---|---|
| aws/ | 8 | AWS utilities — IAM policy/role downloads, RDS queries, authentication |
| bash/ | 67 | General bash utilities — git helpers, Docker tools, system diagnostics |
| gcp/ | 4 | Google Cloud Platform — GPU availability, GCS KMS re-encryption |
| helm/ | 9 | Helm chart management — release upgrades, diffs, value extraction |
| k8s/ | 32 | Kubernetes utilities — secrets, events, pod management, backups |
| python/ | 50 | Python tools — Jira, Facebook, Terraform, YouTube, data conversion |
| api-scripts/ | 39 | Legacy API integrations — Stash, Salt, Jenkins, Bamboo |
| expect/ | 2 | Expect-based SSH and MySQL automation |
| images/ | 3 | ImageMagick image processing — watermarks, effects |
| archive/ | 1 | Legacy/outdated scripts kept for reference |
Most scripts can be run directly. To set up all ~/bin and shell dotfile symlinks on a new machine:
git clone https://github.com/almoore/useful-scripts.git
cd useful-scripts
# Preview what will be created
./setup-symlinks.sh check
# Create all symlinks
./setup-symlinks.sh install
# Or override the repo path if cloned elsewhere
./setup-symlinks.sh install -r /path/to/useful-scriptsSee ./setup-symlinks.sh --help for all options (check, install, remove, list).
# Core dependencies (Pipfile)
pipenv install
# Jira scripts (not in Pipfile)
pip install jira atlassian-python-api keyring
# Legacy api-scripts
pip install -r api-scripts/requirements.txtScripts assume these are available as needed: kubectl, helm, aws, gcloud, jq, yq, exiftool, imagemagick
These files are symlinked into ~/ and sourced by ~/.bashrc:
| Dotfile | Script | Description |
|---|---|---|
~/.bash_functions |
bash/lib/bash_functions.sh | Utility functions: PATH deduplication, pyenv management |
~/.bash_tricks |
bash/lib/bash-tricks.sh | Useful bash aliases and shell shortcuts |
# In ~/.bashrc:
if [ -f ~/.bash_functions ]; then . ~/.bash_functions; fi
if [ -f ~/.bash_tricks ]; then . ~/.bash_tricks; fiThese scripts are symlinked from ~/bin for direct command-line use. The symlinks point through ~/repos/me/useful-scripts/ (which is this same repo at an alternate path).
| Command | Script |
|---|---|
aws-docker-login |
bash/aws-docker-login.sh |
aws-download-policies |
aws/download-policies.sh |
aws-download-roles |
aws/download-roles.sh |
aws-ssm-find |
bash/aws-ssm-find.sh |
| Command | Script |
|---|---|
git-base |
bash/git-base.sh |
git-bump |
bash/git-bump.sh |
git-jira-branch |
python/git_jira_branch.py |
| Command | Script |
|---|---|
hrs-values.py |
helm/hrs-values.py |
| Command | Script |
|---|---|
bs |
python/bs.py |
bs-pass |
python/bs-pass.py |
export-dotenv |
python/export_dotenv.py |
- Bash scripts:
#!/usr/bin/env bash,set -eorset -euo pipefail, 2-space indentation - Python scripts:
#!/usr/bin/env python3, argparse for CLI args, 4-space indentation, 80-char lines - Formatting: Enforced via .editorconfig — LF line endings, UTF-8, trailing whitespace trimmed
- Credentials: Managed via
keyringand config files (e.g.,~/.atlassian-conf.json), never hardcoded
ws/andtmp/directories are gitignored working/scratch space.env*files are gitignored- Some Python scripts have companion
.mddocs inpython/ - The
posts_to_pdflibrary was extracted to its own repo: almoore/storybound
