From ec6d9ed9dec0a9f774cd33bbfea2d6d4fc40646c Mon Sep 17 00:00:00 2001
From: Jean-Paul Calderone <exarkun@twistedmatrix.com>
Date: Wed, 30 Jun 2021 15:52:26 -0400
Subject: [PATCH] Refactor repetitive deployment configuration

---
 morph/grid/local/grid.nix | 20 ++++++++++++--------
 1 file changed, 12 insertions(+), 8 deletions(-)

diff --git a/morph/grid/local/grid.nix b/morph/grid/local/grid.nix
index 7f7101eb..ae80a2af 100644
--- a/morph/grid/local/grid.nix
+++ b/morph/grid/local/grid.nix
@@ -12,6 +12,14 @@ let
     privateKeyPath = toString ./. + "/${rawConfig.privateKeyPath}";
   };
 
+  # Configure deployment management authorization for all systems in the grid.
+  deployment = {
+    services.private-storage.deployment = {
+      authorizedKey = config.deployKey;
+      gridName = "local";
+    };
+  };
+
   payments = {
     imports = [
       gridlib.issuer
@@ -19,9 +27,8 @@ let
       (gridlib.customize-issuer (config // {
           monitoringvpnIPv4 = "172.23.23.11";
       }))
+      deployment
     ];
-    services.private-storage.deployment.authorizedKey = config.deployKey;
-    services.private-storage.deployment.gridName = "local";
   };
 
   storage1 = {
@@ -32,9 +39,8 @@ let
         monitoringvpnIPv4 = "172.23.23.12";
         stateVersion = "19.09";
       }))
+      deployment
     ];
-    services.private-storage.deployment.authorizedKey = config.deployKey;
-    services.private-storage.deployment.gridName = "local";
   };
 
   storage2 = {
@@ -45,9 +51,8 @@ let
         monitoringvpnIPv4 = "172.23.23.13";
         stateVersion = "19.09";
       }))
+      deployment
     ];
-    services.private-storage.deployment.authorizedKey = config.deployKey;
-    services.private-storage.deployment.gridName = "local";
   };
 
   monitoring = {
@@ -60,9 +65,8 @@ let
         monitoringvpnIPv4 = "172.23.23.1";
         stateVersion = "19.09";
       })
+      deployment
     ];
-    services.private-storage.deployment.authorizedKey = config.deployKey;
-    services.private-storage.deployment.gridName = "local";
   };
 
   # TBD: derive these automatically:
-- 
GitLab