Skip to content

Commit

Permalink
feat: remove hc from restic
Browse files Browse the repository at this point in the history
  • Loading branch information
konradmalik committed Nov 7, 2023
1 parent 5eb8e68 commit 94a043f
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 64 deletions.
91 changes: 32 additions & 59 deletions home/konrad/common/modules/restic.nix
Original file line number Diff line number Diff line change
Expand Up @@ -35,27 +35,6 @@ in
default = "restic/password";
};

hcCheckUrlFileRef = mkOption {
type = types.str;
description = "sops nix reference containing healthchecks.io url for signaling backup check";
example = "restic/hc_check_url";
default = "restic/hc_check_url";
};

hcForgetUrlFileRef = mkOption {
type = types.str;
description = "sops nix reference containing healthchecks.io url for signaling backup forget";
example = "restic/hc_forget_url";
default = "restic/hc_forget_url";
};

hcBackupUrlFileRef = mkOption {
type = types.str;
description = "sops nix reference containing healthchecks.io url for signaling backup";
example = "restic/hc_backup_url";
default = "restic/hc_backup_url";
};

ntfyPathFileRef = mkOption {
type = types.str;
description = "sops nix reference containing ntfy.sh url path for notifications";
Expand Down Expand Up @@ -240,9 +219,6 @@ in
};
};

hcCheckUrl = config.sops.secrets.${cfg.hcCheckUrlFileRef}.path;
hcForgetUrl = config.sops.secrets.${cfg.hcForgetUrlFileRef}.path;
hcBackupUrl = config.sops.secrets.${cfg.hcBackupUrlFileRef}.path;
ntfyPath = config.sops.secrets.${cfg.ntfyPathFileRef}.path;

