Skip to content

Instantly share code, notes, and snippets.

View ruzickap's full-sized avatar

Petr Ruzicka ruzickap

View GitHub Profile
@ruzickap
ruzickap / gist:eb2ff36be6440526d54c6e04decb8325
Created July 28, 2025 03:33
OpenWRT - Expanding root partition and filesystem - 80-rootfs-resize
# https://openwrt.org/docs/guide-user/advanced/expand_root
if [ ! -e /etc/rootfs-resize ] && [ -e /etc/rootpt-resize ] && lock -n /var/lock/root-resize; then
(
set -eux
date
ROOT_BLK="$(readlink -f /sys/dev/block/"$(awk -e '$9=="/dev/root"{print $3}' /proc/self/mountinfo)")"
ROOT_DEV="/dev/${ROOT_BLK##*/}"
LOOP_DEV="$(awk -e '$5=="/overlay"{print $9}' /proc/self/mountinfo)"
@ruzickap
ruzickap / 70-rootpt-resize.sh
Created July 28, 2025 03:32
OpenWRT - Expanding root partition and filesystem - 70-rootpt-resize
# https://openwrt.org/docs/guide-user/advanced/expand_root
if [ ! -e /etc/rootpt-resize ] && lock -n /var/lock/root-resize; then
(
set -eux
date
ROOT_BLK="$(readlink -f /sys/dev/block/"$(awk -e '$9=="/dev/root"{print $3}' /proc/self/mountinfo)")"
ROOT_DISK="/dev/$(basename "${ROOT_BLK%/*}")"
ROOT_PART="${ROOT_BLK##*[^0-9]}"
parted -f -s "${ROOT_DISK}" resizepart "${ROOT_PART}" 100%
@ruzickap
ruzickap / btrfs_disk_partition.sh
Last active May 18, 2024 04:33
Create BTRFS partition on the HDD SATA disk used for backups
parted --script /dev/sda mklabel gpt
parted --script /dev/sda mkpart primary btrfs 0% 100%
mkfs.btrfs --runtime-features free-space-tree --label My_Disk_2_TB --nodiscard /dev/sda1
# Entry in /etc/fstab
# LABEL=My_Disk_2_TB /mnt/usb btrfs noatime,nodiratime,compress=zstd,autodefrag,space_cache=v2
# Links:
# * https://wiki.tnonline.net/w/Btrfs/Space_Cache
# * https://unix.stackexchange.com/questions/53378/how-can-i-script-the-creation-of-a-single-partition-that-uses-the-entire-device
@ruzickap
ruzickap / eksctl-calico.sh
Created March 27, 2023 15:39
Deploy Amazon EKS with Calico
#!/usr/bin/env bash
export CLUSTER_NAME="ruzickap-calico"
export AWS_DEFAULT_REGION="eu-central-1"
export KUBECONFIG="/tmp/kubeconfig-${CLUSTER_NAME}.conf"
export TAGS="[email protected] Environment=dev"
set -euxo pipefail
@ruzickap
ruzickap / aks.sh
Created March 15, 2023 07:44
Deploy Azure AKS
#!/usr/bin/env bash
export AZURE_LOCATION=westeurope
export CLUSTER_FQDN="ruzickap2aks.k8s.mylabs.dev"
# CLUSTER_NAME must have max 12 character due to "--nodepool-name" parameter
export CLUSTER_NAME="${CLUSTER_FQDN%%.*}"
export KUBECONFIG="/tmp/kubeconfig-${CLUSTER_NAME}.conf"
set -euxo pipefail
@ruzickap
ruzickap / aks-cilium.sh
Created March 15, 2023 07:41
Deploy Azure AKS with Cilium
#!/usr/bin/env bash
export AZURE_LOCATION="westeurope"
export CLUSTER_FQDN="ruzickap1aks.k8s.mylabs.dev"
# CLUSTER_NAME must have max 12 character due to "--nodepool-name" parameter
export CLUSTER_NAME="${CLUSTER_FQDN%%.*}"
export KUBECONFIG="/tmp/kubeconfig-${CLUSTER_NAME}.conf"
set -euxo pipefail
@ruzickap
ruzickap / eksctl-bottlerocket-karpenter.sh
Last active March 14, 2023 12:39
Create Amazon EKS with Bottlerocket and Karpener
#!/usr/bin/env bash
export CLUSTER_NAME="ruzickap3"
export AWS_DEFAULT_REGION="eu-central-1"
export KUBECONFIG="/tmp/kubeconfig-${CLUSTER_NAME}.conf"
export TAGS="[email protected] Environment=dev"
set -euxo pipefail
@ruzickap
ruzickap / kops-ubuntu.sh
Last active November 25, 2023 09:19
Deploy k8s cluster with Ubuntu nodes using kops
#!/usr/bin/env bash
export CLUSTER_FQDN="${CLUSTER_FQDN:-ruzickap-kops-ubuntu.k8s.mylabs.dev}"
export AWS_DEFAULT_REGION="${AWS_DEFAULT_REGION:-eu-central-1}"
export KUBECONFIG="/tmp/kubeconfig-${CLUSTER_FQDN}.conf"
export KOPS_STATE_STORE="s3://${CLUSTER_FQDN}"
set -euxo pipefail
## Create S3 bucket first
@ruzickap
ruzickap / get_decoded_secret.sh
Created May 10, 2022 10:31
Get decoded K8s data form Secret using kubectl
kubectl get secret -n test test-api-token -o go-template='{{range $k,$v := .data}}{{printf "%s: " $k}}{{if not $v}}{{$v}}{{else}}{{$v | base64decode}}{{end}}{{"\n"}}{{end}}'
@ruzickap
ruzickap / eksctl.sh
Last active November 24, 2023 19:58
Create Amazon EKS cluster using eksctl
#!/bin/bash -eux
export CLUSTER_NAME="${CLUSTER_NAME:-ruzickap}"
export AWS_DEFAULT_REGION="${AWS_DEFAULT_REGION:-eu-central-1}"
export KUBECONFIG="/tmp/kubeconfig-${CLUSTER_NAME}.conf"
export TAGS="[email protected] Environment=dev Group=Cloud_Native Squad=Cloud_Container_Platform"
set -euxo pipefail