Skip to content

Instantly share code, notes, and snippets.

View jmarhee's full-sized avatar

jdm jmarhee

View GitHub Profile
@jmarhee
jmarhee / additional_manifests.yaml
Last active September 18, 2025 17:22
Configure MetalLB VIP (192.168.1.101) to be Service IP for Nginx Ingress
---
apiVersion: helm.cattle.io/v1
kind: HelmChart
metadata:
namespace: kube-system
name: metallb
spec:
targetNamespace: metallb-system
createNamespace: true
version: v0.14.8
#!/bin/bash
RANCHER_URL=$RANCHER_API_URL
API_TOKEN=$RANCHER_API_TOKEN
OLD_ROLE_NAME="Restricted Admin"
NEW_ROLE_NAME=""
get_role_id_by_name() {
local role_name=$1
@jmarhee
jmarhee / os-files-etc-fstab
Last active February 11, 2025 19:16
Goes into $ELEM/os-files/etc/fstab
## Default SLE Micro root filesystem
LABEL=ROOT / btrfs ro 0 0
LABEL=ROOT /.snapshots btrfs defaults,subvol=@/.snapshots 0 0
LABEL=ROOT /home btrfs defaults,subvol=@/home 0 0
LABEL=ROOT /opt btrfs defaults,subvol=@/opt 0 0
LABEL=ROOT /root btrfs defaults,subvol=@/root,x-initrd.mount 0 0
LABEL=ROOT /srv btrfs defaults,subvol=@/srv 0 0
LABEL=ROOT /var btrfs defaults,subvol=@/var,x-initrd.mount 0 0
LABEL=EFI /boot/efi vfat defaults 0 0
LABEL=ROOT /boot/writable btrfs defaults,subvol=@/boot/writable 0 0
---
- name: Import Kubernetes Cluster into Rancher
hosts: localhost
gather_facts: no
vars:
rancher_url: "https://rancher_url/v3"
rancher_api_token: "bearer_token"
cluster_name: "my-imported-cluster"
tasks:
- name: Create a new cluster in Rancher
#!/bin/bash
# Define header size (IP + ICMP headers)
HEADER_SIZE=28
# Define the starting MTU size (adjust as needed)
START_MTU=1472
# Define the minimum MTU size (optional, adjust as needed)
MIN_MTU=100 # Common minimum Ethernet MTU
rkeConfig:
chartValues:
rke2-cilium:
kubeProxyReplacement: true
k8sServiceHost: 127.0.0.1
k8sServicePort: 6443
@jmarhee
jmarhee / harvester-boot.sh
Created May 1, 2024 17:24
Boots a two-node Harvester cluster.
#!/bin/bash
CLUSTER_TAG=harvester-$(openssl rand -hex 6)
ISO=/var/lib/libvirt/images/harvester-v1.3.0-amd64.iso
for i in {1..2}; do \
VM_NAME=$(openssl rand -hex 4); \
sudo qemu-img create /var/lib/libvirt/images/${CLUSTER_TAG}-${VM_NAME}-ROOT_VOL.img 180G; \
sudo qemu-img create /var/lib/libvirt/images/${CLUSTER_TAG}-${VM_NAME}-DATA_VOL.img 250G; \
sudo virt-install \

Install Elemental with virt-install on KVM

Using virt-install to install SUSE Elemental on KVM.

Prerequisites

When creating your Machine Registration Endpoint in the Rancher UI, ensure that registration.emulated-tpm-seed is set to -1, if you plan to add more than a single machine using the ISO you will be building.

For example:

@jmarhee
jmarhee / .muttrc
Last active May 7, 2024 08:26 — forked from lucianposton/.muttrc
mutt: muttrc settings for ProtonMail Bridge
set from="user@protonmail.com"
set my_user="user@protonmail.com"
set my_pass="pass"
set smtp_port="1025"
set imap_port="1143"
set ssl_starttls=yes
set smtp_url="smtp://$my_user:$my_pass@127.0.0.1:$smtp_port"
@jmarhee
jmarhee / README.md
Created April 9, 2023 05:44
Generate an epidemic curve with gnuplot from a CSV of data.

Epidemic Curve Graph Bash Script

This is a Bash script that generates an epidemic curve graph using the gnuplot tool. The script takes in a data file in CSV format and outputs a PNG image of the epidemic curve.

Prerequisites

In order to use this script, you will need to have gnuplot installed on your system. If you're using a Debian-based distribution, you can install gnuplot using the following command:

sudo apt-get install gnuplot