Skip to content

Bind worker routes in config #869

Bind worker routes in config

Bind worker routes in config #869

Workflow file for this run

name: Deploy Cloudflare Worker
on:
push:
branches: [main]
paths:
- 'index.js'
- 'wrangler.toml'
permissions:
contents: read
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set Worker Secrets
shell: bash
env:
CF_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
SPICY_SAUCE: ${{ secrets.CLOUDFLARE_API_TOKEN }}
TACO_BELL: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
BRAIN_JUICE: ${{ secrets.OPENROUTER_API_KEY }}
SECRET_SAUCE: ${{ secrets.ADMIN_KEY }}
ALERT_SIREN: ${{ secrets.DISCORD_WEBHOOK_URL }}
SCAN_MASTER: ${{ secrets.VIRUSTOTAL_API_KEY }}
GUEST_LIST: ${{ secrets.ALLOWED_ORIGINS }}
WATCH_LIST: ${{ secrets.CRED_I }}
EMAIL_ADDRESS: ${{ secrets.EMAIL_ADDRESS }}
EMAIL_APP_PASSWORD: ${{ secrets.EMAIL_APP_PASSWORD }}
run: |
set -e
CF_ACCOUNT=$(curl -s -H "Authorization: Bearer $CF_API_TOKEN" \
"https://api.cloudflare.com/client/v4/accounts" | jq -r '.result[0].id')
SCRIPT_NAME="acreetionos-worker"
for name in SPICY_SAUCE TACO_BELL BRAIN_JUICE SECRET_SAUCE ALERT_SIREN SCAN_MASTER GUEST_LIST WATCH_LIST; do
val="${!name}"
if [ -n "$val" ]; then
curl -s -X PUT "https://api.cloudflare.com/client/v4/accounts/$CF_ACCOUNT/workers/scripts/$SCRIPT_NAME/secrets" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json" \
-d "{\"name\":\"$name\",\"text\":\"$val\",\"type\":\"secret_text\"}"
fi
done
# Optional secrets — skip if not set
for name in EMAIL_ADDRESS EMAIL_APP_PASSWORD; do
val="${!name}"
if [ -n "$val" ]; then
curl -s -X PUT "https://api.cloudflare.com/client/v4/accounts/$CF_ACCOUNT/workers/scripts/$SCRIPT_NAME/secrets" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json" \
-d "{\"name\":\"$name\",\"text\":\"$val\",\"type\":\"secret_text\"}"
fi
done
- name: Deploy Worker
uses: cloudflare/wrangler-action@v3
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}