Notes & How-To Guides¶
Shorter notes and how-tos: the commands I keep looking up and the setups I don’t want to figure out twice.
Categories¶
Container Technologies
OpenShift Virtualization Sidecar - Rewrite the libvirt domain XML of a running VM with a hook sidecar
Merging kubeconfig Files - One kubeconfig for all your clusters
OpenShift Console Banner - A colored banner so you stop applying things to prod by mistake
Podman - The Podman commands I keep looking up: squash, Quadlet, pods, pasta
Linux Administration
Linux File Permissions and ACLs - setfacl, getfacl, masks, default ACLs, and Samba integration
AI & GPU
Running vLLM on Strix Halo - Building vLLM against ROCm nightlies on gfx1151, OpenStack-early-days vibes
OpenStack
RHOSO BGP Dynamic Routing - Study notes on FRR, the OVN BGP agent, and what breaks
Concepts & Thoughts
Defms - A 2018 essay on a distributed, encrypted and free mail system
Quick Reference¶
# Merge kubeconfig files
KUBECONFIG=~/.kube/config:~/new-cluster-config kubectl config view --flatten > ~/.kube/merged-config
export KUBECONFIG=~/.kube/merged-config
# Set console banner (ConsoleNotification, see the banner note)
oc apply -f - <<'EOF'
apiVersion: console.openshift.io/v1
kind: ConsoleNotification
metadata:
name: banner
spec:
text: This is a test environment
location: BannerTop
backgroundColor: '#0f4414'
color: '#ffffff'
EOF
apiVersion: kubevirt.io/v1
kind: VirtualMachine
spec:
template:
spec:
domain:
devices:
disks:
- name: containerdisk
disk:
bus: virtio
- name: cloudinitdisk
disk:
bus: virtio
# Run a container
podman run -d --name web -p 8080:80 nginx
# List containers
podman ps
# Build from Containerfile
podman build -t myapp .
# Quadlet: drop a .container file for systemd integration
# ~/.config/containers/systemd/myapp.container
# then: systemctl --user daemon-reload && systemctl --user start myapp