Skip to content

Latest commit

 

History

19 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

public-tools

CI

A collection of CLI tools I've written for myself that have been useful. Yes, there was help from the robots here, mostly Claude.

Tools

Tool Description Language Version Released
asm AWS Secrets Manager CLI (get, create, update, delete, search secrets).
Supports key/value pairs, files, TLS certs, and binary data.
Python v1.0.0 2026-02-18
aws-secret-replication-check Check Secrets Manager replication status.
Lists all secrets in a region with their cross-region replication state.
Python v1.0.0 2026-02-18
brew-python Manage Homebrew Python symlinks.
Lists available versions, shows current status, switches between installed versions.
Bash v1.0.0 2026-02-18
ec2-search Search and display EC2 instances across regions and profiles.
Displays Profile, Instance ID, Type, AZ, State, and tags.
Supports multiple AWS profiles and custom tag filtering.
Python v1.0.0 2026-02-18
ec2-state Manage EC2 instance state (get status, stop, start, terminate).
Auto-discovers region across all AWS regions.
Python v1.0.0 2026-02-18
fcd Fuzzy directory finder (interactive cd).
Searches directories by name with interactive selection.
Configurable exclusions, depth control, and k8s context switching.
Bash v1.0.0 2026-02-18
gh-cleanup-runners Clean up GitHub Actions self-hosted runners.
Identifies and removes offline runners at org or repo level.
Bash v1.0.0 2026-02-18
gh-runner-audit Audit GitHub Actions runner usage across an org.
Lists repos with workflow status, runner groups, and runner counts.
Python v1.0.0 2026-02-18
gh-search Search repos in GitHub or a specific organization for a string.
Displays matching repos with option to clone and open in VS Code.
Python v1.0.0 2026-02-18
git-audit Generate audit report of GitHub PRs and direct commits with filtering.
Reports filtered by date, file patterns, PR titles, and ticket numbers.
Outputs as list or CSV.
Python v1.0.0 2026-02-18
git-cleanup Manage branches and GitHub Actions runs.
Delete merged branches, clear workflow runs, and bulk cleanup.
Python v1.0.0 2026-02-18
git-copy-branch Copy file changes between git branches.
Copies modified/added/deleted files from origin to destination branch.
Auto-commits deleted files.
Python v1.0.0 2026-02-18
git-force-quit-job Force-cancel a stuck GitHub Actions run.
Parses the run URL and issues a force-cancel via gh api.
Bash v1.0.0 2026-02-18
git-update-branches Batch update git repositories.
Iterates through a directory of repos and updates the default branch.
Preserves state (stash, current branch) and restores after update.
Bash v1.0.1 2026-02-18
github-delete-pr-comments Delete all comments on a GitHub pull request.
Removes comments by PR URL; reads credentials from ~/.git-credentials.
Python v1.0.0 2026-02-18
k8s-label-search Search Kubernetes resources by labels and annotations.
Match by key, value, or key=value across multiple clusters.
Supports JSON and matrix output formats.
Python v1.0.0 2026-02-18
ktail Tail Kubernetes logs with filtering and multi-pod support.
Streams logs from all matching pods simultaneously.
Supports colored output, JSON format, and include/exclude regex.
Bash v1.0.0 2026-02-18
ktx Fuzzy search and switch Kubernetes contexts.
Numbered menu when multiple contexts match; optionally switches namespace.
Bash v1.0.0 2026-02-18
merge-yaml Deep-merge two YAML files.
Second file's values override the first.
Optionally annotates changed lines with a comment.
Python v1.0.0 2026-02-18
open-github-repo Search and open a GitHub repository in browser.
Opens current repo without arguments; supports org-scoped search.
Python v1.0.0 2026-02-18
sort-manifests Sort Kubernetes manifests by kind and name.
Sorts multi-document YAML and writes output with a -sorted suffix.
Python v1.0.0 2026-02-18
sort-yaml-key Sort a YAML file by a specified key.
Reorders each block so the sort key appears first.
Python v1.0.0 2026-02-18
testpod Deploy or delete a netshoot debug pod in Kubernetes.
Creates a nicolaka/netshoot pod with optional interactive shell.
Supports easy cleanup with -d flag.
Python v1.0.0 2026-02-18
tf-sort Sort Terraform resource definitions alphabetically.
Organizes Terraform and OpenTofu (.tofu) files for better readability and git diffs.
Preserves comments and formatting.
Bash v1.1.0 2026-09-24
tfdel Delete .terraform directories and lock files.
Recursively removes Terraform and OpenTofu caches and reports disk space reclaimed.
Python v1.0.0 2026-02-18
tfplan-all Run terraform (or tofu) init+plan on all subdirectories containing .tf (or .tofu) files.
Parallel execution with filtering, output saving, and graceful cancellation.
Python v1.1.0 2026-09-24

Installation

Quick Start

make install      # Install Python dependencies
make link         # Symlink tools to ~/.local/bin

Ensure ~/.local/bin is in your PATH, or specify a different location:

make link INSTALL_DIR=~/bin

Requirements

Python: 3.10 or later (for type hints and modern syntax)

CLI tools (verified with make check-deps):

  • git - Required for most tools
  • gh (GitHub CLI) - Required for git-cleanup, git-audit, gh-cleanup-runners, gh-runner-audit, gh-search, git-force-quit-job, open-github-repo, github-delete-pr-comments
  • aws (AWS CLI) - Required for ec2-search, ec2-state, asm, aws-secret-replication-check
  • kubectl - Required for k8s-label-search, ktail, ktx, testpod
  • kubectx, kubens - Required for ktx
  • terraform or tofu (OpenTofu) - Required for tfplan-all
  • jq - Required for gh-cleanup-runners

Python packages (installed via make install):

  • typer - CLI framework
  • GitPython - Git operations for git-copy-branch, git-audit
  • tabulate - Table formatting
  • requests - HTTP client for gh-search, github-delete-pr-comments
  • boto3 - AWS SDK for asm, aws-secret-replication-check
  • PyYAML - YAML parsing for merge-yaml, sort-manifests, sort-yaml-key
  • PyGithub - GitHub API for open-github-repo

Run make check-deps to verify required CLI tools are installed.

Uninstall

make unlink       # Remove symlinks
make uninstall    # Remove Python dependencies

Development

make install-dev  # Install dependencies + pre-commit hooks
make lint         # Run all linters
make clean        # Clean caches and bytecode

Releases

Each tool is versioned independently using tags in the format <tool-name>/v<version>.

To release a new version of a tool:

git tag brew-python/v1.0.0
git push origin brew-python/v1.0.0

This triggers a GitHub release with the tool files attached.

About

Random Homemade SRE / DevOps Tools

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages