From d11090b4f91ee1f2cbfc1236f2c7e4679ad9c2ac Mon Sep 17 00:00:00 2001 From: Wojtek Mach Date: Tue, 15 Feb 2022 12:44:59 +0100 Subject: [PATCH] Create release cookie in env scripts (#1004) --- rel/app/env.bat.eex | 7 +++++++ rel/app/env.sh.bat | 5 ----- rel/app/env.sh.eex | 6 +++++- rel/server/env.bat.eex | 7 +++++++ rel/server/env.sh.bat | 5 ----- rel/server/env.sh.eex | 6 +++++- 6 files changed, 24 insertions(+), 12 deletions(-) create mode 100644 rel/app/env.bat.eex delete mode 100644 rel/app/env.sh.bat create mode 100644 rel/server/env.bat.eex delete mode 100644 rel/server/env.sh.bat diff --git a/rel/app/env.bat.eex b/rel/app/env.bat.eex new file mode 100644 index 000000000..15495311a --- /dev/null +++ b/rel/app/env.bat.eex @@ -0,0 +1,7 @@ +set RELEASE_MODE=interactive + +set cookie_path="!RELEASE_ROOT!\releases\COOKIE" +if not exist %cookie_path% ( + for /f "skip=1" %%X in ('wmic os get localdatetime') do if not defined TIMESTAMP set TIMESTAMP=%%X + echo cookie-!TIMESTAMP:~0,11!-!RANDOM! > %cookie_path% +) diff --git a/rel/app/env.sh.bat b/rel/app/env.sh.bat deleted file mode 100644 index 358718f63..000000000 --- a/rel/app/env.sh.bat +++ /dev/null @@ -1,5 +0,0 @@ -set RELEASE_MODE=interactive -if not defined RELEASE_COOKIE ( - for /f "skip=1" %%X in ('wmic os get localdatetime') do if not defined TIMESTAMP set TIMESTAMP=%%X - set RELEASE_COOKIE=cookie-!TIMESTAMP:~0,11!-!RANDOM! -) \ No newline at end of file diff --git a/rel/app/env.sh.eex b/rel/app/env.sh.eex index 20f81e413..f3186d18a 100644 --- a/rel/app/env.sh.eex +++ b/rel/app/env.sh.eex @@ -1,2 +1,6 @@ export RELEASE_MODE=interactive -export RELEASE_COOKIE="${RELEASE_COOKIE:-$(cat /dev/urandom | env LC_ALL=C tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)}" + +cookie_path="${RELEASE_ROOT}/releases/COOKIE" +if [ ! -f $cookie_path ]; then + cat /dev/urandom | env LC_ALL=C tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1 > $cookie_path +fi diff --git a/rel/server/env.bat.eex b/rel/server/env.bat.eex new file mode 100644 index 000000000..15495311a --- /dev/null +++ b/rel/server/env.bat.eex @@ -0,0 +1,7 @@ +set RELEASE_MODE=interactive + +set cookie_path="!RELEASE_ROOT!\releases\COOKIE" +if not exist %cookie_path% ( + for /f "skip=1" %%X in ('wmic os get localdatetime') do if not defined TIMESTAMP set TIMESTAMP=%%X + echo cookie-!TIMESTAMP:~0,11!-!RANDOM! > %cookie_path% +) diff --git a/rel/server/env.sh.bat b/rel/server/env.sh.bat deleted file mode 100644 index 286e683a7..000000000 --- a/rel/server/env.sh.bat +++ /dev/null @@ -1,5 +0,0 @@ -set RELEASE_MODE=interactive -if not defined RELEASE_COOKIE ( - for /f "skip=1" %%X in ('wmic os get localdatetime') do if not defined TIMESTAMP set TIMESTAMP=%%X - set RELEASE_COOKIE=cookie-!TIMESTAMP:~0,11!-!RANDOM! -) diff --git a/rel/server/env.sh.eex b/rel/server/env.sh.eex index 20f81e413..f3186d18a 100644 --- a/rel/server/env.sh.eex +++ b/rel/server/env.sh.eex @@ -1,2 +1,6 @@ export RELEASE_MODE=interactive -export RELEASE_COOKIE="${RELEASE_COOKIE:-$(cat /dev/urandom | env LC_ALL=C tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)}" + +cookie_path="${RELEASE_ROOT}/releases/COOKIE" +if [ ! -f $cookie_path ]; then + cat /dev/urandom | env LC_ALL=C tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1 > $cookie_path +fi