resticBackup = pkgs.writeShellScript "restic-backup.sh" ''
Expand All @@ -251,17 +227,18 @@ in
${baker}/bin/baker b2 backup
code=$?
if [[ "$code" == 0 ]]; then
${pkgs.curl}/bin/curl \
-H "Title: Baker status" \
-H prio:min \
-d "$(${pkgs.inetutils}/bin/hostname): restic-backup succeeded" ntfy.sh/$(<${ntfyPath})
${pkgs.curl}/bin/curl -m 10 --retry 5 "$(<${hcBackupUrl})"
${pkgs.curl}/bin/curl --silent --show-error --max-time 10 --retry 5 \
--header "Title: Baker status" \
--header prio:min \
--data "$(${pkgs.inetutils}/bin/hostname): restic-backup succeeded" \
ntfy.sh/$(<${ntfyPath}) > /dev/null
else
${pkgs.curl}/bin/curl \
-H "Title: Baker status" \
-H tags:warning \
-H prio:high \
-d "$(${pkgs.inetutils}/bin/hostname): restic-backup failed" ntfy.sh/$(<${ntfyPath})
${pkgs.curl}/bin/curl --silent --show-error --max-time 10 --retry 5 \
--header "Title: Baker status" \
--header tags:warning \
--header prio:high \
--data "$(${pkgs.inetutils}/bin/hostname): restic-backup failed" \
ntfy.sh/$(<${ntfyPath}) > /dev/null
fi
echo
'';
Expand All @@ -271,13 +248,17 @@ in
${baker}/bin/baker b2 forget-prune
code=$?
if [[ "$code" == 0 ]]; then
${pkgs.curl}/bin/curl \
-H "Title: Baker status" \
-H prio:min \
-d "$(${pkgs.inetutils}/bin/hostname): restic-forget succeeded" ntfy.sh/$(<${ntfyPath})
${pkgs.curl}/bin/curl -m 10 --retry 5 "$(<${hcForgetUrl})"
${pkgs.curl}/bin/curl --silent --show-error --max-time 10 --retry 5 \
--header "Title: Baker status" \
--header prio:min \
--data "$(${pkgs.inetutils}/bin/hostname): restic-forget succeeded" \
ntfy.sh/$(<${ntfyPath}) > /dev/null
else
${pkgs.curl}/bin/curl -H tags:warning -H prio:high -d "$(${pkgs.inetutils}/bin/hostname): restic-forget failed" ntfy.sh/$(<${ntfyPath})
${pkgs.curl}/bin/curl --silent --show-error --max-time 10 --retry 5 \
--header tags:warning \
--header prio:high \
--data "$(${pkgs.inetutils}/bin/hostname): restic-forget failed" \
ntfy.sh/$(<${ntfyPath}) > /dev/null
fi
echo
'';
Expand All @@ -287,17 +268,18 @@ in
${restic-b2}/bin/restic-b2 check
code=$?
if [[ "$code" == 0 ]]; then
${pkgs.curl}/bin/curl \
-H "Title: Baker status" \
-H prio:min \
-d "$(hostname): restic-check succeeded" ntfy.sh/$(<${ntfyPath})
${pkgs.curl}/bin/curl -m 10 --retry 5 "$(<${hcCheckUrl})"
${pkgs.curl}/bin/curl --silent --show-error --max-time 10 --retry 5 \
--header "Title: Baker status" \
--header prio:min \
--data "$(hostname): restic-check succeeded" \
ntfy.sh/$(<${ntfyPath}) > /dev/null
else
${pkgs.curl}/bin/curl \
-H "Title: Baker status" \
-H tags:warning \
-H prio:high \
-d "$(${pkgs.inetutils}/bin/hostname): restic-check failed" ntfy.sh/$(<${ntfyPath})
${pkgs.curl}/bin/curl --silent --show-error --max-time 10 --retry 5 \
--header "Title: Baker status" \
--header tags:warning \
--header prio:high \
--data "$(${pkgs.inetutils}/bin/hostname): restic-check failed" \
ntfy.sh/$(<${ntfyPath}) > /dev/null
fi
echo
'';
Expand All @@ -310,15 +292,6 @@ in
${cfg.passwordFileSopsRef} = {
path = "${config.xdg.dataHome}/restic/password";
};
${cfg.hcBackupUrlFileRef} = {
path = "${config.xdg.dataHome}/restic/hc_backup_url";
};
${cfg.hcCheckUrlFileRef} = {
path = "${config.xdg.dataHome}/restic/hc_check_url";
};
${cfg.hcForgetUrlFileRef} = {
path = "${config.xdg.dataHome}/restic/hc_forget_url";
};
${cfg.ntfyPathFileRef} = {
path = "${config.xdg.dataHome}/restic/ntfy_restic_path";
};
Expand Down
7 changes: 2 additions & 5 deletions home/konrad/common/secrets.yaml
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
restic:
b2_application_key: ENC[AES256_GCM,data:TlPckRD/8SRWoHBWzxjv1Ir8lpEQeRYaNi9167Zx6w==,iv:mGGE35OopgztRLPhoOStsFCXlxlUPHpj+5Z4bqA1qfI=,tag:a3RoIOjp2lGjPspMYswyBg==,type:str]
password: ENC[AES256_GCM,data:vOIBn6MXBGVWldo7+iKZgwZDpggQTMHW55+05g==,iv:LM1dQUDBv/yIFLjvQhdGGteKzsAcHvtGXrfghKMoB8g=,tag:LEoYx18h7uPFVOLMavjFjQ==,type:str]
hc_check_url: ENC[AES256_GCM,data:zLur4RENYaNjBakrxMG28ibRrGRlmOASAHVw45KN0NQXqk4Ma2w1o/6xBBwcgRkzdr3yfYFSDXM=,iv:Z8jsjLTe7y7fPeSyk3f2/7xj03Fcs4TFkCrYov7ssWY=,tag:96sQE8Slcjv6XiwWk5vM+g==,type:str]
hc_forget_url: ENC[AES256_GCM,data:t4+onjbpxQlYPwcZV07ulSS4vpTnQTSY6HxEQtCYCzf0++lpQ5QhrOP+jec/YOnzFa7AJc8V59w=,iv:W2TUZS1o8j6gw+MW6F7D7aUCR3i8jQ/ivJNq+65L58o=,tag:G+jcAXFbz8+arLG4FzsbGw==,type:str]
hc_backup_url: ENC[AES256_GCM,data:4G8FJ8yK0MXQLtdgBWrKEBE+L7uQI/RC9pcxQkhD0nKwZ5y/kjXF6FKrX9XNIRok5+hlvdFR+uY=,iv:LFlQSYu3o28XX3N0RfCZUv24V6OHmBXcQo6k1gGMAD8=,tag:FsCyOtLHzIOuv+RWkXzjhA==,type:str]
ntfy_restic_path: ENC[AES256_GCM,data:qTp6rxYWOeaZ,iv:x89aBCDo3hTIDKUaLuCQ/tgo5KZN3+7A0nRaWjdganc=,tag:8cH3zk6U8dvw/Sj6p7u5iw==,type:str]
sops:
kms: []
Expand All @@ -29,8 +26,8 @@ sops:
RGpMVFlOekNCcEhjZVU5ZXRMdWFmcE0KgHjdmd5Wtq0L5U59kthIj+CF1LKx7iuA
0nDXoEeP9G1i3QoqXOiVwT1EuWtzchvacAmgZl24zaHAyhiX4s9z/g==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2023-10-23T20:19:42Z"
mac: ENC[AES256_GCM,data:C2PpN72vuk5LFj9SfxO5xy8gpAI2qQjh93k7K9IzOIofhXPM2JMieV9LTMIsMXYuY3ES60tYtKgZ0Am+MVh/VHq9NQAUMcbDaVEZ4MLlx06ohfDEyCyvndTVlGqsEaa0i/auWanW9OuNCuuNj97/M7o9v8IiWmoWtLUwkpRfzhQ=,iv:U+392M0mlZuiETzmE5hnKPKfAdD0GToS2xDBKMQQ6fo=,tag:KGC//9sJnL75cpF+bBCmjw==,type:str]
lastmodified: "2023-11-07T18:48:17Z"
mac: ENC[AES256_GCM,data:jTFei2zTrWv2DgmilEW4E9lRWLg1Ev9wH2m/BrAdyiDhMEanG7DS6bUgjQ+O6yMrMEHamuDUAxtTzGu9hIc4UoEhm/mRWEskbJI1cca3+CYZJU6ICiA7M/9LF6dIdi7lU843aRS38Cu55PVMHZA/NF2EZ6nuFZ/Rz6D1i9d9rkk=,iv:1yT8r/8Bxft+5TCX9b1SCzfG7HRwSNDBl2iQdzwAk4g=,tag:HEipMKpuCwxTHXStJDj0ew==,type:str]
pgp: []
unencrypted_suffix: _unencrypted
version: 3.8.1

0 comments on commit 94a043f

Please sign in to comment.