nix/secrets.nix
2025-01-19 15:11:59 +01:00

32 lines
1 KiB
Nix

let
keys = import ./ssh-keys.nix;
secrets = with keys; {
tailscale-authKey = keys.tailscale-machine;
cloudflare-tegola-apiKey = [ machines.caddy ];
cloudflare-pasetto-apiKey = [ machines.caddy ];
ddclient = [ machines.caddy ];
prowlarr-apiKey = [ machines.metrics ];
radarr-apiKey = [ machines.metrics ];
sonarr-apiKey = [ machines.metrics ];
lidarr-apiKey = [ machines.metrics ];
readarr-apiKey = [ machines.metrics ];
bazarr-apiKey = [ machines.metrics ];
grafana-admin-pwd = [ machines.metrics ];
nextcloud-admin-pwd = [ machines.nextcloud ];
vaultwarden-admin-pwd = [ machines.vaultwarden ];
searx-secret = [ machines.caddy ];
searx-prometheus-secret = [
machines.caddy
machines.metrics
];
watchtower-secrets = [ machines.portainer ];
authentik-env = [ machines.auth ];
};
in
builtins.listToAttrs (
map (secretName: {
name = "secrets/${secretName}.age";
value.publicKeys = secrets."${secretName}" ++ keys.infra-core;
}) (builtins.attrNames secrets)
)