From 6a9003f31682e57a2a630f5cfdefa2969a64b1b1 Mon Sep 17 00:00:00 2001 From: Ryan Mulligan Date: Tue, 21 Sep 2021 16:39:19 -0700 Subject: nixos/discourse: add discourse.admin.skipCreate option --- nixos/modules/services/web-apps/discourse.nix | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) (limited to 'nixos/modules/services/web-apps/discourse.nix') diff --git a/nixos/modules/services/web-apps/discourse.nix b/nixos/modules/services/web-apps/discourse.nix index 050e4ee3d32..93298af2e3e 100644 --- a/nixos/modules/services/web-apps/discourse.nix +++ b/nixos/modules/services/web-apps/discourse.nix @@ -172,6 +172,15 @@ in }; admin = { + skipCreate = lib.mkOption { + type = lib.types.bool; + default = false; + description = '' + Do not create the admin account, instead rely on other + existing admin accounts. + ''; + }; + email = lib.mkOption { type = lib.types.str; example = "admin@example.com"; @@ -721,6 +730,16 @@ in lib.optionalString (file != null) '' replace-secret '${file}' '${file}' /run/discourse/config/discourse.conf ''; + + mkAdmin = '' + export ADMIN_EMAIL="${cfg.admin.email}" + export ADMIN_NAME="${cfg.admin.fullName}" + export ADMIN_USERNAME="${cfg.admin.username}" + ADMIN_PASSWORD="$(<${cfg.admin.passwordFile})" + export ADMIN_PASSWORD + discourse-rake admin:create_noninteractively + ''; + in '' set -o errexit -o pipefail -o nounset -o errtrace shopt -s inherit_errexit @@ -750,12 +769,7 @@ in discourse-rake db:migrate >>/var/log/discourse/db_migration.log chmod -R u+w /run/discourse/tmp/ - export ADMIN_EMAIL="${cfg.admin.email}" - export ADMIN_NAME="${cfg.admin.fullName}" - export ADMIN_USERNAME="${cfg.admin.username}" - ADMIN_PASSWORD="$(<${cfg.admin.passwordFile})" - export ADMIN_PASSWORD - discourse-rake admin:create_noninteractively + ${lib.optionalString (!cfg.admin.skipCreate) mkAdmin} discourse-rake themes:update discourse-rake uploads:regenerate_missing_optimized -- cgit 1.4.1