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-scripts
See ./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.txt
Scripts assume these are available as needed: kubectl, helm, aws, gcloud, jq, yq, exiftool, imagemagick
These files are symlinked into ~/ and sourced by ~/.bashrc:
# In ~/.bashrc:
if [ -f ~/.bash_functions ]; then . ~/.bash_functions; fi
if [ -f ~/.bash_tricks ]; then . ~/.bash_tricks; fi
These 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).
- Bash scripts:
#!/usr/bin/env bash, set -e or set -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
keyring and config files (e.g., ~/.atlassian-conf.json), never hardcoded
ws/ and tmp/ directories are gitignored working/scratch space
.env* files are gitignored
- Some Python scripts have companion
.md docs in python/
- The
posts_to_pdf library was extracted to its own repo: almoore/storybound