From f053931a1df57916d5132a42f8920adf2f9aa842 Mon Sep 17 00:00:00 2001 From: ji ruo <79234113+RuoJi6@users.noreply.github.com> Date: Tue, 3 Nov 2026 14:56:39 +0800 Subject: [PATCH] fix: require Basic Auth for health checks --- .github/workflows/release.yml | 10 +++++- README.md | 2 +- server/basic_auth.go | 7 ++-- server/basic_auth_test.go | 12 +++++-- server/health_test.go | 65 ++++++++++++++++++++++++++++------- server/server.go | 2 +- web/src/lib/api.ts | 2 +- 7 files changed, 76 insertions(+), 24 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a38b0b0..4e8620b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -246,7 +246,15 @@ jobs: trap 'docker logs artex-smoke; docker rm -f artex-smoke' EXIT curl --fail --retry 30 --retry-connrefused --retry-delay 2 --max-time 3 \ http://127.0.0.1:8787/api/health > /tmp/artex-health.json - jq -e --arg version "${RELEASE_TAG#v}" '.ok == true and .version == $version' /tmp/artex-health.json + jq -e '. == {"ok": true}' /tmp/artex-health.json + curl --fail -H 'Content-Type: application/json' \ + --data '{"password":"smoke-test-admin-password"}' \ + http://127.0.0.1:8787/api/auth/init > /tmp/artex-auth.json + token=$(jq -er '.token' /tmp/artex-auth.json) + echo "::add-mask::$token" + curl --fail -H "Authorization: Bearer $token" \ + http://127.0.0.1:8787/api/version > /tmp/artex-version.json + jq -e --arg version "${RELEASE_TAG#v}" '.version == $version' /tmp/artex-version.json curl --fail http://127.0.0.1:8787/ > /tmp/artex-index.html grep -qi ' get<{ ok: boolean }>("/health"), version: () => http<{ version: string }>("/version", { cache: "no-store" }), systemMetrics: () => get("/system/metrics"),