Monorepo for Aesthetic.Computer aesthetic.computer
4
fork

Configure Feed

Select the types of activity you want to include in your feed.

at main 98 lines 3.3 kB view raw
1#!/usr/bin/env fish 2# Setup Cloudflare CNAME for at-blobs.aesthetic.computer → DigitalOcean Space 3# Provides a cleaner CDN URL for tape videos and thumbnails 4 5echo "🌐 Setting up CDN domain for at-blobs Space..." 6echo "" 7 8# Load environment variables from vault (directly set them) 9set -gx CLOUDFLARE_ACCOUNT_ID "a23b54e8877a833a1cf8db7765bce3ca" 10set -gx CLOUDFLARE_EMAIL "me@jas.life" 11set -gx CLOUDFLARE_API_KEY "0346704765b61e560b36592010c98a23bc2c6" 12set -gx ZONE_ID "da794a6ae8f17b80424907f81ed0db7c" 13 14echo "✅ Loaded Cloudflare credentials" 15echo "" 16 17# Cloudflare configuration 18set SUBDOMAIN "at-blobs" 19set FULL_DOMAIN "at-blobs.aesthetic.computer" 20set TARGET "at-blobs-aesthetic-computer.sfo3.cdn.digitaloceanspaces.com" 21 22echo " Zone: aesthetic.computer ($ZONE_ID)" 23echo " Creating: $FULL_DOMAIN$TARGET" 24echo "" 25 26# Check if DNS record already exists 27echo " Checking for existing DNS record..." 28set CHECK_RESPONSE (curl -s -X GET \ 29 "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records?type=CNAME&name=$FULL_DOMAIN" \ 30 -H "X-Auth-Email: $CLOUDFLARE_EMAIL" \ 31 -H "X-Auth-Key: $CLOUDFLARE_API_KEY" \ 32 -H "Content-Type: application/json") 33 34set RECORD_ID (echo $CHECK_RESPONSE | jq -r '.result[0].id // empty') 35 36if test -n "$RECORD_ID" 37 echo " Found existing record: $RECORD_ID" 38 echo " Updating..." 39 40 set UPDATE_RESPONSE (curl -s -X PUT \ 41 "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records/$RECORD_ID" \ 42 -H "X-Auth-Email: $CLOUDFLARE_EMAIL" \ 43 -H "X-Auth-Key: $CLOUDFLARE_API_KEY" \ 44 -H "Content-Type: application/json" \ 45 --data "{ 46 \"type\": \"CNAME\", 47 \"name\": \"$SUBDOMAIN\", 48 \"content\": \"$TARGET\", 49 \"ttl\": 1, 50 \"proxied\": true 51 }") 52 53 if echo $UPDATE_RESPONSE | jq -e '.success' > /dev/null 54 echo " ✅ DNS record updated!" 55 else 56 echo " ❌ Failed to update DNS record" 57 echo $UPDATE_RESPONSE | jq 58 exit 1 59 end 60else 61 echo " No existing record found. Creating new..." 62 63 set CREATE_RESPONSE (curl -s -X POST \ 64 "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records" \ 65 -H "X-Auth-Email: $CLOUDFLARE_EMAIL" \ 66 -H "X-Auth-Key: $CLOUDFLARE_API_KEY" \ 67 -H "Content-Type: application/json" \ 68 --data "{ 69 \"type\": \"CNAME\", 70 \"name\": \"$SUBDOMAIN\", 71 \"content\": \"$TARGET\", 72 \"ttl\": 1, 73 \"proxied\": true 74 }") 75 76 if echo $CREATE_RESPONSE | jq -e '.success' > /dev/null 77 echo " ✅ DNS record created!" 78 else 79 echo " ❌ Failed to create DNS record" 80 echo $CREATE_RESPONSE | jq 81 exit 1 82 end 83end 84 85echo "" 86echo "✅ CDN domain configured successfully!" 87echo "" 88echo "📋 Summary:" 89echo " Domain: https://$FULL_DOMAIN" 90echo " Target: $TARGET" 91echo " Proxied: Yes (Cloudflare CDN)" 92echo " SSL: Automatic (Cloudflare Universal SSL)" 93echo "" 94echo "🔗 Manage DNS:" 95echo " https://dash.cloudflare.com/$ZONE_ID/aesthetic.computer/dns/records" 96echo "" 97echo "⏱️ Note: DNS propagation may take a few minutes" 98echo " Test with: curl -I https://$FULL_DOMAIN/tapes/"