secrets: fix: don't generate secrets if no secrets are defined

This commit is contained in:
DavHau
2023-10-06 18:34:49 +02:00
parent fe3bd4791a
commit bb51a9916b
3 changed files with 36 additions and 32 deletions

View File

@@ -66,12 +66,14 @@
description = '' description = ''
script to upload secrets to the deployment server script to upload secrets to the deployment server
''; '';
default = "${pkgs.coreutils}/bin/true";
}; };
generateSecrets = lib.mkOption { generateSecrets = lib.mkOption {
type = lib.types.path; type = lib.types.path;
description = '' description = ''
script to generate secrets script to generate secrets
''; '';
default = "${pkgs.coreutils}/bin/true";
}; };
vm.config = lib.mkOption { vm.config = lib.mkOption {
type = lib.types.attrs; type = lib.types.attrs;

View File

@@ -13,7 +13,8 @@ in
config = lib.mkIf (config.clanCore.secretStore == "password-store") { config = lib.mkIf (config.clanCore.secretStore == "password-store") {
clanCore.secretsDirectory = config.clan.password-store.targetDirectory; clanCore.secretsDirectory = config.clan.password-store.targetDirectory;
clanCore.secretsUploadDirectory = config.clan.password-store.targetDirectory; clanCore.secretsUploadDirectory = config.clan.password-store.targetDirectory;
system.clan.generateSecrets = pkgs.writeScript "generate-secrets" '' system.clan.generateSecrets = lib.mkIf (config.clanCore.secrets != { }) (
pkgs.writeScript "generate-secrets" ''
#!/bin/sh #!/bin/sh
set -efu set -efu
@@ -50,7 +51,8 @@ in
'') (lib.attrValues v.secrets)} '') (lib.attrValues v.secrets)}
fi) fi)
'') "" config.clanCore.secrets} '') "" config.clanCore.secrets}
''; ''
);
system.clan.uploadSecrets = pkgs.writeScript "upload-secrets" '' system.clan.uploadSecrets = pkgs.writeScript "upload-secrets" ''
#!/bin/sh #!/bin/sh
set -efu set -efu

View File

@@ -25,7 +25,7 @@ in
config = lib.mkIf (config.clanCore.secretStore == "sops") { config = lib.mkIf (config.clanCore.secretStore == "sops") {
clanCore.secretsDirectory = "/run/secrets"; clanCore.secretsDirectory = "/run/secrets";
clanCore.secretsPrefix = config.clanCore.machineName + "-"; clanCore.secretsPrefix = config.clanCore.machineName + "-";
system.clan = { system.clan = lib.mkIf (config.clanCore.secrets != { }) {
generateSecrets = pkgs.writeScript "generate-secrets" '' generateSecrets = pkgs.writeScript "generate-secrets" ''
#!${pkgs.python3}/bin/python #!${pkgs.python3}/bin/python