From 07a33798942d6d8b29a862f8f6fa627598f3bf99 Mon Sep 17 00:00:00 2001 From: Ana Barrera Novas Date: Tue, 4 Mar 2025 15:49:35 +0100 Subject: [PATCH] Update update_primary_nginx.yml --- .github/workflows/update_primary_nginx.yml | 35 +++++++--------------- 1 file changed, 11 insertions(+), 24 deletions(-) diff --git a/.github/workflows/update_primary_nginx.yml b/.github/workflows/update_primary_nginx.yml index 9c5e997..2611ef2 100644 --- a/.github/workflows/update_primary_nginx.yml +++ b/.github/workflows/update_primary_nginx.yml @@ -1,4 +1,4 @@ -name: Setup Nginx from the Configuration File +name: UNFINISHED - setup nginx from the configuration file on: workflow_dispatch: @@ -6,12 +6,11 @@ on: jobs: deploy: runs-on: self-hosted - + steps: - name: Checkout repository uses: actions/checkout@v3 - - - name: Load environment variables + - name: Dotenv Action uses: falti/dotenv-action@v1.1.4 with: export-variables: true @@ -20,25 +19,13 @@ jobs: - name: Check environment variables run: env - - name: Ensure runner user has permission to modify Nginx config - run: | - sudo usermod -aG nginx $(whoami) - sudo chmod -R g+w /etc/nginx/conf.d/ - - - name: Escape Nginx variables - run: sed -i 's/\$http_host/\\$http_host/g; s/\$remote_addr/\\$remote_addr/g; s/\$proxy_add_x_forwarded_for/\\$proxy_add_x_forwarded_for/g' ./nginx_template.txt - - - name: Substitute environment variables - run: envsubst '${PROD_PORT_PREFIX} ${GATEWAY_POSTFIX} ${DEV_PORT_PREFIX} ${STAG_PORT_PREFIX}' < ./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: Copy temporary file to correct place + run: cp -L temp_default.conf /etc/nginx/conf.d/default.conf - - name: Copy Nginx config to correct place - run: cp temp_default.conf /etc/nginx/conf.d/default.conf - - - name: Show updated Nginx config + - name: Show nginx file run: cat /etc/nginx/conf.d/default.conf - - - name: Validate Nginx config - run: sudo nginx -t - - - name: Reload Nginx - run: sudo systemctl reload nginx