From 49c06fec1a9ed738955946323aa01a73c5636aae Mon Sep 17 00:00:00 2001 From: Benjamin Bohard Date: Wed, 18 Sep 2024 15:33:58 +0200 Subject: [PATCH] =?UTF-8?q?Test=20d=E2=80=99une=20m=C3=A9thode=20d?= =?UTF-8?q?=E2=80=99agr=C3=A9gation=20des=20variables=20d=E2=80=99environn?= =?UTF-8?q?ement.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- env/.env | 10 +++++----- misc/tools/mergeenv.sh | 25 +++++++++++++++++++++++++ nine.sh | 9 +++++---- 3 files changed, 35 insertions(+), 9 deletions(-) create mode 100755 misc/tools/mergeenv.sh diff --git a/env/.env b/env/.env index 262b9cc..ce66105 100644 --- a/env/.env +++ b/env/.env @@ -50,11 +50,11 @@ FAKE_SMTP_LOCAL=1 FAKE_SMTP_ACTIVATE=1 # si actif, il faut sans doute l’utiliser # comme passerelle pour le service MTA -#if [ "$FAKE_SMTP_ACTIVATE" -eq 1 ] -#then -# MTA_RELAY_HOST="$FAKE_SMTP_NAME" -# MTA_RELAY_PORT=2525 -#fi +if [ "$FAKE_SMTP_ACTIVATE" -eq 1 ] +then + MTA_RELAY_HOST="$FAKE_SMTP_NAME" + MTA_RELAY_PORT=2525 +fi # MARIADB MARIADB_SERVICE_NAME=mariadb diff --git a/misc/tools/mergeenv.sh b/misc/tools/mergeenv.sh new file mode 100755 index 0000000..f59c32d --- /dev/null +++ b/misc/tools/mergeenv.sh @@ -0,0 +1,25 @@ +#!/usr/bin/env -S -i bash + +env_files="env/.env env/.env.local" +merged_env="env/.env.merge" +if [ -n "$1" ] +then + env_files="$env_files $1/env/.env $1/env/.env.local" + merged_env="$1/env/.env.merge" +fi + +unset PWD +unset SHLVL +for env_file in $env_files +do + set -a + if [ -f "$env_file" ] + then + . $env_file + fi + set +a +done +unset username +export -p | cut -d" " -f3- | sed "/OLDPWD/d" | head -n -1 | sort > "$merged_env" + +exit 0 diff --git a/nine.sh b/nine.sh index 2e0ee45..8a196fc 100755 --- a/nine.sh +++ b/nine.sh @@ -113,7 +113,8 @@ destroyall(){ env(){ for dir in $(ls -d "services"/[0-9][0-9]-* | sort); do - mergeenv $dir/env/.env.merge env/.env.merge $dir/env/.env $dir/env/.env.local + #mergeenv $dir/env/.env.merge env/.env.merge $dir/env/.env $dir/env/.env.local + misc/tools/mergeenv.sh $dir done } @@ -208,9 +209,9 @@ services() { #=========================================================================================================================================== # Include variable d'environnement global -mergeenv env/.env.merge env/.env env/.env.local +#mergeenv env/.env.merge env/.env env/.env.local +misc/tools/mergeenv.sh . env/.env.merge - # Include service declare -A services for dir in $(ls -d "services"/[0-9][0-9]-* | sort); do @@ -338,4 +339,4 @@ else EchoRouge "nine.sh regen monservice > lance destroy monservice puis up monservice" fi echo -echo \ No newline at end of file +echo