some sops
This commit is contained in:
@@ -39,7 +39,7 @@ rec {
|
|||||||
reverseProxyConfig = lib.${namespace}.mkReverseProxy {
|
reverseProxyConfig = lib.${namespace}.mkReverseProxy {
|
||||||
inherit name;
|
inherit name;
|
||||||
subdomain = cfg.reverseProxy.subdomain;
|
subdomain = cfg.reverseProxy.subdomain;
|
||||||
url = "http://${config.${namespace}.network.ipv4.address}:${toString cfg.port}"; # TODO: address
|
url = "http://${config.${namespace}.network.ipv4.address}:${toString cfg.port}";
|
||||||
middlewares = cfg.reverseProxy.middlewares;
|
middlewares = cfg.reverseProxy.middlewares;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -13,9 +13,31 @@ let
|
|||||||
description = "glance";
|
description = "glance";
|
||||||
options = { };
|
options = { };
|
||||||
moduleConfig = {
|
moduleConfig = {
|
||||||
|
sops = {
|
||||||
|
secrets = {
|
||||||
|
"jallen-nas/glance/arr-username" = {
|
||||||
|
sopsFile = (lib.snowfall.fs.get-file "secrets/nas-secrets.yaml");
|
||||||
|
};
|
||||||
|
"jallen-nas/glance/arr-password" = {
|
||||||
|
sopsFile = (lib.snowfall.fs.get-file "secrets/nas-secrets.yaml");
|
||||||
|
};
|
||||||
|
};
|
||||||
|
templates = {
|
||||||
|
"glance.env" = {
|
||||||
|
mode = "660";
|
||||||
|
restartUnits = [ "glance.service" ];
|
||||||
|
content = ''
|
||||||
|
ARR_USER=${config.sops.placeholder."jallen-nas/glance/arr-username"}
|
||||||
|
ARR_PASS=${config.sops.placeholder."jallen-nas/glance/arr-password"}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
services.glance = {
|
services.glance = {
|
||||||
enable = true;
|
enable = true;
|
||||||
openFirewall = true;
|
openFirewall = true;
|
||||||
|
environmentFile = config.sops.templates."glance.env".path;
|
||||||
settings = {
|
settings = {
|
||||||
server = {
|
server = {
|
||||||
host = "0.0.0.0";
|
host = "0.0.0.0";
|
||||||
@@ -47,7 +69,7 @@ let
|
|||||||
{
|
{
|
||||||
type = "local";
|
type = "local";
|
||||||
name = "Jallen-NAS";
|
name = "Jallen-NAS";
|
||||||
cpu-temp-sensor = "/sys/class/hwmon/hwmon2/temp2_input"; # TODO
|
cpu-temp-sensor = "/sys/devices/pci0000:00/0000:00:08.1/0000:cd:00.0/hwmon/hwmon*/temp1_input"; # Tctl
|
||||||
mountpoints = {
|
mountpoints = {
|
||||||
"/home" = {
|
"/home" = {
|
||||||
name = "Home";
|
name = "Home";
|
||||||
@@ -129,8 +151,8 @@ let
|
|||||||
icon = "si:sonarr";
|
icon = "si:sonarr";
|
||||||
allow-insecure = true;
|
allow-insecure = true;
|
||||||
basic-auth = {
|
basic-auth = {
|
||||||
username = "mjallen";
|
username = "\${ARR_USER}";
|
||||||
password = "BogieDudie1"; # todo
|
password = "\${ARR_PASS}";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
@@ -139,8 +161,8 @@ let
|
|||||||
icon = "si:radarr";
|
icon = "si:radarr";
|
||||||
allow-insecure = true;
|
allow-insecure = true;
|
||||||
basic-auth = {
|
basic-auth = {
|
||||||
username = "mjallen";
|
username = "\${ARR_USER}";
|
||||||
password = "BogieDudie1";
|
password = "\${ARR_PASS}";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
# {
|
# {
|
||||||
|
|||||||
@@ -105,7 +105,6 @@ let
|
|||||||
# Registration settings
|
# Registration settings
|
||||||
enable_registration = false; # Set to true initially to create admin user
|
enable_registration = false; # Set to true initially to create admin user
|
||||||
enable_registration_without_verification = false;
|
enable_registration_without_verification = false;
|
||||||
# registration_shared_secret = "BogieDudie1";
|
|
||||||
|
|
||||||
# Media settings
|
# Media settings
|
||||||
max_upload_size = "50M";
|
max_upload_size = "50M";
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ let
|
|||||||
eula = true;
|
eula = true;
|
||||||
declarative = true;
|
declarative = true;
|
||||||
openFirewall = cfg.openFirewall;
|
openFirewall = cfg.openFirewall;
|
||||||
dataDir = "/media/nas/main/ssd_app_data/minecraft"; # todo
|
dataDir = "${cfg.configDir}/minecraft"; # todo
|
||||||
serverProperties = {
|
serverProperties = {
|
||||||
enforce-whitelist = true;
|
enforce-whitelist = true;
|
||||||
white-list = true;
|
white-list = true;
|
||||||
|
|||||||
@@ -159,9 +159,7 @@ in
|
|||||||
"traefik.env" = {
|
"traefik.env" = {
|
||||||
content = ''
|
content = ''
|
||||||
CLOUDFLARE_DNS_API_TOKEN=${config.sops.placeholder."jallen-nas/traefik/cloudflare-dns-api-token"}
|
CLOUDFLARE_DNS_API_TOKEN=${config.sops.placeholder."jallen-nas/traefik/cloudflare-dns-api-token"}
|
||||||
CLOUDFLARE_ZONE_API_TOKEN = ${
|
CLOUDFLARE_ZONE_API_TOKEN=${config.sops.placeholder."jallen-nas/traefik/cloudflare-zone-api-token"}
|
||||||
config.sops.placeholder."jallen-nas/traefik/cloudflare-zone-api-token"
|
|
||||||
}
|
|
||||||
CLOUDFLARE_API_KEY=${config.sops.placeholder."jallen-nas/traefik/cloudflare-api-key"}
|
CLOUDFLARE_API_KEY=${config.sops.placeholder."jallen-nas/traefik/cloudflare-api-key"}
|
||||||
CLOUDFLARE_EMAIL=${config.sops.placeholder."jallen-nas/traefik/cloudflare-email"}
|
CLOUDFLARE_EMAIL=${config.sops.placeholder."jallen-nas/traefik/cloudflare-email"}
|
||||||
'';
|
'';
|
||||||
@@ -181,7 +179,7 @@ in
|
|||||||
enable = true;
|
enable = true;
|
||||||
dataDir = dataDir;
|
dataDir = dataDir;
|
||||||
group = "jallen-nas"; # group;
|
group = "jallen-nas"; # group;
|
||||||
environmentFiles = [ "${config.services.traefik.dataDir}/traefik.env" ]; # todo: sops
|
environmentFiles = [ config.sops.templates."traefik.env".path ];
|
||||||
|
|
||||||
staticConfigOptions = {
|
staticConfigOptions = {
|
||||||
entryPoints = {
|
entryPoints = {
|
||||||
|
|||||||
@@ -60,6 +60,9 @@ jallen-nas:
|
|||||||
matrix:
|
matrix:
|
||||||
client-id: ENC[AES256_GCM,data:Cv5nbJQPo2YkNwVlzaquXguaVpfVxmYu4LvwlgLJw1EVfDz8ZqgCtQ==,iv:OO9q+q36wCq0yuTxLpqh5Nn0oVWdNISTMZzeQedPcGE=,tag:KDsox/yemi9t76xr2/yvbg==,type:str]
|
client-id: ENC[AES256_GCM,data:Cv5nbJQPo2YkNwVlzaquXguaVpfVxmYu4LvwlgLJw1EVfDz8ZqgCtQ==,iv:OO9q+q36wCq0yuTxLpqh5Nn0oVWdNISTMZzeQedPcGE=,tag:KDsox/yemi9t76xr2/yvbg==,type:str]
|
||||||
client-secret: ENC[AES256_GCM,data:5OcfUAVZ0xfGEkGr8rp08lFRbcvMf2XvCU08XnaK8iwjWEmVJjLHtBV0rzulPpdJf9eVapCz0udC8v1bPgD2tvVLNNdSUK5CMwYIB6dsa44/lkUe+EvNl/7w68vUqyo3rWAgTLIUksglvk/aCXH0p3ZIrQgQgeI6EbvdS5bcLqY=,iv:OeCnHFGaXUQhqdPX4XksKwwZrbhBr8bsNeDTiIbfSpY=,tag:KWqDU9iJmIQpObxNdLs6AQ==,type:str]
|
client-secret: ENC[AES256_GCM,data:5OcfUAVZ0xfGEkGr8rp08lFRbcvMf2XvCU08XnaK8iwjWEmVJjLHtBV0rzulPpdJf9eVapCz0udC8v1bPgD2tvVLNNdSUK5CMwYIB6dsa44/lkUe+EvNl/7w68vUqyo3rWAgTLIUksglvk/aCXH0p3ZIrQgQgeI6EbvdS5bcLqY=,iv:OeCnHFGaXUQhqdPX4XksKwwZrbhBr8bsNeDTiIbfSpY=,tag:KWqDU9iJmIQpObxNdLs6AQ==,type:str]
|
||||||
|
glance:
|
||||||
|
arr-username: ENC[AES256_GCM,data:PlLrcaYLmvv5,iv:ZdBAkR93TLh0FMYhqBhxw8hZI5a/UeS3fpWkORH2e4k=,tag:hpuEgLnF5hCtt0XJTC/gAg==,type:str]
|
||||||
|
arr-password: ENC[AES256_GCM,data:K8J3fPGWc3SWeKo=,iv:pkr+m92OlAszLXmGn34tEtaEvvBV+ohObj2uRDqKIYc=,tag:wBxe9gijHie6sq0brtpMRQ==,type:str]
|
||||||
sops:
|
sops:
|
||||||
shamir_threshold: 1
|
shamir_threshold: 1
|
||||||
age:
|
age:
|
||||||
@@ -180,8 +183,8 @@ sops:
|
|||||||
NXZkbVZyV0VtTzArOE1uU1JwMXZZN0EKLDU1x+rIWecDD9x//huoM2BM9NRSa4g1
|
NXZkbVZyV0VtTzArOE1uU1JwMXZZN0EKLDU1x+rIWecDD9x//huoM2BM9NRSa4g1
|
||||||
L5nodU/J0XsfB9z3kr7eY5LYSwsqGkAxI1cXJYZGHF+bozJjweyXTQ==
|
L5nodU/J0XsfB9z3kr7eY5LYSwsqGkAxI1cXJYZGHF+bozJjweyXTQ==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
lastmodified: "2025-12-19T18:25:38Z"
|
lastmodified: "2025-12-19T19:13:19Z"
|
||||||
mac: ENC[AES256_GCM,data:iJ5W0/Vc3P1uADpyPHKkpiBV3b4ls6zrkSvNKlLtKu0avFdf0zEQlxHRIdMqN9AY0CVnOeEu58kxI9J0ld8cTJtgnNvRWhWys4G8a5hCLkTdOB1uJvpRKu+ju+DbKJ2x5ozgDrzXweeG5Mt7vh8ZUFQ9LM3FEuFOzBokLhx6VCA=,iv:WbqHUYLHeG7rY17QN+MFp1UEpgYliT0ULiMah0TQtNo=,tag:Y9cL9KqSgcO11dYhBy6eNw==,type:str]
|
mac: ENC[AES256_GCM,data:WxMZoYKjoEF1VLtmf8HvPqBizpoOTXUdVA7/IIYN0X4mBrg5Bcqj4fLx9hog6UbSQG5hbKxJzHxyeHJldun5bImmdrrE86aWWen3ukmOWxbT5TSVvZvqiwip3xDn4KmAjdoxkrL4SZrgvO6cHY8yTwbKIb3NtUIAKexsgfz6QjY=,iv:PSlNC2z4LZ/Vp0zaP7yyPvoojea9s3/CwnrrPMhF3YU=,tag:Wvc/aXzYLrl7DJe0AI8RyQ==,type:str]
|
||||||
pgp:
|
pgp:
|
||||||
- created_at: "2025-08-24T02:21:34Z"
|
- created_at: "2025-08-24T02:21:34Z"
|
||||||
enc: |-
|
enc: |-
|
||||||
|
|||||||
@@ -39,7 +39,6 @@
|
|||||||
user = {
|
user = {
|
||||||
name = "matt";
|
name = "matt";
|
||||||
hashedPasswordFile = null;
|
hashedPasswordFile = null;
|
||||||
password = "BogieDudie1";
|
|
||||||
mutableUsers = false;
|
mutableUsers = false;
|
||||||
extraGroups = [
|
extraGroups = [
|
||||||
"docker"
|
"docker"
|
||||||
|
|||||||
Reference in New Issue
Block a user