From d95d873ab0c58d9b43c54ad64b8b7435da3ccdd5 Mon Sep 17 00:00:00 2001 From: Stephane de Labrusse Date: Fri, 22 Nov 2024 11:44:44 +0100 Subject: [PATCH] feat (event): autodiscovery the user domain with user-domain-changed --- .../user-domain-changed/20configure_ldap | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100755 imageroot/events/user-domain-changed/20configure_ldap diff --git a/imageroot/events/user-domain-changed/20configure_ldap b/imageroot/events/user-domain-changed/20configure_ldap new file mode 100755 index 0000000..1f427a3 --- /dev/null +++ b/imageroot/events/user-domain-changed/20configure_ldap @@ -0,0 +1,28 @@ +#!/usr/bin/env python3 + +# +# Copyright (C) 2024 Nethesis S.r.l. +# SPDX-License-Identifier: GPL-3.0-or-later +# + +import json +import sys +import os +import agent + +rdb = agent.redis_connect(use_replica=True) +event = json.load(sys.stdin) + +if not os.environ.get('MAIL_SERVER', ''): + exit(0) # ignore event if mail server is not set + +providers = agent.list_service_providers(rdb, 'imap', 'tcp', { + 'module_uuid': os.environ.get('MAIL_SERVER', '') +}) + +user_domain = providers[0]['user_domain'] + +if event.get('domain') != os.getenv(user_domain): + exit(0) + +agent.run_helper('systemctl', '--user', '-T', 'try-restart', 'roundcubemail.service').check_returncode()