feat(dgn-backups): Setup postgres databases backups
All checks were successful
build configuration / build_vault01 (push) Successful in 1m0s
build configuration / build_web02 (push) Successful in 1m0s
build configuration / build_storage01 (push) Successful in 1m4s
build configuration / build_compute01 (push) Successful in 1m15s
lint / check (push) Successful in 21s
build configuration / build_web01 (push) Successful in 1m24s
build configuration / build_rescue01 (push) Successful in 48s

This commit is contained in:
Tom Hubrecht 2024-02-21 22:01:32 +01:00
parent 6ee3431cc1
commit 6161592f5a
3 changed files with 18 additions and 6 deletions

View file

@ -41,15 +41,13 @@ let
}
// settings
);
mkPgJobs = lib.extra.mapFuse (db: { "pg-${db}" = { }; });
in
{
options.dgn-backups = {
enable = mkEnableOption "DGNum backup service.";
pgDumps = mkOption {
postgresDatabases = mkOption {
type = listOf str;
default = [ ];
description = ''
@ -86,6 +84,19 @@ in
};
config = {
dgn-backups.jobs =
lib.extra.mapFuse
(db: {
"${db}-db".settings = {
user = "postgres";
command = [
"${lib.getExe' config.services.postgresql.package "pg_dump"}"
db
];
};
})
cfg.postgresDatabases;
services.bupstash = {
repositories = {
inherit (cfg) enable;
@ -109,7 +120,7 @@ in
];
};
jobs = (mkPgJobs cfg.pgDumps) // (mkJobs cfg.jobs);
jobs = mkJobs cfg.jobs;
};
programs.ssh.knownHosts =