From 5fcfc91d83f5b928c166d41857f3bc451ab759e6 Mon Sep 17 00:00:00 2001 From: Lance Edgar Date: Sat, 7 Jan 2023 17:21:34 -0600 Subject: [PATCH] Inject default mail sender/recips for machine-wide `rattail.conf` also tweak timezone handling --- rattail_fabric2/deploy/rattail/rattail.conf.mako | 6 +++--- rattail_fabric2/rattail.py | 8 +++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/rattail_fabric2/deploy/rattail/rattail.conf.mako b/rattail_fabric2/deploy/rattail/rattail.conf.mako index 5653f51..fbae7ed 100644 --- a/rattail_fabric2/deploy/rattail/rattail.conf.mako +++ b/rattail_fabric2/deploy/rattail/rattail.conf.mako @@ -20,8 +20,8 @@ configure_logging = true [rattail.mail] smtp.server = localhost templates = rattail:templates/mail -default.from = root -default.to = root +default.from = ${getattr(env, 'email_default_sender', 'rattail@localhost')} +default.to = ${', '.join(getattr(env, 'email_default_recipients', ['root@localhost']))} ${'#'}############################# @@ -88,7 +88,7 @@ formatter = console [handler_email] class = handlers.SMTPHandler -args = ('localhost', 'root', ['root'], "[Rattail] Logging") +args = ('localhost', '${getattr(env, 'email_default_sender', 'rattail@localhost')}', ${getattr(env, 'email_default_recipients', ['root@localhost'])}, "[Rattail] Logging") formatter = generic level = ERROR diff --git a/rattail_fabric2/rattail.py b/rattail_fabric2/rattail.py index c81251c..2c59994 100644 --- a/rattail_fabric2/rattail.py +++ b/rattail_fabric2/rattail.py @@ -52,7 +52,7 @@ def bootstrap_rattail_base(c, deploy=None, timezone='America/Chicago', deploy(c, 'rattail/rattail.conf.mako', '/etc/rattail/rattail.conf', use_sudo=True, context=context) else: - deploy_machine_conf(c, timezone=timezone) + deploy_machine_conf(c, timezone=timezone, context=context) # python python.bootstrap_python(c, deploy, @@ -93,13 +93,15 @@ def bootstrap_rattail(c, home='/var/lib/rattail', uid=None, shell='/bin/bash', deploy_common(c, 'soffice', '/srv/rattail/init/soffice', use_sudo=True) -def deploy_machine_conf(c, timezone='America/Chicago'): +def deploy_machine_conf(c, env=None, timezone=None, context={}): """ Deploy the standard machine-wide ``rattail.conf`` file. """ mkdir(c, '/etc/rattail', use_sudo=True) + context['env'] = env + context['timezone'] = timezone or getattr(env, 'timezone', 'America/Chicago') deploy_common(c, 'rattail/rattail.conf.mako', '/etc/rattail/rattail.conf', use_sudo=True, - context={'timezone': timezone}) + context=context) def delete_email_recipients(c, dbname):