54 lines
1.9 KiB
Bash
Executable File
54 lines
1.9 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
ROOT="/data/aios-gitops"
|
|
WORKSPACE="$ROOT/workspace"
|
|
GITEA_BIN="$ROOT/runtime/bin/gitea"
|
|
GITEA_HOME="$ROOT/runtime/gitea-bin"
|
|
SECRETS="$ROOT/runtime/secrets"
|
|
LOG="$ROOT/logs/gitea-repo-push-fix.log"
|
|
mkdir -p "$ROOT/logs"
|
|
exec > >(tee -a "$LOG") 2>&1
|
|
|
|
admin_user="aios"
|
|
admin_pass="$(cat "$SECRETS/gitea-admin-password")"
|
|
|
|
echo "== endpoint probe =="
|
|
for path in / /git/ /api/v1/version /git/api/v1/version /user/login /git/user/login; do
|
|
echo "== ${path} =="
|
|
curl -sS -i --max-time 8 "http://127.0.0.1:3000${path}" 2>&1 | sed -n '1,18p'
|
|
done
|
|
|
|
echo "== ensure admin user =="
|
|
"$GITEA_BIN" admin user create \
|
|
--config "$GITEA_HOME/custom/conf/app.ini" \
|
|
--username "$admin_user" \
|
|
--password "$admin_pass" \
|
|
--email "gitops-bot@cnnetmkt.top" \
|
|
--admin \
|
|
--must-change-password=false 2>/dev/null || true
|
|
|
|
echo "== create repo by internal API =="
|
|
if ! curl -fsS -u "$admin_user:$admin_pass" "http://127.0.0.1:3000/api/v1/repos/$admin_user/aios-v23" >/dev/null 2>&1; then
|
|
curl -fsS -u "$admin_user:$admin_pass" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{"name":"aios-v23","description":"AIOS V1R1C0 online GitOps baseline","private":false,"auto_init":false,"default_branch":"main"}' \
|
|
"http://127.0.0.1:3000/api/v1/user/repos" >/dev/null
|
|
fi
|
|
curl -fsS -u "$admin_user:$admin_pass" "http://127.0.0.1:3000/api/v1/repos/$admin_user/aios-v23" | python3 -m json.tool | sed -n '1,80p'
|
|
|
|
echo "== push main and tags =="
|
|
cd "$WORKSPACE"
|
|
push_url="http://${admin_user}:${admin_pass}@127.0.0.1:3000/${admin_user}/aios-v23.git"
|
|
git push "$push_url" main
|
|
git push "$push_url" --tags
|
|
git remote remove origin 2>/dev/null || true
|
|
git remote add origin "https://cnnetmkt.top/git/${admin_user}/aios-v23.git"
|
|
|
|
echo "== verify repo page =="
|
|
curl -fsS "http://127.0.0.1:3000/${admin_user}/aios-v23" | grep -E "aios-v23|AIOS|V1R1C0" | head -30 || true
|
|
git remote -v
|
|
git log --oneline -8
|
|
git status --short
|
|
echo "GITEA_REPO_PUSH_OK"
|