Unverified Commit fbfa1ec9 authored by ajs124's avatar ajs124 Committed by GitHub
Browse files

Merge pull request #231190 from aanderse/nixos/automysqlbackup

nixos/automysqlbackup: add some missing permissions
parents 8a6e4e8b 55b3b702
Loading
Loading
Loading
Loading
+18 −3
Original line number Diff line number Diff line
@@ -3,7 +3,7 @@
let

  inherit (lib) concatMapStringsSep concatStringsSep isInt isList literalExpression;
  inherit (lib) mapAttrs mapAttrsToList mkDefault mkEnableOption mkIf mkOption optional types;
  inherit (lib) mapAttrs mapAttrsToList mkDefault mkEnableOption mkIf mkOption mkRenamedOptionModule optional types;

  cfg = config.services.automysqlbackup;
  pkg = pkgs.automysqlbackup;
@@ -26,6 +26,10 @@ let

in
{
  imports = [
    (mkRenamedOptionModule [ "services" "automysqlbackup" "config" ] [ "services" "automysqlbackup" "settings" ])
  ];

  # interface
  options = {
    services.automysqlbackup = {
@@ -40,7 +44,7 @@ in
        '';
      };

      config = mkOption {
      settings = mkOption {
        type = with types; attrsOf (oneOf [ str int bool (listOf str) ]);
        default = {};
        description = lib.mdDoc ''
@@ -112,7 +116,18 @@ in

    services.mysql.ensureUsers = optional (config.services.mysql.enable && cfg.config.mysql_dump_host == "localhost") {
      name = user;
      ensurePermissions = { "*.*" = "SELECT, SHOW VIEW, TRIGGER, LOCK TABLES, EVENT"; };
      ensurePermissions = {
        "*.*" = "SELECT, SHOW VIEW, TRIGGER, LOCK TABLES, EVENT";

        # https://forums.mysql.com/read.php?10,668311,668315#msg-668315
        "function sys.extract_table_from_file_name" = "execute";
        "function sys.format_path" = "execute";
        "function sys.format_statement" = "execute";
        "function sys.extract_schema_from_file_name" = "execute";
        "function sys.ps_thread_account" = "execute";
        "function sys.format_time" = "execute";
        "function sys.format_bytes" = "execute";
      };
    };

  };