Skip to content

Instantly share code, notes, and snippets.

@steigr
steigr / gentoo-initrd-autoinstall-netboot.patch
Created July 29, 2013 15:07
Patch for Gentoo Installer InitRD to download the minimal iso-file at early-boot (before switch-root), mount it and the included squashfs-image loopback. Further there is a new commandline-option "autoinstall" which must be a shellscript. It will be executed after the installer finished booting (at "Starting local") and is intended to bootstrap …
--- gentoo.igz/init.orig 2013-07-29 16:56:59.274531548 +0200
+++ gentoo.igz/init 2013-07-29 16:53:28.636472431 +0200
@@ -254,6 +254,11 @@
nounionfs)
USE_UNIONFS_NORMAL=0
;;
+ autoinstall)
+ AUTO_INSTALL_URL=${x#*=}
+ export AUTO_INSTALL_URL
+ good_msg "Autoconfiguration from ${AUTO_INSTALL_URL}"
@steigr
steigr / rails-docker
Last active March 14, 2023 19:37
Shellscript to build Rails Application Container real fast build time, once built
#!/usr/bin/env bash
_docker_entrypoint() {
cat <<'_docker_entrypoint'
#!/usr/bin/env bash
# error handling
set -eo pipefail
trap exit exit
@steigr
steigr / pam-tid-sudo.sh
Created July 31, 2018 15:19
Enable TouchID-support with sudo
#!/usr/bin/env bash
sudo sed -i '' -e '/^#/a\'$'\n''auth sufficient pam_tid.so' /etc/pam.d/sudo
@steigr
steigr / kubeclient-exec.rb
Last active October 25, 2021 10:58
Running commands inside pods
#!/usr/bin/env ruby
# install kubeclient and websocket-client-simple gems
#
# this is an example extending Kubeclient::Client with an get_pod_exec method
#
# it's just a POC
# I did run a pod with `kubectl -n kube-system run --tty --stdin --image=debian:buster-slim kubeclient`
# installed base ruby and required gems like:
# `apt-get update && apt-get install -y ruby ruby-dev build-essential && gem install --no-ri --no-rdoc kubeclient websocket-client-simple`
#
@steigr
steigr / ckv2trblt
Last active August 18, 2021 19:12
Download files from consul kv store and save them to a file or environment variables as base64'd gipped tar-archive.
#!/bin/bash
[[ "$TRACE" ]] && set -x
set -eo pipefail
need() {
command -v "${1:-$2}" > /dev/null 2>&1 \
&& export "$1=$(command -v "${1:-$2}")"
}
@steigr
steigr / fake-runc.sh
Last active October 2, 2020 14:31
Fake runc package to use crun
#!/bin/sh
printf "7avu2wMAAAAAAWZha2UtcnVuYy0xLjAuMC0xNgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAUAAAAAAAAAAAAAAAAAAAAAjq3oAQAAAAAAAAAHAAAQtAAAAD4AAAAHAAAQpAAAABAAAAENAAAABgAAAAAAAAABAAABEQAAAAYAAAApAAAAAQAAA+gAAAAEAAAAbAAAAAEAAAPsAAAABwAAAHAAAAAQAAAD7wAAAAQAAACAAAAAAQAAA/AAAAAHAAAAhAAAECBjNDBmZTIzZDZmNjgxZjk4Njc2YmQ2ZDJkOTkwNzFkNTUxM2Q1YjA3ADdhOWQzNjc1ZGQ5MTUzNjlmMmUwNjg2NGE1MTJiMDYyY2UyN2FmOTg2MzJjNGJmOGM5Mjg4NTZmNGUxNzI5NTMAAAAAAAX1jA2uPu66Rqgo4QgZaIqMOgAAAHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
@steigr
steigr / com.docker.hyperkit
Last active May 27, 2020 05:08
Second disk for Docker-for-Desktop
#!/usr/bin/env ruby
newDiskName = "ZFS.raw"
newDiskSize = "20g"
args ||= []
diskArg = ""
ARGV.size.times do |idx|
@steigr
steigr / build
Last active February 15, 2019 16:45
Docker for Desktop Wireguard Kernel Module and Tool build script
#!/bin/sh
# curl -sL https://gist.github.com/steigr/0746c759db9acbb608c1c9fca6d45c96/raw/61aace735f8e2adb991bcdf2b07c9aa420ced0c7 | sh
docker run --rm --cap-add=SYS_MODULE -i alpine sh <<'_EOF' | tar xv
apk add --no-cache make gcc curl bc libc-dev git xz bzip2 >&2
mkdir -p /usr/src/linux /usr/src/libmnl /usr/src/wireguard >&2
# linux headers and build infrastructure
KVER="$(awk -F'version ' < /proc/version '{print $2}' | awk -F- '{print $1}')" >&2
curl -L "https://cdn.kernel.org/pub/linux/kernel/v${KVER%%.*}.x/linux-${KVER}.tar.xz" | xzcat | tar -x -C /usr/src/linux --strip-components=1 >&2
cd /usr/src/linux >&2
zcat /proc/config.gz > .config
#!/usr/bin/env bash
namespace=$1
kubectl proxy&
trap "kill $!" EXIT
kubectl get "namespaces/$namespace" -o json \
| jq 'del(.spec.finalizers)' \
| curl -H "Content-Type: application/json" -X PUT --data-binary @- "http://127.0.0.1:8001/api/v1/namespaces/$namespace/finalize"
@steigr
steigr / kernel-mod-sign
Created December 26, 2018 07:40
Sign kernel modules
#!/usr/bin/env bash
[[ "$#" -eq 2 ]] && mokKey="$1"
[[ "$#" -eq 2 ]] && mokCrt="$2"
fail(){ echo "$*"; exit 1; }
kernelver="$(uname -r)"
[[ -f "/usr/src/kernels/$kernelver/scripts/sign-file" ]] || fail "sign-file not found in /usr/src/kernels/$kernelver/scripts/sign-file"