From 40eaa65df466324364a3a7830aaa70668f657db1 Mon Sep 17 00:00:00 2001 From: Garima Ketan Chauhan Date: Tue, 4 Mar 2025 17:23:34 +0100 Subject: [PATCH] Update update_primary_nginx.yml - tried with perl --- .github/workflows/update_primary_nginx.yml | 25 ++++++---------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/.github/workflows/update_primary_nginx.yml b/.github/workflows/update_primary_nginx.yml index fe2fb63..a931b18 100644 --- a/.github/workflows/update_primary_nginx.yml +++ b/.github/workflows/update_primary_nginx.yml @@ -19,23 +19,14 @@ jobs: - name: Check environment variables run: env - #Doesn't work properly, envsubst replaces all instances of $variable and ${variable}, but we want to keep e.g., $host as nginx variables - - name: Create temporary nginx config file - run: | - export $(grep -v '^#' .env | xargs) # Load environment variables - envsubst "$(printf '${%s} ' $(env | cut -d= -f1))" < ./nginx_template.txt > temp_default.conf + + # Doesn't work properly, envsubst replaces all instances of $variable and ${variable}, but we want to keep e.g., $host as nginx variables + # - name: Create temporary nginx config file + # run: envsubst < ./nginx_template.txt > temp_default.conf # Maybe look at https://www.baeldung.com/linux/envsubst-command to get an idea - - name: Check environment variables for Nginx - run: | - echo "PORT_PREFIX=${PORT_PREFIX}" - echo "GROUP_ID=${GROUP_ID}" - echo "DEV_POSTFIX=${DEV_POSTFIX}" - # - name: Create temporary nginx config file - # run: | - # export $(grep -v '^#' .env | xargs) # Load environment variables - # envsubst "$(printf '${%s} ' PROD_PORT_PREFIX GATEWAY_POSTFIX DEV_PORT_PREFIX STAG_PORT_PREFIX)" < ./nginx_template.txt > temp_default.conf - # - name: Create temporary nginx config file + - name: Create temporary nginx config file + run: perl -pe 's/\$(\w+)/$ENV{$1} //ge' ./nginx_template.txt > temp_default.conf - name: Copy temporary file to correct place @@ -45,10 +36,6 @@ jobs: run: cat /etc/nginx/conf.d/default.conf - # Doesn't work properly, envsubst replaces all instances of $variable and ${variable}, but we want to keep e.g., $host as nginx variables - # - name: Create temporary nginx config file - # run: envsubst < ./nginx_template.txt > temp_default.conf - # Maybe look at https://www.baeldung.com/linux/envsubst-command to get an idea