feat: implement update-service v1 migration and enrollment flow
- added /update/enroll endpoint and enrollment logic - migrated update client to v1 api endpoints and bearer auth - implemented remote status reporting in backend and scripts - updated requirements and project status
This commit is contained in:
@ -2,9 +2,11 @@
|
||||
set -euo pipefail
|
||||
|
||||
SERVICE_NAME="${SERVICE_NAME:-skd}"
|
||||
UPDATE_URL="${SKD_UPDATE_URL:-https://update.wlkns.org}"
|
||||
UPDATE_SERVICE_URL="${SKD_UPDATE_SERVICE_URL:-https://update.wlkns.org}"
|
||||
PROJECT_ID="${SKD_UPDATE_PROJECT_ID:-safe-kiddo-control}"
|
||||
UPDATE_TOKEN="${SKD_UPDATE_TOKEN:-}"
|
||||
STATUS_URL="${SKD_UPDATE_STATUS_URL:-https://update.wlkns.org/status}"
|
||||
MANIFEST_URL="${UPDATE_SERVICE_URL}/v1/projects/${PROJECT_ID}/manifest"
|
||||
STATUS_URL="${UPDATE_SERVICE_URL}/v1/projects/${PROJECT_ID}/status"
|
||||
STATUS_FILE="${SKD_UPDATE_STATUS_FILE:-/var/lib/skd/update_status.json}"
|
||||
LOG_FILE="${SKD_UPDATE_LOG_FILE:-/var/lib/skd/update_logs.jsonl}"
|
||||
INSTALL_DIR="${INSTALL_DIR:-/opt/sk}"
|
||||
@ -53,7 +55,15 @@ with log_file.open("a", encoding="utf-8") as handle:
|
||||
PY
|
||||
local payload
|
||||
payload=$(cat <<JSON
|
||||
{"device_id":"$(hostname)","version":"${VERSION}","status":"${status}","error":"${error}","timestamp":"${timestamp}"}
|
||||
{
|
||||
"project_id": "${PROJECT_ID}",
|
||||
"version": "${VERSION}",
|
||||
"status": "${status}",
|
||||
"timestamp": "${timestamp}",
|
||||
"client_id": "$(hostname)",
|
||||
"error_code": "${error}",
|
||||
"reason": "${error}"
|
||||
}
|
||||
JSON
|
||||
)
|
||||
if [[ -n "${UPDATE_TOKEN}" ]]; then
|
||||
@ -89,12 +99,12 @@ require_cmd tar
|
||||
require_cmd sha256sum
|
||||
require_cmd python3
|
||||
|
||||
log "Fetching update manifest from ${UPDATE_URL}..."
|
||||
log "Fetching update manifest from ${MANIFEST_URL}..."
|
||||
MANIFEST_FILE="$(mktemp)"
|
||||
if [[ -n "${UPDATE_TOKEN}" ]]; then
|
||||
curl -fsS -H "Authorization: Bearer ${UPDATE_TOKEN}" "${UPDATE_URL}" -o "${MANIFEST_FILE}"
|
||||
curl -fsS -H "Authorization: Bearer ${UPDATE_TOKEN}" "${MANIFEST_URL}" -o "${MANIFEST_FILE}"
|
||||
else
|
||||
curl -fsS "${UPDATE_URL}" -o "${MANIFEST_FILE}"
|
||||
curl -fsS "${MANIFEST_URL}" -o "${MANIFEST_FILE}"
|
||||
fi
|
||||
|
||||
read_manifest() {
|
||||
|
||||
Reference in New Issue
Block a user