Files
homelab-infrastructure-as-code/.githooks/pre-push
T
kasun 57dc56c690
Deploy Proxmox Infra / Pulumi Preview (push) Has been skipped
Deploy Proxmox Infra / Pulumi Deploy (push) Failing after 55s
Initial Pulumi proxmox-infra setup with Gitea Actions
2026-05-27 20:26:52 +02:00

37 lines
1.0 KiB
Bash
Executable File

#!/bin/bash
set -e
YAML_FILE="proxmox-infra/Pulumi.dev.yaml"
# Load local env if present
if [ -f .env.local ]; then
export $(grep -v '^#' .env.local | xargs)
fi
if [ ! -f "$YAML_FILE" ]; then
echo "[pre-push] $YAML_FILE not found — skipping Gitea secret sync"
exit 0
fi
if [ -z "$GITEA_API_URL" ] || [ -z "$GITEA_TOKEN" ]; then
echo "[pre-push] GITEA_API_URL or GITEA_TOKEN not set — skipping Gitea secret sync"
echo "[pre-push] Add these to .env.local to enable automatic sync"
exit 0
fi
ENCODED=$(base64 -w 0 "$YAML_FILE")
HTTP_STATUS=$(curl -s -o /dev/null -w "%{http_code}" -X PUT \
-H "Authorization: token $GITEA_TOKEN" \
-H "Content-Type: application/json" \
-d "{\"data\": \"$ENCODED\"}" \
"$GITEA_API_URL/actions/secrets/PULUMI_DEV_YAML")
if [ "$HTTP_STATUS" = "201" ] || [ "$HTTP_STATUS" = "204" ]; then
echo "[pre-push] Gitea secret PULUMI_DEV_YAML updated"
else
echo "[pre-push] Failed to update Gitea secret (HTTP $HTTP_STATUS)"
echo "[pre-push] Check GITEA_API_URL and GITEA_TOKEN in .env.local"
exit 1
fi