nixos/dendrite: always substitute environment variables in config
Before this patch, services.dendrite.environmentFile is used for secrets and environment variable substitution only happens when this option is used. systemd-247 provides a mechanism called LoadCredential for secrets and it is better than environment file. See the section of Environment= in the manual of systemd.exec for more information. This patch always substitute environment variables, which enables the usage of systemd LoadCredential.
This commit is contained in:
parent
31747079c1
commit
1e32d28824
|
@ -248,14 +248,11 @@ in
|
||||||
RuntimeDirectory = "dendrite";
|
RuntimeDirectory = "dendrite";
|
||||||
RuntimeDirectoryMode = "0700";
|
RuntimeDirectoryMode = "0700";
|
||||||
EnvironmentFile = lib.mkIf (cfg.environmentFile != null) cfg.environmentFile;
|
EnvironmentFile = lib.mkIf (cfg.environmentFile != null) cfg.environmentFile;
|
||||||
ExecStartPre =
|
ExecStartPre = ''
|
||||||
if (cfg.environmentFile != null) then ''
|
${pkgs.envsubst}/bin/envsubst \
|
||||||
${pkgs.envsubst}/bin/envsubst \
|
-i ${configurationYaml} \
|
||||||
-i ${configurationYaml} \
|
-o /run/dendrite/dendrite.yaml
|
||||||
-o /run/dendrite/dendrite.yaml
|
'';
|
||||||
'' else ''
|
|
||||||
${pkgs.coreutils}/bin/cp ${configurationYaml} /run/dendrite/dendrite.yaml
|
|
||||||
'';
|
|
||||||
ExecStart = lib.strings.concatStringsSep " " ([
|
ExecStart = lib.strings.concatStringsSep " " ([
|
||||||
"${pkgs.dendrite}/bin/dendrite-monolith-server"
|
"${pkgs.dendrite}/bin/dendrite-monolith-server"
|
||||||
"--config /run/dendrite/dendrite.yaml"
|
"--config /run/dendrite/dendrite.yaml"
|
||||||
|
|
Loading…
Reference in a new issue