From 695bfb5dde34ddd72e1a364bb2dcd828c4781639 Mon Sep 17 00:00:00 2001 From: cronekorkn Date: Sun, 4 Feb 2024 11:06:53 +0100 Subject: [PATCH] wip --- bundles/mariadb/items.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/bundles/mariadb/items.py b/bundles/mariadb/items.py index e7868af..a898ccf 100644 --- a/bundles/mariadb/items.py +++ b/bundles/mariadb/items.py @@ -1,7 +1,8 @@ from shlex import quote -def mariadb(sql): - return f"mariadb -Bsr --execute {quote(sql)}" +def mariadb(sql, **kwargs): + kwargs_string = ''.join(f" --{k} {v}" for k, v in kwargs.items()) + return f"mariadb{kwargs_string} -Bsr --execute {quote(sql)}" directories = { '/var/lib/mysql': { @@ -56,3 +57,11 @@ for db, conf in node.metadata.get('mariadb/databases', {}).items(): f'action:mariadb_user_{db}_create', ], } + print(mariadb(f"SHOW GRANTS FOR {db}") + f"grep -q '^GRANT ALL PRIVILEGES'") + actions[f'mariadb_grant_privileges_to_{db}'] = { + 'command': mariadb(f"GRANT ALL PRIVILEGES ON *.* TO '{db}'", database=db), + 'unless': mariadb(f"SHOW GRANTS FOR {db}") + f" | grep -q '^GRANT USAGE ON *.* TO `{db}`'", + 'needs': [ + f'action:mariadb_user_{db}_create', + ], + }