From 532c0c90ad6213b151c44abcf0e23b8c4ca7537f Mon Sep 17 00:00:00 2001
From: tv <tv@krebsco.de>
Date: Tue, 4 Aug 2020 20:28:04 +0200
Subject: types.secret-file: add service option

---
 tv/3modules/charybdis/default.nix | 11 +++++++++--
 tv/3modules/ejabberd/default.nix  | 11 +++++++++--
 tv/3modules/x0vncserver.nix       | 12 ++++++++++--
 3 files changed, 28 insertions(+), 6 deletions(-)

(limited to 'tv/3modules')

diff --git a/tv/3modules/charybdis/default.nix b/tv/3modules/charybdis/default.nix
index 62a7037..3809da4 100644
--- a/tv/3modules/charybdis/default.nix
+++ b/tv/3modules/charybdis/default.nix
@@ -51,8 +51,15 @@ in {
 
     systemd.services.charybdis = {
       wantedBy = [ "multi-user.target" ];
-      requires = [ "secret.service" ];
-      after = [ "network-online.target" "secret.service" ];
+      after = [
+        config.krebs.secret.files.charybdis-ssl_dh_params.service
+        config.krebs.secret.files.charybdis-ssl_private_key.service
+        "network-online.target"
+      ];
+      requires = [
+        config.krebs.secret.files.charybdis-ssl_dh_params.service
+        config.krebs.secret.files.charybdis-ssl_private_key.service
+      ];
       environment = {
         BANDB_DBPATH = "${cfg.user.home}/ban.db";
       };
diff --git a/tv/3modules/ejabberd/default.nix b/tv/3modules/ejabberd/default.nix
index f16dfac..b995c14 100644
--- a/tv/3modules/ejabberd/default.nix
+++ b/tv/3modules/ejabberd/default.nix
@@ -95,8 +95,15 @@ in {
 
     systemd.services.ejabberd = {
       wantedBy = [ "multi-user.target" ];
-      requires = [ "secret.service" ];
-      after = [ "network.target" "secret.service" ];
+      after = [
+        config.krebs.secret.files.ejabberd-certfile.service
+        config.krebs.secret.files.ejabberd-s2s_certfile.service
+        "network.target"
+      ];
+      requires = [
+        config.krebs.secret.files.ejabberd-certfile.service
+        config.krebs.secret.files.ejabberd-s2s_certfile.service
+      ];
       serviceConfig = {
         ExecStartPre = "${gen-dhparam} ${cfg.dhfile.path}";
         ExecStart = "${cfg.pkgs.ejabberd}/bin/ejabberdctl foreground";
diff --git a/tv/3modules/x0vncserver.nix b/tv/3modules/x0vncserver.nix
index 44fed59..8b9cfa8 100644
--- a/tv/3modules/x0vncserver.nix
+++ b/tv/3modules/x0vncserver.nix
@@ -36,8 +36,16 @@ in {
       x0vncserver-pwfile = cfg.pwfile;
     };
     systemd.services.x0vncserver = {
-      after = [ "graphical.target" "secret.service" ];
-      requires = [ "graphical.target" "secret.service" ];
+      after = [
+        config.krebs.secret.files.x0vncserver-pwfile.service
+        "graphical.target"
+      ];
+      partOf = [
+        config.krebs.secret.files.x0vncserver-pwfile.service
+      ];
+      requires = [
+        "graphical.target"
+      ];
       serviceConfig = {
         ExecStart = "${pkgs.tigervnc}/bin/x0vncserver ${toString [
           "-display ${cfg.display}"
-- 
cgit v1.2.3