penguin/monok8s

k8s image for Mono Gateway Dev Kit

ask/cmm/init_dpa.sh

raw ยท 770 bytes

#!/bin/sh
set -eu

STATE_DIR="${CMM_STATE_DIR:-/host/run/monok8s/cmm}"
DONE_FILE="$STATE_DIR/dpa_app.loaded"
LOCK_DIR="$STATE_DIR/dpa_app.lock"

mkdir -p "$STATE_DIR"

if [ -e "$DONE_FILE" ]; then
	echo "[ask] dpa_app already loaded for this boot; skipping"
	exit 0
fi

if ! mkdir "$LOCK_DIR" 2>/dev/null; then
	echo "[ask] another dpa_app initialization is running; waiting"

	while [ ! -e "$DONE_FILE" ]; do
		sleep 1
	done

	echo "[ask] dpa_app was loaded by another process; skipping"
	exit 0
fi

trap 'rmdir "$LOCK_DIR" 2>/dev/null || true' EXIT

if [ -e "$DONE_FILE" ]; then
	echo "[ask] dpa_app already loaded for this boot; skipping"
	exit 0
fi

echo "[ask] running dpa_app"
/bin/dpa_app

date -u +"%Y-%m-%dT%H:%M:%SZ" > "$DONE_FILE"
echo "[ask] dpa_app loaded"