feat(health-checks): enhance health check configuration and UI components
quality / commitlint (push) Skipped
CD / update-wiki (push) Successful in 5s
quality / changes (push) Successful in 5s
quality / docker-check (push) Skipped
quality / web (push) Successful in 54s
quality / api (push) Successful in 52s
CD / quality (push) Successful in 1m55s
CD / publish (push) Successful in 1m54s

- Introduced a new HealthProviderToggle component to manage health check providers (local/cloudflare) in the UI.
- Updated health check configuration to include additional parameters such as retries and consecutive success/failure counts.
- Improved the service edit and group edit sheets to support the new health check provider options.
- Enhanced documentation to clarify the use of ACTIONS_PAT and GITEA_TOKEN for wiki updates.

This commit improves the health check management experience and expands the configuration options for better service monitoring.
This commit is contained in:
Denozordec
2026-08-19 12:39:33 +07:00
parent 3f6f402872
commit b2dbb4ad98
7 changed files with 154 additions and 47 deletions
+15 -10
View File
@@ -40,21 +40,26 @@ jobs:
- name: Update and push Wiki content
if: steps.check_changes.outputs.changed == 'true'
env:
WIKI_TOKEN: ${{ secrets.GITEA_TOKEN || secrets.ACTIONS_PAT }}
SERVER_URL: ${{ gitea.server_url }}
# ACTIONS_PAT уже пишет git (tags/releases). GITEA_TOKEN — опциональный
# wiki-only PAT; если он задан без write, Gitea отвечает 404, не 403.
WIKI_TOKEN: ${{ secrets.ACTIONS_PAT || secrets.GITEA_TOKEN }}
# Не gitea.server_url: на runner это внутренний http://192.168.x.x:3000,
# а ROOT_URL = git.shx.one — git-receive-pack wiki тогда даёт 404.
GITEA_PUBLIC_URL: https://git.shx.one
REPO: ${{ gitea.repository }}
run: |
set -euo pipefail
if [ -z "${WIKI_TOKEN:-}" ]; then
echo "GITEA_TOKEN / ACTIONS_PAT is empty — cannot push wiki"
echo "ACTIONS_PAT / GITEA_TOKEN is empty — cannot push wiki"
exit 1
fi
# runner GITEA_INSTANCE_URL часто внутренний (http://192.168.x.x:3000).
# git после clone вырезает userinfo из origin → push без токена даёт 404
# «Repository not found». Authorization header переживает insteadOf/sanitize.
WIKI_URL="${SERVER_URL}/${REPO}.wiki.git"
AUTH_HEADER="Authorization: Basic $(printf '%s' "oauth2:${WIKI_TOKEN}" | base64 | tr -d '\n')"
git -c http.extraHeader="${AUTH_HEADER}" clone "${WIKI_URL}" cfdm.wiki
PUBLIC_URL="${GITEA_PUBLIC_URL%/}"
TOKEN_ENC="$(python3 -c 'import urllib.parse,os; print(urllib.parse.quote(os.environ["WIKI_TOKEN"], safe=""))')"
WIKI_URL="${PUBLIC_URL}/${REPO}.wiki.git"
# Gitea на неаутентифицированный wiki push отвечает 404, не 401 —
# extraHeader/ASKPASS не помогают: токен должен быть в URL с первого запроса.
AUTH_INSTEAD="url.https://oauth2:${TOKEN_ENC}@${PUBLIC_URL#https://}/.insteadOf=${PUBLIC_URL}/"
GIT_TERMINAL_PROMPT=0 git -c "${AUTH_INSTEAD}" clone "${WIKI_URL}" cfdm.wiki
cp docs/Home.md cfdm.wiki/Home.md
cd cfdm.wiki
git config user.name "Gitea Actions"
@@ -65,7 +70,7 @@ jobs:
exit 0
fi
git commit -m "docs: Update Wiki from main repository"
git -c http.extraHeader="${AUTH_HEADER}" push origin HEAD
GIT_TERMINAL_PROMPT=0 git -c "${AUTH_INSTEAD}" push origin HEAD
publish:
needs: [quality]