penguin/monok8s

k8s image for Mono Gateway Dev Kit

alpine/rootfs-extra/etc/local.d/monok8s.start

raw ยท 1081 bytes

#!/bin/sh
set -eu

exec >>/var/log/monok8s/boot.log 2>&1

export PATH="/usr/local/bin:/usr/local/sbin:$PATH"

MIGRATIONS_LIB=/usr/lib/monok8s/lib/migrations.sh
CONFIG_DIR=/opt/monok8s/config
BOOT_STATE=/run/monok8s/boot-state.env
BOOTPART_FILE="$CONFIG_DIR/.bootpart"
MIGRATION_STATE_DIR="$CONFIG_DIR/migration-state"

mkdir -p /dev/hugepages
mountpoint -q /dev/hugepages || mount -t hugetlbfs none /dev/hugepages
echo 256 > /proc/sys/vm/nr_hugepages

CUR=$(grep '^BOOT_PART=' "$BOOT_STATE" | cut -d= -f2-)
LAST=$(cat "$BOOTPART_FILE" 2>/dev/null || true)

slot_changed=0
if [ "$CUR" != "$LAST" ]; then
	slot_changed=1
	echo "Slot changed ($LAST -> $CUR)"
fi

# shellcheck source=/dev/null
. "$MIGRATIONS_LIB"

if [ "$slot_changed" -eq 1 ]; then
	monok8s_cleanup_runtime_state
fi

K8S_MINOR="$(monok8s_detect_k8s_minor || true)"
if [ -n "$K8S_MINOR" ]; then
	monok8s_run_migration_dir \
	"/usr/lib/monok8s/migrations.d/k8s/$K8S_MINOR" \
	"$MIGRATION_STATE_DIR/k8s/$K8S_MINOR"
fi

/usr/local/bin/ctl init --env-file "$CONFIG_DIR/cluster.env" >>/var/log/monok8s/bootstrap.log 2>&1 &