diff --git a/doc/release-notes/rl-2511.section.md b/doc/release-notes/rl-2511.section.md index 1d469c87dc7d..6b43ed98efc0 100644 --- a/doc/release-notes/rl-2511.section.md +++ b/doc/release-notes/rl-2511.section.md @@ -121,6 +121,8 @@ - Zig 0.12 has been removed. +- `services.forgejo.dump.age` now defaults to `4w`, which deletes dumps older than 4 weeks. This new behaviour could result in older backups being deleted. + - `ansible-later` has been removed because it was discontinued by the author. - `k3s` airgap images passthru attributes have changed: diff --git a/nixos/modules/services/misc/forgejo.nix b/nixos/modules/services/misc/forgejo.nix index 0b49cb6d726d..ceee3e080eb5 100644 --- a/nixos/modules/services/misc/forgejo.nix +++ b/nixos/modules/services/misc/forgejo.nix @@ -285,6 +285,19 @@ in description = "Filename to be used for the dump. If `null` a default name is chosen by forgejo."; example = "forgejo-dump"; }; + + age = mkOption { + type = types.str; + default = "4w"; + example = "5d"; + description = '' + Age of backup used to decide what files to delete when cleaning. + If a file or directory is older than the current time minus the age field, it is deleted. + + The format is described in + {manpage}`tmpfiles.d(5)`. + ''; + }; }; lfs = { @@ -596,7 +609,7 @@ in }; systemd.tmpfiles.rules = [ - "d '${cfg.dump.backupDir}' 0750 ${cfg.user} ${cfg.group} - -" + "d '${cfg.dump.backupDir}' 0750 ${cfg.user} ${cfg.group} ${cfg.dump.age} -" "z '${cfg.dump.backupDir}' 0750 ${cfg.user} ${cfg.group} - -" "d '${cfg.repositoryRoot}' 0750 ${cfg.user} ${cfg.group} - -" "z '${cfg.repositoryRoot}' 0750 ${cfg.user} ${cfg.group} - -"