nas sops
This commit is contained in:
@@ -68,14 +68,23 @@ in
|
|||||||
sops = {
|
sops = {
|
||||||
secrets = {
|
secrets = {
|
||||||
"jallen-nas/traefik/crowdsec-lapi-key" = {
|
"jallen-nas/traefik/crowdsec-lapi-key" = {
|
||||||
|
sopsFile = (lib.snowfall.fs.get-file "secrets/nas-secrets.yaml");
|
||||||
owner = config.users.users.traefik.name;
|
owner = config.users.users.traefik.name;
|
||||||
group = config.users.users.traefik.group;
|
group = config.users.users.traefik.group;
|
||||||
restartUnits = [ "traefik.service" ];
|
restartUnits = [ "traefik.service" ];
|
||||||
};
|
};
|
||||||
"jallen-nas/traefik/cloudflare-dns-api-token" = { };
|
"jallen-nas/traefik/cloudflare-dns-api-token" = {
|
||||||
"jallen-nas/traefik/cloudflare-zone-api-token" = { };
|
sopsFile = (lib.snowfall.fs.get-file "secrets/nas-secrets.yaml");
|
||||||
"jallen-nas/traefik/cloudflare-api-key" = { };
|
};
|
||||||
"jallen-nas/traefik/cloudflare-email" = { };
|
"jallen-nas/traefik/cloudflare-zone-api-token" = {
|
||||||
|
sopsFile = (lib.snowfall.fs.get-file "secrets/nas-secrets.yaml");
|
||||||
|
};
|
||||||
|
"jallen-nas/traefik/cloudflare-api-key" = {
|
||||||
|
sopsFile = (lib.snowfall.fs.get-file "secrets/nas-secrets.yaml");
|
||||||
|
};
|
||||||
|
"jallen-nas/traefik/cloudflare-email" = {
|
||||||
|
sopsFile = (lib.snowfall.fs.get-file "secrets/nas-secrets.yaml");
|
||||||
|
};
|
||||||
};
|
};
|
||||||
templates = {
|
templates = {
|
||||||
"traefik.env" = {
|
"traefik.env" = {
|
||||||
|
|||||||
@@ -2,7 +2,6 @@
|
|||||||
let
|
let
|
||||||
user = "nix-apps";
|
user = "nix-apps";
|
||||||
defaultSops = (lib.snowfall.fs.get-file "secrets/nas-secrets.yaml");
|
defaultSops = (lib.snowfall.fs.get-file "secrets/nas-secrets.yaml");
|
||||||
sharedSops = (lib.snowfall.fs.get-file "secrets/secrets.yaml");
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
# Permission modes are in octal representation (same as chmod),
|
# Permission modes are in octal representation (same as chmod),
|
||||||
@@ -20,7 +19,6 @@ in
|
|||||||
# Either the group id or group name representation of the secret group
|
# Either the group id or group name representation of the secret group
|
||||||
# It is recommended to get the group name from `config.users.users.<?name>.group` to avoid misconfiguration
|
# It is recommended to get the group name from `config.users.users.<?name>.group` to avoid misconfiguration
|
||||||
sops = {
|
sops = {
|
||||||
defaultSopsFile = lib.mkForce defaultSops;
|
|
||||||
age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
||||||
|
|
||||||
# ------------------------------
|
# ------------------------------
|
||||||
@@ -28,6 +26,7 @@ in
|
|||||||
# ------------------------------
|
# ------------------------------
|
||||||
secrets = {
|
secrets = {
|
||||||
"jallen-nas/admin_password" = {
|
"jallen-nas/admin_password" = {
|
||||||
|
sopsFile = defaultSops;
|
||||||
neededForUsers = true;
|
neededForUsers = true;
|
||||||
mode = "0600";
|
mode = "0600";
|
||||||
owner = config.users.users."${user}".name;
|
owner = config.users.users."${user}".name;
|
||||||
@@ -35,20 +34,18 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
"jallen-nas/nas_pool" = {
|
"jallen-nas/nas_pool" = {
|
||||||
|
sopsFile = defaultSops;
|
||||||
mode = "0600";
|
mode = "0600";
|
||||||
owner = config.users.users."${user}".name;
|
owner = config.users.users."${user}".name;
|
||||||
group = config.users.users."${user}".group;
|
group = config.users.users."${user}".group;
|
||||||
};
|
};
|
||||||
|
|
||||||
"wifi" = {
|
|
||||||
sopsFile = sharedSops;
|
|
||||||
};
|
|
||||||
|
|
||||||
# ------------------------------
|
# ------------------------------
|
||||||
# ups
|
# ups
|
||||||
# ------------------------------
|
# ------------------------------
|
||||||
|
|
||||||
"jallen-nas/ups_password" = {
|
"jallen-nas/ups_password" = {
|
||||||
|
sopsFile = defaultSops;
|
||||||
mode = "0777";
|
mode = "0777";
|
||||||
restartUnits = [
|
restartUnits = [
|
||||||
"upsdrv.service"
|
"upsdrv.service"
|
||||||
@@ -63,12 +60,10 @@ in
|
|||||||
# ------------------------------
|
# ------------------------------
|
||||||
|
|
||||||
"ssh-keys-public/jallen-nas-root" = {
|
"ssh-keys-public/jallen-nas-root" = {
|
||||||
sopsFile = sharedSops;
|
|
||||||
path = "/root/.ssh/id_ed25519.pub";
|
path = "/root/.ssh/id_ed25519.pub";
|
||||||
mode = "0640";
|
mode = "0640";
|
||||||
};
|
};
|
||||||
"ssh-keys-private/jallen-nas-root" = {
|
"ssh-keys-private/jallen-nas-root" = {
|
||||||
sopsFile = sharedSops;
|
|
||||||
path = "/root/.ssh/id_ed25519";
|
path = "/root/.ssh/id_ed25519";
|
||||||
mode = "0600";
|
mode = "0600";
|
||||||
};
|
};
|
||||||
@@ -78,6 +73,7 @@ in
|
|||||||
# ------------------------------
|
# ------------------------------
|
||||||
|
|
||||||
"jallen-nas/authentik-env" = {
|
"jallen-nas/authentik-env" = {
|
||||||
|
sopsFile = defaultSops;
|
||||||
restartUnits = [ "authentik.service" ];
|
restartUnits = [ "authentik.service" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -86,6 +82,7 @@ in
|
|||||||
# ------------------------------
|
# ------------------------------
|
||||||
|
|
||||||
"jallen-nas/collabora" = {
|
"jallen-nas/collabora" = {
|
||||||
|
sopsFile = defaultSops;
|
||||||
restartUnits = [ "podman-collabora.service" ];
|
restartUnits = [ "podman-collabora.service" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -94,9 +91,11 @@ in
|
|||||||
# ------------------------------
|
# ------------------------------
|
||||||
|
|
||||||
"jallen-nas/mariadb/db_pass" = {
|
"jallen-nas/mariadb/db_pass" = {
|
||||||
|
sopsFile = defaultSops;
|
||||||
restartUnits = [ "podman-mariadb.service" ];
|
restartUnits = [ "podman-mariadb.service" ];
|
||||||
};
|
};
|
||||||
"jallen-nas/mariadb/root_pass" = {
|
"jallen-nas/mariadb/root_pass" = {
|
||||||
|
sopsFile = defaultSops;
|
||||||
restartUnits = [ "podman-mariadb.service" ];
|
restartUnits = [ "podman-mariadb.service" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -105,18 +104,21 @@ in
|
|||||||
# ------------------------------
|
# ------------------------------
|
||||||
|
|
||||||
"jallen-nas/nextcloud/dbpassword" = {
|
"jallen-nas/nextcloud/dbpassword" = {
|
||||||
|
sopsFile = defaultSops;
|
||||||
mode = "0650";
|
mode = "0650";
|
||||||
owner = config.users.users."${user}".name;
|
owner = config.users.users."${user}".name;
|
||||||
group = config.users.users."${user}".group;
|
group = config.users.users."${user}".group;
|
||||||
restartUnits = [ "container@nextcloud.service" ];
|
restartUnits = [ "container@nextcloud.service" ];
|
||||||
};
|
};
|
||||||
"jallen-nas/nextcloud/adminpassword" = {
|
"jallen-nas/nextcloud/adminpassword" = {
|
||||||
|
sopsFile = defaultSops;
|
||||||
mode = "0650";
|
mode = "0650";
|
||||||
owner = config.users.users."${user}".name;
|
owner = config.users.users."${user}".name;
|
||||||
group = config.users.users."${user}".group;
|
group = config.users.users."${user}".group;
|
||||||
restartUnits = [ "container@nextcloud.service" ];
|
restartUnits = [ "container@nextcloud.service" ];
|
||||||
};
|
};
|
||||||
"jallen-nas/nextcloud/smtp_settings" = {
|
"jallen-nas/nextcloud/smtp_settings" = {
|
||||||
|
sopsFile = defaultSops;
|
||||||
mode = "0650";
|
mode = "0650";
|
||||||
owner = config.users.users."${user}".name;
|
owner = config.users.users."${user}".name;
|
||||||
group = config.users.users."${user}".group;
|
group = config.users.users."${user}".group;
|
||||||
@@ -128,6 +130,7 @@ in
|
|||||||
# ------------------------------
|
# ------------------------------
|
||||||
|
|
||||||
"jallen-nas/onlyoffice-key" = {
|
"jallen-nas/onlyoffice-key" = {
|
||||||
|
sopsFile = defaultSops;
|
||||||
mode = "0650";
|
mode = "0650";
|
||||||
owner = config.users.users."${user}".name;
|
owner = config.users.users."${user}".name;
|
||||||
group = config.users.users."${user}".group;
|
group = config.users.users."${user}".group;
|
||||||
@@ -139,6 +142,7 @@ in
|
|||||||
# ------------------------------
|
# ------------------------------
|
||||||
|
|
||||||
"jallen-nas/manyfold/secretkeybase" = {
|
"jallen-nas/manyfold/secretkeybase" = {
|
||||||
|
sopsFile = defaultSops;
|
||||||
restartUnits = [ "podman-manyfold.service" ];
|
restartUnits = [ "podman-manyfold.service" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -147,6 +151,7 @@ in
|
|||||||
# ------------------------------
|
# ------------------------------
|
||||||
|
|
||||||
"jallen-nas/immich/db-password" = {
|
"jallen-nas/immich/db-password" = {
|
||||||
|
sopsFile = defaultSops;
|
||||||
mode = "0440";
|
mode = "0440";
|
||||||
group = "keys";
|
group = "keys";
|
||||||
restartUnits = [ "container@immich.service" ];
|
restartUnits = [ "container@immich.service" ];
|
||||||
@@ -157,6 +162,7 @@ in
|
|||||||
# ------------------------------
|
# ------------------------------
|
||||||
|
|
||||||
"jallen-nas/open-webui" = {
|
"jallen-nas/open-webui" = {
|
||||||
|
sopsFile = defaultSops;
|
||||||
restartUnits = [ "open-webui.service" ];
|
restartUnits = [ "open-webui.service" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -165,12 +171,15 @@ in
|
|||||||
# ------------------------------
|
# ------------------------------
|
||||||
|
|
||||||
"jallen-nas/paperless/secret" = {
|
"jallen-nas/paperless/secret" = {
|
||||||
|
sopsFile = defaultSops;
|
||||||
restartUnits = [ "container@paperless.service" ];
|
restartUnits = [ "container@paperless.service" ];
|
||||||
};
|
};
|
||||||
"jallen-nas/paperless/authentik-client-id" = {
|
"jallen-nas/paperless/authentik-client-id" = {
|
||||||
|
sopsFile = defaultSops;
|
||||||
restartUnits = [ "container@paperless.service" ];
|
restartUnits = [ "container@paperless.service" ];
|
||||||
};
|
};
|
||||||
"jallen-nas/paperless/authentik-client-secret" = {
|
"jallen-nas/paperless/authentik-client-secret" = {
|
||||||
|
sopsFile = defaultSops;
|
||||||
restartUnits = [ "container@paperless.service" ];
|
restartUnits = [ "container@paperless.service" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -179,12 +188,14 @@ in
|
|||||||
# ------------------------------
|
# ------------------------------
|
||||||
|
|
||||||
"jallen-nas/gitea/mail-key" = {
|
"jallen-nas/gitea/mail-key" = {
|
||||||
|
sopsFile = defaultSops;
|
||||||
owner = "root";
|
owner = "root";
|
||||||
group = "keys";
|
group = "keys";
|
||||||
mode = "0440";
|
mode = "0440";
|
||||||
restartUnits = [ "container@gitea.service" ];
|
restartUnits = [ "container@gitea.service" ];
|
||||||
};
|
};
|
||||||
"jallen-nas/gitea/metrics-key" = {
|
"jallen-nas/gitea/metrics-key" = {
|
||||||
|
sopsFile = defaultSops;
|
||||||
owner = "root";
|
owner = "root";
|
||||||
group = "keys";
|
group = "keys";
|
||||||
mode = "0440";
|
mode = "0440";
|
||||||
@@ -194,55 +205,26 @@ in
|
|||||||
# ------------------------------
|
# ------------------------------
|
||||||
# free-games-claimer
|
# free-games-claimer
|
||||||
# ------------------------------
|
# ------------------------------
|
||||||
"jallen-nas/free-games/eg-email" = { };
|
"jallen-nas/free-games/eg-email" = {
|
||||||
"jallen-nas/free-games/eg-pass" = { };
|
sopsFile = defaultSops;
|
||||||
"jallen-nas/free-games/eg-otp" = { };
|
|
||||||
"jallen-nas/free-games/pg-email" = { };
|
|
||||||
"jallen-nas/free-games/pg-pass" = { };
|
|
||||||
"jallen-nas/free-games/gog-email" = { };
|
|
||||||
"jallen-nas/free-games/gog-pass" = { };
|
|
||||||
|
|
||||||
# ------------------------------
|
|
||||||
# Secureboot keys
|
|
||||||
# ------------------------------
|
|
||||||
|
|
||||||
"secureboot/GUID" = {
|
|
||||||
sopsFile = sharedSops;
|
|
||||||
path = "/etc/secureboot/GUID";
|
|
||||||
mode = "0640";
|
|
||||||
};
|
};
|
||||||
"secureboot/keys/db-key" = {
|
"jallen-nas/free-games/eg-pass" = {
|
||||||
sopsFile = sharedSops;
|
sopsFile = defaultSops;
|
||||||
path = "/etc/secureboot/keys/db/db.key";
|
|
||||||
mode = "0640";
|
|
||||||
};
|
};
|
||||||
"secureboot/keys/db-pem" = {
|
"jallen-nas/free-games/eg-otp" = {
|
||||||
sopsFile = sharedSops;
|
sopsFile = defaultSops;
|
||||||
path = "/etc/secureboot/keys/db/db.pem";
|
|
||||||
mode = "0640";
|
|
||||||
};
|
};
|
||||||
"secureboot/keys/KEK-key" = {
|
"jallen-nas/free-games/pg-email" = {
|
||||||
sopsFile = sharedSops;
|
sopsFile = defaultSops;
|
||||||
path = "/etc/secureboot/keys/KEK/KEK.key";
|
|
||||||
mode = "0640";
|
|
||||||
};
|
};
|
||||||
"secureboot/keys/KEK-pem" = {
|
"jallen-nas/free-games/pg-pass" = {
|
||||||
sopsFile = sharedSops;
|
sopsFile = defaultSops;
|
||||||
path = "/etc/secureboot/keys/KEK/KEK.pem";
|
|
||||||
mode = "0640";
|
|
||||||
};
|
};
|
||||||
"secureboot/keys/PK-key" = {
|
"jallen-nas/free-games/gog-email" = {
|
||||||
sopsFile = sharedSops;
|
sopsFile = defaultSops;
|
||||||
path = "/etc/secureboot/keys/PK/PK.key";
|
|
||||||
mode = "0640";
|
|
||||||
};
|
};
|
||||||
"secureboot/keys/PK-pem" = {
|
"jallen-nas/free-games/gog-pass" = {
|
||||||
sopsFile = sharedSops;
|
sopsFile = defaultSops;
|
||||||
path = "/etc/secureboot/keys/PK/PK.pem";
|
|
||||||
mode = "0640";
|
|
||||||
};
|
|
||||||
"jallen-nas/attic-key" = {
|
|
||||||
# owner = "atticd";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user