From 7c098d41c7b04e7fa5289dadc0f06ef3215d0abb Mon Sep 17 00:00:00 2001 From: Naomi Carrigan Date: Sun, 25 May 2025 13:50:18 -0700 Subject: [PATCH] feat: actually sort, add test for sorting --- configs/prod.conf | 154 +++++++++++++++++++++++----------------------- test.sh | 24 ++++++++ 2 files changed, 101 insertions(+), 77 deletions(-) create mode 100755 test.sh diff --git a/configs/prod.conf b/configs/prod.conf index 829f305..18cc0a9 100644 --- a/configs/prod.conf +++ b/configs/prod.conf @@ -66,19 +66,6 @@ server { } } -server { - listen 443 ssl; - server_name becca.nhcarrigan.com; - ssl_certificate /etc/letsencrypt/live/becca.nhcarrigan.com/fullchain.pem; - ssl_certificate_key /etc/letsencrypt/live/becca.nhcarrigan.com/privkey.pem; - - location / { - proxy_set_header Host $host; - proxy_pass http://127.0.0.1:5010; - proxy_redirect off; - } -} - server { listen 443 ssl; server_name beccalia.nhcarrigan.com; @@ -100,6 +87,19 @@ server { } } +server { + listen 443 ssl; + server_name becca.nhcarrigan.com; + ssl_certificate /etc/letsencrypt/live/becca.nhcarrigan.com/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/becca.nhcarrigan.com/privkey.pem; + + location / { + proxy_set_header Host $host; + proxy_pass http://127.0.0.1:5010; + proxy_redirect off; + } +} + server { listen 443 ssl; server_name blog.nhcarrigan.com; @@ -218,6 +218,19 @@ server { return 301 https://docs.nhcarrigan.com/about/donate/; } +server { + listen 443 ssl; + server_name forms-api.nhcarrigan.com; + ssl_certificate /etc/letsencrypt/live/forms-api.nhcarrigan.com/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/forms-api.nhcarrigan.com/privkey.pem; + + location / { + proxy_set_header Host $host; + proxy_pass http://127.0.0.1:1234; + proxy_redirect off; + } +} + server { listen 443 ssl; server_name forms.nhcarrigan.com; @@ -236,19 +249,6 @@ server { } } -server { - listen 443 ssl; - server_name forms-api.nhcarrigan.com; - ssl_certificate /etc/letsencrypt/live/forms-api.nhcarrigan.com/fullchain.pem; - ssl_certificate_key /etc/letsencrypt/live/forms-api.nhcarrigan.com/privkey.pem; - - location / { - proxy_set_header Host $host; - proxy_pass http://127.0.0.1:1234; - proxy_redirect off; - } -} - server { listen 443 ssl; server_name games.nhcarrigan.com; @@ -352,19 +352,6 @@ server { } } -server { - listen 443 ssl; - server_name mommy.nhcarrigan.com; - ssl_certificate /etc/letsencrypt/live/mommy.nhcarrigan.com/fullchain.pem; - ssl_certificate_key /etc/letsencrypt/live/mommy.nhcarrigan.com/privkey.pem; - - location / { - proxy_set_header Host $host; - proxy_pass http://127.0.0.1:8008; - proxy_redirect off; - } -} - server { listen 443 ssl; server_name mommy-bot.nhcarrigan.com; @@ -378,6 +365,19 @@ server { } } +server { + listen 443 ssl; + server_name mommy.nhcarrigan.com; + ssl_certificate /etc/letsencrypt/live/mommy.nhcarrigan.com/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/mommy.nhcarrigan.com/privkey.pem; + + location / { + proxy_set_header Host $host; + proxy_pass http://127.0.0.1:8008; + proxy_redirect off; + } +} + server { listen 443 ssl; server_name mommy-slack.nhcarrigan.com; @@ -408,6 +408,19 @@ server { } } +server { + listen 443 ssl; + server_name nails-api.nhcarrigan.com; + ssl_certificate /etc/letsencrypt/live/nails-api.nhcarrigan.com/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/nails-api.nhcarrigan.com/privkey.pem; + + location / { + proxy_set_header Host $host; + proxy_pass http://127.0.0.1:1235; + proxy_redirect off; + } +} + server { listen 443 ssl; server_name nails.nhcarrigan.com; @@ -426,19 +439,6 @@ server { } } -server { - listen 443 ssl; - server_name nails-api.nhcarrigan.com; - ssl_certificate /etc/letsencrypt/live/nails-api.nhcarrigan.com/fullchain.pem; - ssl_certificate_key /etc/letsencrypt/live/nails-api.nhcarrigan.com/privkey.pem; - - location / { - proxy_set_header Host $host; - proxy_pass http://127.0.0.1:1235; - proxy_redirect off; - } -} - server { listen 443 ssl; server_name naomi.lgbt; @@ -616,18 +616,6 @@ server { } } -server { - listen 443 ssl; - server_name trans.nhcarrigan.com; - ssl_certificate /etc/letsencrypt/live/trans.nhcarrigan.com/fullchain.pem; - ssl_certificate_key /etc/letsencrypt/live/trans.nhcarrigan.com/privkey.pem; - - location / { - proxy_set_header Host $host; - proxy_pass http://0.0.0.0:5000; - } -} - server { listen 443 ssl; server_name trans-bot.nhcarrigan.com; @@ -640,6 +628,18 @@ server { } } +server { + listen 443 ssl; + server_name trans.nhcarrigan.com; + ssl_certificate /etc/letsencrypt/live/trans.nhcarrigan.com/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/trans.nhcarrigan.com/privkey.pem; + + location / { + proxy_set_header Host $host; + proxy_pass http://0.0.0.0:5000; + } +} + server { listen 443 ssl; server_name uptime.nhcarrigan.com; @@ -652,6 +652,19 @@ server { } } +server { + listen 443 ssl; + server_name vitalia-api.nhcarrigan.com; + ssl_certificate /etc/letsencrypt/live/vitalia.nhcarrigan.com/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/vitalia.nhcarrigan.com/privkey.pem; + + location / { + proxy_set_header Host $host; + proxy_pass http://127.0.0.1:12345; + proxy_redirect off; + } +} + server { listen 443 ssl; server_name vitalia.nhcarrigan.com; @@ -670,19 +683,6 @@ server { } } -server { - listen 443 ssl; - server_name vitalia-api.nhcarrigan.com; - ssl_certificate /etc/letsencrypt/live/vitalia.nhcarrigan.com/fullchain.pem; - ssl_certificate_key /etc/letsencrypt/live/vitalia.nhcarrigan.com/privkey.pem; - - location / { - proxy_set_header Host $host; - proxy_pass http://127.0.0.1:12345; - proxy_redirect off; - } -} - server { listen 443 ssl; server_name www.naomi.lgbt; diff --git a/test.sh b/test.sh new file mode 100755 index 0000000..a9b991d --- /dev/null +++ b/test.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +CONF="configs/prod.conf" + +# Extract server_name values in order, ignoring commented lines +mapfile -t domains < <(grep -oP '^\s*server_name\s+\K[^;]+' "$CONF") + +sorted=($(printf "%s\n" "${domains[@]}" | sort)) + +# Print the sorted list for debugging +echo "Auditing servers:" +printf "%s " "${sorted[@]}" +echo "" + +for i in "${!domains[@]}"; do + if [[ "${domains[$i]}" != "${sorted[$i]}" ]]; then + echo "Domain list is not sorted alphabetically." + echo "First out-of-order entry: '${domains[$i]}' (should be '${sorted[$i]}')" + exit 1 + fi +done + +echo "All server_name entries are sorted alphabetically." +exit 0 \ No newline at end of file