Mini PC-ul poate trimite cerere reală de pairing către Guard. Cererea rămâne în pending_admin_approval până la M9.6.
M9.5 enables the first real manual pairing request from the mini PC to Guard. Requests are stored as pending_admin_approval and are not auto-approved. No production, camera discovery, stream, media, service autostart, cron or billing is enabled.
#!/bin/bash
set -e
echo "=================================================="
echo "DERIOX GUARD - MANUAL PAIRING REQUEST M9.5"
echo "=================================================="
echo "This sends one metadata-only pairing request to Guard."
echo "It does NOT approve the gateway, does NOT start a service,"
echo "does NOT scan cameras and does NOT send passwords, streams or media."
echo ""
CONF="/etc/deriox-guard/agent.env"
GUARD_URL="https://guard.deriox.ro"
AGENT_NAME="mini-pc-pilot-01"
GATEWAY_UUID=""
if [ -f "$CONF" ]; then
# shellcheck disable=SC1090
source "$CONF" || true
if [ -n "${DERIOX_GUARD_URL:-}" ]; then GUARD_URL="$DERIOX_GUARD_URL"; fi
if [ -n "${DERIOX_AGENT_NAME:-}" ]; then AGENT_NAME="$DERIOX_AGENT_NAME"; fi
if [ -n "${DERIOX_GATEWAY_UUID:-}" ]; then GATEWAY_UUID="$DERIOX_GATEWAY_UUID"; fi
fi
HOST_NAME="$(hostname 2>/dev/null || echo unknown)"
OS_NAME="$(uname -a 2>/dev/null | tr '"' "'" | tr -d '\n')"
MACHINE_ID="$(cat /etc/machine-id 2>/dev/null || hostname)"
MACHINE_HASH="$(printf "%s" "$MACHINE_ID" | sha256sum | awk '{print $1}')"
LOCAL_IP="$(hostname -I 2>/dev/null | awk '{print $1}' || echo '')"
if [ -z "$GATEWAY_UUID" ]; then
GATEWAY_UUID="manual-${HOST_NAME}-$(printf "%s" "$MACHINE_HASH" | awk '{print substr($1,1,16)}')"
fi
PAYLOAD=$(cat <<JSON
{
"gateway_uuid": "$GATEWAY_UUID",
"agent_name": "$AGENT_NAME",
"agent_version": "m9.5-manual-pairing",
"host_name": "$HOST_NAME",
"os_name": "$OS_NAME",
"machine_hash": "$MACHINE_HASH",
"local_ip": "$LOCAL_IP",
"manual_run": 1,
"admin_approval_required": 1,
"auto_approval_enabled": 0,
"service_autostart_enabled": 0,
"cron_enabled": 0,
"production_go_live_enabled": 0,
"real_camera_access_enabled": 0,
"camera_discovery_enabled": 0,
"stream_link_enabled": 0,
"media_enabled": 0,
"billing_enabled": 0
}
JSON
)
echo "Gateway UUID: $GATEWAY_UUID"
echo "Agent name: $AGENT_NAME"
echo "Endpoint: $GUARD_URL/api/gateway/mini-pc/pairing-request"
echo ""
curl -k -sS \
-H "Content-Type: application/json" \
-X POST "$GUARD_URL/api/gateway/mini-pc/pairing-request" \
--data "$PAYLOAD"
echo ""
echo "M9.5 manual pairing request sent."
echo "Status should be pending_admin_approval until M9.6 admin approval."