};
users.groups.mysql.gid = config.ids.gids.mysql;
- secrets.keys = lib.flatten (lib.mapAttrsToList (name: hcfg: [
- {
- dest = "mysql_replication/${name}/slave_init_commands";
+ secrets.keys = lib.listToAttrs (lib.flatten (lib.mapAttrsToList (name: hcfg: [
+ (lib.nameValuePair "mysql_replication/${name}/slave_init_commands" {
user = "mysql";
group = "mysql";
permissions = "0400";
CHANGE MASTER TO master_host="${hcfg.host}", master_port=${hcfg.port}, master_user="${hcfg.user}", master_password="${hcfg.password}", master_ssl=1, master_use_gtid=slave_pos;
START SLAVE;
'';
- }
- {
- dest = "mysql_replication/${name}/mysqldump_remote";
+ })
+ (lib.nameValuePair "mysql_replication/${name}/mysqldump_remote" {
permissions = "0400";
user = "root";
group = "root";
user = ${hcfg.user}
password = ${hcfg.password}
'';
- }
- {
- dest = "mysql_replication/${name}/mysqldump";
+ })
+ (lib.nameValuePair "mysql_replication/${name}/mysqldump" {
permissions = "0400";
user = "root";
group = "root";
user = ${hcfg.dumpUser}
password = ${hcfg.dumpPassword}
'';
- }
- {
- dest = "mysql_replication/${name}/client";
+ })
+ (lib.nameValuePair "mysql_replication/${name}/client" {
permissions = "0400";
user = "mysql";
group = "mysql";
user = ${hcfg.dumpUser}
password = ${hcfg.dumpPassword}
'';
- }
- ]) cfg.hosts);
+ })
+ ]) cfg.hosts));
services.cron = {
enable = true;