Initial Pulumi proxmox-infra setup with Gitea Actions
This commit is contained in:
Executable
+36
@@ -0,0 +1,36 @@
|
||||
#!/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
|
||||
Reference in New Issue
Block a user