Compare commits

...
1 Commits
Author SHA1 Message Date
ahtlon c060796659 add goldman secrets with encryption
Check flake syntax / flake-check (push) Successful in 6m33s
Hydra callback / on_push (pull_request) Skipped
Hydra callback / on_pr (pull_request) Failing after 6m24s
2026-11-08 01:05:55 +01:00
4 changed files with 57 additions and 12 deletions
+9
View File
@@ -18,6 +18,7 @@ keys:
- &machine_pretalx age1y04q8n7mgk82c87rfddm0u72h0ny6sfzktjsk0cc3gu93kezudfqdp9v9g
- &machine_albert age1mfarz0n7qfa7vg8zz355qf8eregm6myl38lld0h767nuvhgjqd4qruxuhn
- &machine_ns1 age1mam7y7x4my6g8yt8leze3pvlq0fr48hdsqz62gs7l9rstf9hh3fs03xf7n
- &machine_goldman age10gk6kydhljjk99vmaj6z0sz5d9x7pwp458gpr3hzqpl5hh04z5xqgley7j
#this dummy key is used for testing.
- &machine_dummy age18jn5mrfs4gqrnv0e2sxsgh3kq4sgxx39hwr8z7mz9kt7wlgaasjqlr88ng
creation_rules:
@@ -132,6 +133,14 @@ creation_rules:
age:
- *machine_ns1
- *admin_atlan
- path_regex: goldman/gatekeeper.env$
key_groups:
- pgp:
- *admin_kalipso
- *admin_kalipso_dsktp
age:
- *machine_goldman
- *admin_atlan
- path_regex: .*/secrets/.*
key_groups:
- pgp:
+13 -10
View File
@@ -10,13 +10,20 @@ in
imports =
[
inputs.gatekeeper.nixosModules.gatekeeper
../modules/malobeo_user.nix
inputs.self.nixosModules.malobeo.users
#inputs.nixos-hardware.nixosModules.raspberry-pi-3
(modulesPath + "/profiles/minimal.nix")
#(modulesPath + "/installer/sd-card/sd-image.nix")
../modules/autoupdate.nix
];
malobeo.users = {
malobeo = false;
admin = true;
backup = false;
hostKeyLocation = "/etc/ssh/ssh_host_ed25519_key";
};
fileSystems."/" =
{ device = "/dev/disk/by-label/NIXOS_SD";
fsType = "ext4";
@@ -59,18 +66,14 @@ in
settings.allow_anonymous = true;
}];
};
sops.secrets.gatekeeperEnv = {
sopsFile = ./gatekeeper.env;
key = "";
};
services = {
gatekeeper = {
enable = true;
envFile = pkgs.writeText "env" ''
MIFARE_APP_MASTER_KEY="7b195adb892073c9e34ebe7e0ca28b2b"
MIFARE_ACL_READ_BASE_KEY="741a50f2b189cc9f151e0600f50a6e1a"
MIFARE_ACL_WRITE_BASE_KEY="f1aa99f81cca268de98d422ee0ccb65c"
SECRET_KEY="8b14d0b447bff7efa24d5019cc59a999786e31f6f865173bbd642bf18de5ad85"
MQTT_HOST = "localhost"
MQTT_PORT = "1883"
'';
envFile = config.sops.secrets.gatekeeperEnv.path;
mock = "False";
};
};
+27
View File
@@ -0,0 +1,27 @@
MIFARE_APP_MASTER_KEY=ENC[AES256_GCM,data:I1YgnEjcMOnUtp5W2etsJgYyLr7lonzNg8gsUwZJcslfAw==,iv:oZknXxh5KcVzX6vdtyUH69kKjYAckmHL56QaMF1MOH0=,tag:GfR7AVn6IXCfI3mGBN9Dsw==,type:str]
MIFARE_ACL_READ_BASE_KEY=ENC[AES256_GCM,data:A5cnHzlEW38YrQpoAL20+YMtx+PbaidM5Q2n9b4fWngQUg==,iv:eNhI23L2GVzpPEa0QyEU97iBQVDuhqsOwWPezzuS8+Y=,tag:9CuZSpqYsV/y0mvaAO3S/w==,type:str]
MIFARE_ACL_WRITE_BASE_KEY=ENC[AES256_GCM,data:V4q0PuQJxcDXsix6XQsBamq1V/V+K+N4noRGgpJjjTB13g==,iv:4OJN8HzWQtaoJlh01uFmUvgXRwFY0jorkTgZjljJsRc=,tag:1H648/Jy7KANtRNDSkyTSA==,type:str]
SECRET_KEY=ENC[AES256_GCM,data:K2FYP/4vk9maohnSQF735zGbkeV5HGcCJFSzyrifGPS3YA==,iv:oAxz/gAn76ch/UliCDlXzVNTRzuIDgdhD/k92vXqmok=,tag:NuoXXPdhLpxDuDh78qTF1A==,type:str]
MQTT_HOST =ENC[AES256_GCM,data:6YTmAljhE9w/pnXo,iv:08FNf3xopciUPLeGMnSIkehaM/Gjfvwi2RHb4t7TzJI=,tag:UYyFxbkugBULoQ6hS1aqWw==,type:str]
MQTT_PORT =ENC[AES256_GCM,data:sGh+xyaVwQ==,iv:YuY1prObChjS0Urwe6M90hMMeBDkpG8sAou/uP2jXq4=,tag:Sqp92fwgGTRgHe9zk+D6Tw==,type:str]
DISABLE_CALDAV =ENC[AES256_GCM,data:3iAINTq/Htc=,iv:GWcnwG607jbMxVpl0jKRFBJ+tCRHM9SLUbj7ChVwh1k=,tag:sQUdgiGqlROtSH4/cfvoCg==,type:str]
DISABLE_CARDS =ENC[AES256_GCM,data:4IFbzoLNdYU=,iv:So2jIQ6bBvKbh9aki0H/yJ4cvdeqYxMj0gtS7C/Snhs=,tag:G21lbZ6DpMwBjIzERXBjZw==,type:str]
CALDAV_URL =ENC[AES256_GCM,data:hgObeMHReiqCXXQ2N8Y1rLKPydz1bY1ae4YBt1X1BIsnpU0S7EB1XFifhpcx9X12szibtQ59YA==,iv:jxsDZnSX78UF8Hrtjng8/JThg/MweBUYvqdVLptYWXI=,tag:YfFgxQehpYIuZQ7MHq0WkA==,type:str]
CALDAV_USER =ENC[AES256_GCM,data:+BSTNCi7mULdWhM1oa06,iv:UlpkZTEmvuktC0daH4nBm0kaJiIaWt8DVL+wMLBjuxo=,tag:RfX5dbLBtJ0FfSXVxlW99w==,type:str]
CALDAV_PASSWORD =ENC[AES256_GCM,data:TXUBlhjge6b3Uu0BH/IJ53zqGAAVF8/XhvXVHuhgmi8=,iv:oSDpRWTP/jP06ZS4diwcUdAAnI+GSIomY+IbIERki4E=,tag:RKNW99kkZd5WmOe2poFM1A==,type:str]
CALDAV_CALENDARS =ENC[AES256_GCM,data:0T42oZqIDFgUegGBzw==,iv:LFYzH4Ej+Aavugg3lRaR+rP4ZGjDUPyTbxwTc9DChgc=,tag:IPx04P8KFW6vfN6UTKJPIA==,type:str]
CALDAV_REFRESH_INTERVAL =ENC[AES256_GCM,data:/tHX+A==,iv:I7JNh30TMyT5L8cLPGINTxZVUXzk94nix4tMHfIHKlI=,tag:flZqije+8tsQXL68nEewnQ==,type:str]
sops_age__list_0__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBxQTNNN0dpbWR2OFJtalIz\nOGFQaHlzRGEyVlZTUUpBRGI0Q3NpbnZVeWlRClYrTlAvZmNMUVg5MnhETlEvTU8x\nSzdlU0syT3FjdmZqOWY5eGprYkxPeHMKLS0tIENNOXZZc2hkTXhyUkgxN3I1TE8y\nU2h5d0ZaWS9QdTVsZGJjVlZuL3kwK28K6ATJuMyMSKAbbz0DVC/Yuz0g7F0DgNd5\nEo1L86EefttFwUuvz+hpNqllU3f6kGa19sFBcQc5cpQF6G6MTCJxOA==\n-----END AGE ENCRYPTED FILE-----\n
sops_age__list_0__map_recipient=age10gk6kydhljjk99vmaj6z0sz5d9x7pwp458gpr3hzqpl5hh04z5xqgley7j
sops_age__list_1__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB5aGgxWmovR2gzVnZaT1Uw\nd2VtUis1SEM5OXZYVENjWURrNUJscnQ0TUhjCmZ2dURBL2NESUJFd3RYNGdWWmNM\nSmpRdURMK0xJVzFhUkwrMHd3ZDkwbm8KLS0tIDRjemJEN1lJSXBvN2prRVFEQ25N\ncXBqeXF4dzNIak8vTUd1Rmt1ZkhTclEKRSoxGpRmrejYTx/KnbG6IxRSzrRXNyHP\nTQpY5OD6/nmajrxIymvEFdsMMw2DiWevypCAJZQK3/+OqIlgKnfiaQ==\n-----END AGE ENCRYPTED FILE-----\n
sops_age__list_1__map_recipient=age1ljpdczmg5ctqyeezn739hv589fwhssjjnuqf7276fqun6kc62v3qmhkd0c
sops_lastmodified=2026-11-07T23:23:15Z
sops_mac=ENC[AES256_GCM,data:VT1hKDEC2QUwEz6E+qAbUBVJi0sF6yNBfdkYIccb4+5EYWr1dKIiwOxwkqvvHKi1S5Kw501CH/oB3nswgDV1/fJsXlrgvCrF9AeX8W5IFMyTYe/aEtsWBS2lnyL2do5YFGss9XX0RJOXmqvsyGDRpnMi0wTvths/f7tmVv8m3Es=,iv:UZDX5rF0sl2nGwbR16IQcQJq/W+QYjeTwSE1CkjHHC0=,tag:kJIpwvmYThnjoS09XSEmtQ==,type:str]
sops_pgp__list_0__map_created_at=2026-11-07T23:23:15Z
sops_pgp__list_0__map_enc=-----BEGIN PGP MESSAGE-----\n\nhQGMA5HdvEwzh/H7AQv/R4//v0z5OOfd+OB52bTcA8Cl1s5vkPg7Xkjzn4yhc47e\nWdMHW3i2y18I1WJyoNTQGqoZNXAIyvZleq8q8e/iibfr+ZefP/UaCKOPiLJ6fUN+\nD+bqYn3LBR0whzEBI7GWr+/xwyJX6L7qk16NhR2zTFku+PGRaHo2YhfKxqw9GqbL\niNSVs3MGRvinLlLYZbAAKtfQ7IZJ/JIvWLAU4ZGvfNBh8XQ9xirVnl32A5/2dSPV\nOv1gg1gmxGAkOFbShw4k6nmCCM+HB95goHbriWk/3oCsToNuhQyVVGz3m+E4ZXFP\n6GDHh2zuRENe+UZHQStle1fS/4v/mHrkXfH771pDy6DPWGbOz/abmRYD+CtOxhRP\niD0w0jbrvma5+kn53/CN/WTJa3aBzyr1T+5fVamczriC7cnZgR+u1zp2gS+th1WE\nFtsh7WrNkHRYWBXsj1YnH/x62cO9t/29i6i0qXuCILxP/39wdcljyNIUzFBZ04TI\naY3Nc3+uoSp42RTeYfIm0lYBs8uuPhELVlFblaI8dZ4hTDLzr7lRYs07nvOkWvfS\nWnnY23oYRvmj66qujLaxYrvhrOe9l+xe1qGj0Kzolb9xgDsSdb/HjUysLNGU3CuL\nBbquv+RcSA==\n=k+7t\n-----END PGP MESSAGE-----
sops_pgp__list_0__map_fp=c4639370c41133a738f643a591ddbc4c3387f1fb
sops_pgp__list_1__map_created_at=2026-11-07T23:23:15Z
sops_pgp__list_1__map_enc=-----BEGIN PGP MESSAGE-----\n\nhQIMA98TrrsQEbXUAQ/7BPsXeKJ4NwpHMonr0l5nfWrbXwtBCwE6YrMWsYFVnleZ\nxZe/w8vsAfe2fcVyXsmPsHnskh7Mqjnxk+M6oc9OWxCS35NQ2BROxqPDXVqOuTNJ\nQTNuHNMMornysa28TCnO+zr90K7s3WUc0g53VcWxEZndPhiSdA/KftAmJJaFV+kd\nbUQW7Yc0WkO64S2DMpFI9GCfgqNll53nnXt6KgbRrNcE7bD08kOBVCHyZ1hXJKai\nQ0LLQ4+odv1mSn5UP48dOKYZcFlIQ0QCKdCJ96zApaPajOF24f+0Yi4f6wMEVxfs\nAWQbBOFot78zOQJH8mZO0WlOf1Cw6v18tE74dGPPsFInCqMYth9oDJ4lTP+wMyl2\nskXJRuK3wzmmWL8h9qL4yym1vVW9V0NHZLlTip8SKlnujrmE+rjgKAmFvcezygDG\nKIQuOUQsuiWiRE7XCMMQX+2bwjUjerM3yhoLQixX6fDzhWTX5f70nq+OBnLR0SD9\n1uq5Nkb5N01qyhAtYyTcsxJvTy0YJ6NE6CDoGmIOS4hUq1Lf4nMRx7vfemsrvcca\nNj7nkMWcLeOUcBSVBR84nRVlTN96qjAeOycl4TmAw3H9sciBWs6MNdPgD6XR7D0r\nboHxhXApCiPj6YGTdCGEtqs5ha0yFJVljyWR63+EM9iKVV4lMZL4excHSCBlmojS\nVgEufYXXDTuWonGAsLyciMGokCvxCIKuIxC/3FcdHT0Ijg97h1vZ9K3qY8VQ1NeI\n92fAnC7edWJ3W7zbbxZqhXKx6NOF1EideBdy8xOP2nk6RZkS82i0\n=LofN\n-----END PGP MESSAGE-----
sops_pgp__list_1__map_fp=aef8d6c7e4761fc297cda833df13aebb1011b5d4
sops_unencrypted_suffix=_unencrypted
sops_version=3.13.3
+8 -2
View File
@@ -21,6 +21,11 @@ in
default = false;
description = "enable backup user, ";
};
hostKeyLocation = lib.mkOption {
type = lib.types.path;
default = "/etc/ssh/${hostName}";
description = "path to the hostkey used for sops. Defaults to '/etc/ssh/${hostName}'. Change to '/etc/ssh/ssh_host_ed25519_key' for migrating other machines.";
};
};
config = lib.mkMerge [
(lib.mkIf cfg.malobeo {
@@ -81,13 +86,14 @@ in
})
{
users.mutableUsers = false;
services.openssh.hostKeys = [
{
path = "/etc/ssh/${hostName}";
path = cfg.hostKeyLocation;
type = "ssh-ed25519";
}
];
sops.age.sshKeyPaths = [ "/etc/ssh/${hostName}" ];
sops.age.sshKeyPaths = [ cfg.hostKeyLocation ];
environment.systemPackages = with pkgs; [
nix-output-monitor
vim