Skip to content

Instantly share code, notes, and snippets.

View greyhoundforty's full-sized avatar
🏠
Working from home

Ryan Tiffany greyhoundforty

🏠
Working from home
View GitHub Profile
@greyhoundforty
greyhoundforty / k8s-worker.sh
Created April 17, 2025 18:09
RHEL 9 Kubernetes worker install script
#!/usr/bin/env bash
# Log all output
exec > >(tee /var/log/user-data.log|logger -t user-data -s 2>/dev/console) 2>&1
echo "Starting worker node installation..."
# Update package manager and add dependencies
dnf makecache
dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
@greyhoundforty
greyhoundforty / py-code-scan.md
Created April 16, 2025 10:23
Python Code Directory Scanner

Directory Scanner by Type

A Python utility for scanning directories to identify code projects by file types and Git repository status.

Features

  • Scans directories recursively to a configurable depth
  • Detects programming languages and file types based on extensions
  • Identifies Git repositories
  • Presents results in a formatted table using Rich
@greyhoundforty
greyhoundforty / ce-do-app-tls.py
Created January 15, 2025 18:01
Code Engine Automated TLS with Custom Domain
import os
import subprocess
import click
import tldextract
from datetime import datetime
from ibm_cloud_sdk_core.authenticators import IAMAuthenticator
from ibm_cloud_sdk_core import ApiException
from ibm_code_engine_sdk.code_engine_v2 import CodeEngineV2, ProjectsPager
from pydo import Client
@greyhoundforty
greyhoundforty / prefect-deploy.md
Created January 9, 2025 15:21
Prefect deployment from repo

Deployment declaration

from prefect import flow

# Source for the code to deploy (here, a GitHub repo)
SOURCE_REPO="https://github.com/greyhoundforty/prefect-flow-testing.git"

if __name__ == "__main__":
    flow.from_source(
@greyhoundforty
greyhoundforty / sm-private-ca.md
Last active October 9, 2024 13:47
Secrets Manager Private CA Setup

Create Root Certificate Authority

Create a file called root-ca.json and add the following:

{
    "config_type": "private_cert_configuration_root_ca",
    "name": "rst-cli-root-ca",
    "max_ttl": "43830h",
    "crl_expiry": "72h",
@greyhoundforty
greyhoundforty / list-resources.py
Created September 20, 2024 18:54
Dump IBM account resources to csv
import os
import csv
import click
from ibm_cloud_sdk_core.authenticators import IAMAuthenticator
from ibm_cloud_sdk_core.api_exception import ApiException
from ibm_platform_services.resource_controller_v2 import *
from ibm_platform_services import IamIdentityV1, ResourceManagerV2
from rich.console import Console
from rich.table import Table
from rich.text import Text
@greyhoundforty
greyhoundforty / Taskfile.yml
Last active June 10, 2024 17:02
Python Taskfile
# https://taskfile.dev/
version: "3"
vars:
TERM: screen-256color
MAIN_PYTHON: python3
LOCAL_PATH:
sh: 'echo "$(cd "$( dirname -- "$0" )" && pwd)"'
venv_path: "{{.LOCAL_PATH}}/.venv"
venv_bin_path: "{{.LOCAL_PATH}}/.venv/bin"
@greyhoundforty
greyhoundforty / ce-icr-oc-mirror.md
Created June 6, 2024 17:28
Run oc adm registry mirror via Code Engine

Dockerfile

FROM ubuntu:22.04

WORKDIR /app

RUN apt-get update && \
    apt-get install -y -q --allow-unauthenticated \
 build-essential \
@greyhoundforty
greyhoundforty / functions.zsh
Created June 5, 2024 15:56
zsh-functions for remote load with zinit
function get_ubuntu_images() {
ibmcloud login -r "$@" -q >/dev/null 2>&1
vpc_region=$(ibmcloud target --output json | jq -r '.region.name')
printf "%b" "\e[1;34mGetting Ubuntu images in ${vpc_region}:.\e[0m"
printf '\n'
ibmcloud is images --visibility public --output json | jq -r '.[] | select(.status=="available") | select(.operating_system.architecture=="amd64") | select(.name | startswith("ibm-ubuntu")) | .name,.id'
}
function get_windows_images() {
ibmcloud login -r "$@" -q >/dev/null 2>&1
@greyhoundforty
greyhoundforty / Makefile
Created June 2, 2024 09:18
Python Makefile example
SHELL:=/bin/zsh
.SHELLFLAGS := -eu -o pipefail -c
.ONESHELL:
PY_VERSION = 3.11.0
VENV = .venv
PY = $$(if [ -f $(VENV)/bin/python ]; then echo $(VENV)/bin/python; else echo python; fi)
PIP = $(PY) -m pip
PWD = $(shell pwd)