fix: handle secrets with any characters in them

This commit is contained in:
Price Hiller 2023-12-19 02:54:50 -06:00
parent a5d0a9f8d5
commit 043aa199f9
Signed by: Price
SSH Key Fingerprint: SHA256:Y4S9ZzYphRn1W1kbJerJFO6GGsfu9O70VaBSxJO7dF8

View File

@ -990,13 +990,25 @@ in
${lib.optionalString (cfg.config.server.passwordFile != null) ''
## Handle secrets for the `Server.cfg` file ##
# Safely load the server password outside of the nix store
sed -i 's/^ServerPassword=.*$/ServerPassword='"$(${pkgs.systemd}/bin/systemd-creds cat SQUAD_SERVER_PASSWORD_FILE)"'/' ./Server.cfg
while read -r line; do
if [[ "$line" == ServerPassword=* ]]; then
echo "ServerPassword=$(${pkgs.systemd}/bin/systemd-creds cat SQUAD_SERVER_PASSWORD_FILE)"
else
echo "$line"
fi
done
''}
${lib.optionalString (cfg.config.rcon.passwordFile != null) ''
## Handle secrets for the `Rcon.cfg` file ##
# Safely load the rcon password outside of the nix store
sed -i 's/^Password=.*$/Password='"$(${pkgs.systemd}/bin/systemd-creds cat SQUAD_RCON_PASSWORD_FILE)"'/' ./Rcon.cfg
while read -r line; do
if [[ "$line" == Password=* ]]; then
echo "Password=$(${pkgs.systemd}/bin/systemd-creds cat SQUAD_RCON_PASSWORD_FILE)"
else
echo "$line"
fi
done < ./Rcon.cfg > "rcon.temp" && mv "rcon.temp" ./Rcon.cfg
''}
${lib.optionalString (cfg.config.license.file != null) ''