about summary refs log tree commit diff
path: root/nixos/release.nix
diff options
context:
space:
mode:
authorRodney Lorrimar <dev@rodney.id.au>2017-09-23 15:58:07 +0100
committerRobin Gloster <mail@glob.in>2017-09-27 18:44:49 +0200
commit56eba66f77bb1d4711e824158e3b9a8d55a929f1 (patch)
treedab3d2a609304bfa93422bf493c41ae48a0997e3 /nixos/release.nix
parent75ba415fbcfe48fdf5fb88f2aa461ce83921303f (diff)
downloadnixlib-56eba66f77bb1d4711e824158e3b9a8d55a929f1.tar
nixlib-56eba66f77bb1d4711e824158e3b9a8d55a929f1.tar.gz
nixlib-56eba66f77bb1d4711e824158e3b9a8d55a929f1.tar.bz2
nixlib-56eba66f77bb1d4711e824158e3b9a8d55a929f1.tar.lz
nixlib-56eba66f77bb1d4711e824158e3b9a8d55a929f1.tar.xz
nixlib-56eba66f77bb1d4711e824158e3b9a8d55a929f1.tar.zst
nixlib-56eba66f77bb1d4711e824158e3b9a8d55a929f1.zip
mysqlBackup service: let it work with default settings
* Grants enough privileges to the configured user so that it can run
  mysqldump.

* Adds a nixos test.

* Use systemd timers instead of a cronjob (by @fadenb).

* Creates a new user for backups by default, instead of using mysql
  user.

* Ensures that backup user has write permissions on backup location.

* Write backup to a temporary file before renaming so that a failed
  backup won't overwrite the previous backup, and so that the backup
  location will never contain a partial backup.

Breaking changes:

 * Renamed period to calendar to reflect the change in how to
   configure the backup time.

 * A failed backup will no longer result in cron sending an e-mail --
   users' monitoring systems must be updated.

Resolves #24728
Diffstat (limited to 'nixos/release.nix')
-rw-r--r--nixos/release.nix1
1 files changed, 1 insertions, 0 deletions
diff --git a/nixos/release.nix b/nixos/release.nix
index ac7755a160f4..06f1c73410c0 100644
--- a/nixos/release.nix
+++ b/nixos/release.nix
@@ -283,6 +283,7 @@ in rec {
   tests.mumble = callTest tests/mumble.nix {};
   tests.munin = callTest tests/munin.nix {};
   tests.mysql = callTest tests/mysql.nix {};
+  tests.mysqlBackup = callTest tests/mysql-backup.nix {};
   tests.mysqlReplication = callTest tests/mysql-replication.nix {};
   tests.nat.firewall = callTest tests/nat.nix { withFirewall = true; };
   tests.nat.firewall-conntrack = callTest tests/nat.nix { withFirewall = true; withConntrackHelpers = true; };