This commit is contained in:
28
scripts/intake-session.sh
Executable file
28
scripts/intake-session.sh
Executable file
@@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env bash
|
||||
set -Eeuo pipefail
|
||||
DATA=/mnt/intake-data
|
||||
mkdir -p "$DATA"
|
||||
if ! mountpoint -q "$DATA"; then
|
||||
disk=$(blkid -L INTAKE_DATA || true)
|
||||
if [[ -z "$disk" ]]; then echo 'FATAL: INTAKE_DATA partition missing. No scan will run.'; exec bash; fi
|
||||
mount -o rw,nosuid,nodev "$disk" "$DATA" || { echo 'FATAL: cannot mount persistent storage'; exec bash; }
|
||||
fi
|
||||
# First boot: provision Inventory config to the persistent data partition.
|
||||
mkdir -p "$DATA/config"
|
||||
if [[ -d /etc/csr-intake ]]; then
|
||||
for f in inventory.json inventory-api-key; do
|
||||
if [[ -f "/etc/csr-intake/$f" && ! -e "$DATA/config/$f" ]]; then
|
||||
install -m600 "/etc/csr-intake/$f" "$DATA/config/$f"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
export XDG_RUNTIME_DIR=/run/pc-intake-runtime
|
||||
mkdir -p "$XDG_RUNTIME_DIR"
|
||||
chmod 0700 "$XDG_RUNTIME_DIR"
|
||||
export WLR_RENDERER_ALLOW_SOFTWARE=1
|
||||
if command -v cage >/dev/null && [[ -x /usr/local/bin/intake-gui ]]; then
|
||||
echo "Launching graphical intake station..."
|
||||
cage -s -- /usr/local/bin/intake-gui --data "$DATA"
|
||||
echo "Graphical interface exited. Starting terminal fallback." >&2
|
||||
fi
|
||||
exec /usr/local/bin/intake-controller --data "$DATA"
|
||||
Reference in New Issue
Block a user