← back to Dw Vendor Microsites

issue-wildcard.sh

32 lines

#!/usr/bin/env bash
# issue-wildcard.sh  — ONE-TIME wildcard cert for *.designerwallcoverings.com (DNS-01)
#
# GATED: irreversible-ish (consumes a Let's Encrypt issuance; account already at ~27/50
# this week). Do NOT run without Steve's approval. Run once; every vendor vhost then
# references /etc/letsencrypt/live/designerwallcoverings.com/.
#
# certbot-dns-cloudflare is already installed; creds at /root/.secrets/cloudflare.ini.
# Proven on bubbe.ai. Per-subdomain certbot would blow the 50/week cap.
set -euo pipefail

echo "== issuing ONE wildcard cert: *.designerwallcoverings.com + apex (DNS-01 via Cloudflare) =="
ssh my-server "bash -s" <<'REMOTE'
set -e
test -f /root/.secrets/cloudflare.ini || { echo "missing /root/.secrets/cloudflare.ini"; exit 1; }
chmod 600 /root/.secrets/cloudflare.ini || true

certbot certonly \
  --dns-cloudflare \
  --dns-cloudflare-credentials /root/.secrets/cloudflare.ini \
  --dns-cloudflare-propagation-seconds 30 \
  -d '*.designerwallcoverings.com' \
  -d 'designerwallcoverings.com' \
  --non-interactive --agree-tos -m steve@designerwallcoverings.com \
  --cert-name designerwallcoverings.com

echo "== cert installed =="
ls -l /etc/letsencrypt/live/designerwallcoverings.com/ || true
certbot certificates 2>/dev/null | grep -A4 designerwallcoverings.com || true
REMOTE
echo "== DONE — wildcard cert ready; vendor vhosts can reference it now =="