Add secrets and cleanup

This commit is contained in:
2026-07-07 09:25:07 +01:00
parent b5c495a094
commit 822f654d6a
9 changed files with 75 additions and 7 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
#!@bash@/bin/bash
source /run/secrets/main.env
source /run/secrets.env
cache=/var/lib/cloudflare-ddns/old_ip
IP=$(@curl@/bin/curl -s 'https://api.ipify.org')
+1 -2
View File
@@ -1,4 +1,4 @@
{ config, pkgs, ... }:
{ pkgs, ... }:
let
script = pkgs.replaceVars ./ddns.sh {
@@ -8,7 +8,6 @@ let
};
cloudflare-ddns = pkgs.writeShellScriptBin "cloudflare-ddns" (builtins.readFile script);
in
{
environment.systemPackages = [ cloudflare-ddns ];
+7 -2
View File
@@ -1,5 +1,8 @@
{ pkgs, ... }:
{ config, pkgs, ... }:
let
projectDir ="${config.users.users."me".home}/main/msjd";
in
{
systemd.services.msjd = {
description = "Msjd";
@@ -7,7 +10,7 @@
wantedBy = [ "multi-user.target" ];
serviceConfig = {
WorkingDirectory = "/home/me/main/msjd";
WorkingDirectory = projectDir;
ExecStart = "${pkgs.nodejs}/bin/node index.mjs";
User = "me";
@@ -19,5 +22,7 @@
"PORT=3709"
];
};
ConditionPathIsDirectory = projectDir;
};
}
+26
View File
@@ -0,0 +1,26 @@
{ pkgs, ... }:
let
thisDir = ./.;
unlocker = pkgs.writeScriptBin "unlocker" ''
#!${pkgs.bash}/bin/bash
set -euo pipefail
if [[ -f "${thisDir}/secrets.age" && -f "${config.users.users."me".home}/.ssh/id_ed25519" ]]; then
${pkgs.age}/bin/age -d -i "${config.users.users."me".home}/.ssh/id_ed25519" "${thisDir}/secrets.age"
end
'';
in
{
environment.systemPackages = [ unlocker ];
systemd.services.unlocker = {
description = "Secrets manager";
serviceConfig = {
Type = "oneshot";
StandardOutput = "file:/run/secrets.env";
RemainAfterExit = true;
};
script = "${unlocker}/bin/unlocker";
};
}
+25
View File
@@ -0,0 +1,25 @@
#!/usr/bin/env bash
set -euo pipefail
AGE_PRIVATE_KEY="$HOME/.ssh/id_ed25519"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
RECIPIENTS_FILE="$SCRIPT_DIR/recipients.txt"
ENCRYPTED_FILE="$SCRIPT_DIR/secrets.age"
TMP_FILE=$(mktemp)
cleanup() {
rm -f "$TMP_FILE"
}
trap cleanup EXIT
if [[ -f "$ENCRYPTED_FILE" ]]; then
age -d -i "$AGE_PRIVATE_KEY" -o "$TMP_FILE" "$ENCRYPTED_FILE"
fi
"${EDITOR:-vi}" "$TMP_FILE"
age -R "$RECIPIENTS_FILE" -o "$ENCRYPTED_FILE" "$TMP_FILE"
echo "Updated $ENCRYPTED_FILE"
+2
View File
@@ -0,0 +1,2 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMPFh01e9doyInt0980V8T4xaakcSaOyXaxxYE4+oSwM me@syedm
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJFUwk54CNtSLUyXSTLsIs5KXgEsjOgE4HGlA4FacKjV me@tardis
+7
View File
@@ -0,0 +1,7 @@
age-encryption.org/v1
-> ssh-ed25519 ZK0gQw 9LrC4V6ibhKKKoE8Dtm+caoI2z6tT6oBnfNAl5qlcQ8
NWqFWrj49jp2e8our9rpYpHZZny8t4mKGogeRNMFCkk
-> ssh-ed25519 CjJArg bxVL+Is1oNN4QLRW24hPOpFFAhGmGyF611o3oASaJFk
K8a5oDyvQ4k0YeDBseS2/SmvPhu39LWyRuFkWi0gm2s
--- wjAuZMd2h4fvKfKtIdHmEYPO1sEC64tmU4uZarAK4io
Ô@àˆó,RîžÐÙ$øôG—8Š‘WÇì×®µ–žñ[