chore: add gitea-cpu preflight script with env fallback
Some checks are pending
Check Python Version Consistency / Check Python Version (push) Waiting to run
Some checks are pending
Check Python Version Consistency / Check Python Version (push) Waiting to run
This commit is contained in:
parent
220f418f4c
commit
49f34b027c
68
scripts/preflight-gitea-cpu.sh
Executable file
68
scripts/preflight-gitea-cpu.sh
Executable file
|
|
@ -0,0 +1,68 @@
|
|||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
TARGET_PROJECT="propane-will-491900-m5"
|
||||
REPO_ROOT="${REPO_ROOT:-$HOME/OSVauco}"
|
||||
GITEA_SERVICE="${GITEA_SERVICE:-gitea}"
|
||||
|
||||
GREEN="\033[0;32m"
|
||||
RED="\033[0;31m"
|
||||
YELLOW="\033[1;33m"
|
||||
NC="\033[0m"
|
||||
|
||||
check() {
|
||||
local label="$1"
|
||||
local cmd="$2"
|
||||
echo -n "$label: "
|
||||
if eval "$cmd" >/dev/null 2>&1; then
|
||||
echo -e "${GREEN}OK${NC}"
|
||||
else
|
||||
echo -e "${RED}FAIL${NC}"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
warn() {
|
||||
local label="$1"
|
||||
local cmd="$2"
|
||||
local msg="$3"
|
||||
echo -n "$label: "
|
||||
if eval "$cmd" >/dev/null 2>&1; then
|
||||
echo -e "${GREEN}OK${NC}"
|
||||
else
|
||||
echo -e "${YELLOW}WARN${NC} - $msg"
|
||||
fi
|
||||
}
|
||||
|
||||
echo "=== PREFLIGHT: $(hostname) ==="
|
||||
echo "User: $USER"
|
||||
echo "Home: $HOME"
|
||||
echo "Repo root: $REPO_ROOT"
|
||||
echo "Target project:$TARGET_PROJECT"
|
||||
echo "Gitea service: $GITEA_SERVICE"
|
||||
echo
|
||||
|
||||
check "Repo exists" "[ -d \"$REPO_ROOT\" ]"
|
||||
check "gcloud auth active" "gcloud auth list --filter=status:ACTIVE --format='value(account)' | grep -q ."
|
||||
check "ADC token (metadata)" "gcloud auth application-default print-access-token >/dev/null 2>&1"
|
||||
check "gcloud config project" "[ \"\$(gcloud config get-value project 2>/dev/null)\" = \"$TARGET_PROJECT\" ]"
|
||||
check "Shell GOOGLE_CLOUD_PROJECT" "[ \"\${GOOGLE_CLOUD_PROJECT:-}\" = \"$TARGET_PROJECT\" ]"
|
||||
warn "Systemd manager env" "systemctl show-environment | grep -q \"GOOGLE_CLOUD_PROJECT=$TARGET_PROJECT\"" "not in manager env (unit overrides may still work)"
|
||||
|
||||
if [ -f "$REPO_ROOT/.env" ]; then
|
||||
echo -e "Env file: ${GREEN}OK${NC} - using .env"
|
||||
elif [ -f "$REPO_ROOT/.env.prefilled" ]; then
|
||||
echo -e "Env file: ${YELLOW}WARN${NC} - .env missing, but .env.prefilled exists"
|
||||
elif [ -f "$REPO_ROOT/.env.example" ]; then
|
||||
echo -e "Env file: ${YELLOW}WARN${NC} - only .env.example exists"
|
||||
else
|
||||
echo -e "Env file: ${RED}FAIL${NC} - no .env, .env.prefilled, or .env.example found"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
warn "Git clean" "git -C \"$REPO_ROOT\" diff --quiet && git -C \"$REPO_ROOT\" diff --cached --quiet" "working tree has local changes"
|
||||
check "Gitea service active" "systemctl is-active --quiet \"$GITEA_SERVICE\""
|
||||
check "Gemini CLI in PATH" "command -v gemini >/dev/null 2>&1"
|
||||
|
||||
echo
|
||||
echo "Preflight complete."
|
||||
Loading…
Reference in New Issue
Block a user