aboutsummaryrefslogtreecommitdiff
path: root/nixos
diff options
context:
space:
mode:
authorMartin Fischer <martin@push-f.com>2025-12-14 20:57:54 +0100
committerMartin Fischer <martin@push-f.com>2025-12-14 21:07:51 +0100
commit4dda24d573daa349f4bb1d400a1e0e423876df77 (patch)
treedf179459e306cb7f284e2cfcf97d877a6affa5c3 /nixos
parentbfb77d77538e6349eb674ea0000beaa8068dd72a (diff)
refactor: move host-specific secrets to host dirs
Diffstat (limited to 'nixos')
-rw-r--r--nixos/hosts/ev/miniflux.nix2
-rw-r--r--nixos/hosts/ev/secrets/miniflux-admin.age (renamed from nixos/secrets/miniflux-admin.age)0
-rw-r--r--nixos/hosts/tente/grafana.nix2
-rw-r--r--nixos/hosts/tente/secrets/grafana-matrix-forwarder-env.age (renamed from nixos/secrets/grafana-matrix-forwarder-env.age)bin449 -> 449 bytes
-rw-r--r--nixos/secrets.nix31
-rw-r--r--nixos/secrets/secrets.nix12
-rw-r--r--nixos/shared/secrets/vpn-se-privKey.age (renamed from nixos/secrets/vpn-se-privKey.age)0
-rw-r--r--nixos/shared/vpn.nix2
8 files changed, 34 insertions, 15 deletions
diff --git a/nixos/hosts/ev/miniflux.nix b/nixos/hosts/ev/miniflux.nix
index 5bf1ccd..73bdf98 100644
--- a/nixos/hosts/ev/miniflux.nix
+++ b/nixos/hosts/ev/miniflux.nix
@@ -11,7 +11,7 @@ in
};
config = {
- age.secrets.miniflux-admin.file = <top/secrets/miniflux-admin.age>;
+ age.secrets.miniflux-admin.file = ./secrets/miniflux-admin.age;
services.miniflux = {
enable = true;
diff --git a/nixos/secrets/miniflux-admin.age b/nixos/hosts/ev/secrets/miniflux-admin.age
index b656b07..b656b07 100644
--- a/nixos/secrets/miniflux-admin.age
+++ b/nixos/hosts/ev/secrets/miniflux-admin.age
diff --git a/nixos/hosts/tente/grafana.nix b/nixos/hosts/tente/grafana.nix
index f7c8789..a2ea9b9 100644
--- a/nixos/hosts/tente/grafana.nix
+++ b/nixos/hosts/tente/grafana.nix
@@ -26,7 +26,7 @@ in
];
config = {
- age.secrets.grafana-matrix-forwarder-env.file = <top/secrets/grafana-matrix-forwarder-env.age>;
+ age.secrets.grafana-matrix-forwarder-env.file = ./secrets/grafana-matrix-forwarder-env.age;
services.grafana = {
enable = true;
diff --git a/nixos/secrets/grafana-matrix-forwarder-env.age b/nixos/hosts/tente/secrets/grafana-matrix-forwarder-env.age
index 84cab14..84cab14 100644
--- a/nixos/secrets/grafana-matrix-forwarder-env.age
+++ b/nixos/hosts/tente/secrets/grafana-matrix-forwarder-env.age
Binary files differ
diff --git a/nixos/secrets.nix b/nixos/secrets.nix
new file mode 100644
index 0000000..f44defe
--- /dev/null
+++ b/nixos/secrets.nix
@@ -0,0 +1,31 @@
+let
+ admins = [
+ # martin
+ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIF+moAzcnDJsyUalRVdLeJS1D5wezwMDyHuM+Cyk1nQh"
+ ];
+
+ hosts = {
+ hamac = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJmjbC0gk2s/qDQ+QR//GJH0ZPld99L0EtX7dPP5h2RN";
+ ev = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINCSypbTOnAYBO32vUUieOsb6ws32gCsDg8nB8JhuFuI";
+ tente = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGTyZdGXxkAjzRulRFB23AX0T/lVLZOaSaFJi+thsjgx";
+ };
+
+ hostSpecific = host:
+ let
+ hostSecrets = "hosts/${host}/secrets";
+ files = builtins.attrNames (builtins.readDir ./${hostSecrets});
+ in
+ builtins.listToAttrs (
+ map (f: {
+ name = "${hostSecrets}/${f}";
+ value = {
+ publicKeys = [hosts.${host}] ++ admins;
+ };
+ }) files
+ );
+in
+{
+ "shared/secrets/vpn-se-privKey.age".publicKeys = [hosts.hamac hosts.ev] ++ admins;
+}
+// hostSpecific "ev"
+// hostSpecific "tente"
diff --git a/nixos/secrets/secrets.nix b/nixos/secrets/secrets.nix
deleted file mode 100644
index f1c8ab8..0000000
--- a/nixos/secrets/secrets.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-let
- martin = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIF+moAzcnDJsyUalRVdLeJS1D5wezwMDyHuM+Cyk1nQh";
-
- hamac = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJmjbC0gk2s/qDQ+QR//GJH0ZPld99L0EtX7dPP5h2RN";
- ev = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINCSypbTOnAYBO32vUUieOsb6ws32gCsDg8nB8JhuFuI";
- tente = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGTyZdGXxkAjzRulRFB23AX0T/lVLZOaSaFJi+thsjgx";
-in
-{
- "vpn-se-privKey.age".publicKeys = [ martin hamac ev ];
- "grafana-matrix-forwarder-env.age".publicKeys = [ martin tente ];
- "miniflux-admin.age".publicKeys = [ martin ev ];
-}
diff --git a/nixos/secrets/vpn-se-privKey.age b/nixos/shared/secrets/vpn-se-privKey.age
index ca2a8eb..ca2a8eb 100644
--- a/nixos/secrets/vpn-se-privKey.age
+++ b/nixos/shared/secrets/vpn-se-privKey.age
diff --git a/nixos/shared/vpn.nix b/nixos/shared/vpn.nix
index 9cbcf45..4015edb 100644
--- a/nixos/shared/vpn.nix
+++ b/nixos/shared/vpn.nix
@@ -1,7 +1,7 @@
{ config, pkgs, ... }:
{
- age.secrets.vpn-se-privKey.file = ../secrets/vpn-se-privKey.age;
+ age.secrets.vpn-se-privKey.file = ./secrets/vpn-se-privKey.age;
# We're creating the wireguard interfaces in network namespaces so that
# we can use them on demand: