mirror of
https://github.com/freedombox/FreedomBox.git
synced 2026-07-29 12:09:37 +00:00
- Remove final status check, since it is confirmed at that point that setup is completed. - Print the final status in test log.
39 lines
1.1 KiB
Bash
39 lines
1.1 KiB
Bash
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
# Wait for FreedomBox first-boot setup to complete and the web server to
|
|
# start listening. App setup order is not deterministic, so a fixed sleep can
|
|
# expire before the apache app configures port 443. Poll instead of guessing.
|
|
echo "Waiting for first-boot setup to complete..."
|
|
|
|
SETUP_COMPLETE=0
|
|
|
|
for _ in $(seq 1 120); do
|
|
if curl --fail --insecure --silent --output /tmp/fbx_status.json \
|
|
https://localhost/freedombox/status/; then
|
|
|
|
if grep -q '"is_first_setup_running"[[:space:]]*:[[:space:]]*false' /tmp/fbx_status.json; then
|
|
SETUP_COMPLETE=1
|
|
break
|
|
fi
|
|
fi
|
|
sleep 2
|
|
done
|
|
|
|
# Print final status in test log
|
|
cat /tmp/fbx_status.json
|
|
|
|
rm -f /tmp/fbx_status.json
|
|
|
|
if [ "$SETUP_COMPLETE" -eq 0 ]; then
|
|
echo "Error: first-boot setup did not complete in the allotted time." >&2
|
|
exit 1
|
|
fi
|
|
|
|
journalctl --unit=plinth --unit=freedombox-privileged
|
|
|
|
# Access FreedomBox interface
|
|
curl --location --cookie "" --fail --write-out "%{response_code}" --insecure \
|
|
--stderr - https://localhost/freedombox/
|