Skip to content

Commit

Permalink
Fix for configuring ssl certificates for notifications. Slight modifi…
Browse files Browse the repository at this point in the history
…cations on Configurations page reg monitoring options.
  • Loading branch information
tblock79 committed Feb 15, 2024
1 parent 01106fa commit e298c2e
Show file tree
Hide file tree
Showing 6 changed files with 37 additions and 5 deletions.
3 changes: 3 additions & 0 deletions cleaner.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@
from common.monitor import task_event
from common.constants import mercure_defs
import common.influxdb
import common.notification as notification


# Setup daiquiri logger
logger = config.get_logger()
Expand Down Expand Up @@ -212,6 +214,7 @@ def main(args=sys.argv[1:]) -> None:
logger.info(f"Instance PID = {os.getpid()}")
logger.info(sys.version)

notification.setup()
monitor.configure("cleaner", instance_name, config.mercure.bookkeeper)
monitor.send_event(monitor.m_events.BOOT, monitor.severity.INFO, f"PID = {os.getpid()}")

Expand Down
11 changes: 9 additions & 2 deletions common/notification.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,15 @@
logger = config.get_logger()

ssl_context = ssl.create_default_context()
if config.mercure.webhook_certificate_location:
ssl_context.load_verify_locations(config.mercure.webhook_certificate_location)


def setup() -> bool:
"""Load the SSL certificate if it is configured (after the configuration has been read)."""
global ssl_context
if config.mercure.webhook_certificate_location:
ssl_context.load_verify_locations(config.mercure.webhook_certificate_location)
return True


def post(url: str, payload: Any) -> None:
async def do_post(url, payload) -> None:
Expand Down
2 changes: 2 additions & 0 deletions dispatcher.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
from dispatch.send import execute
from common.constants import mercure_defs
import common.influxdb
import common.notification as notification


# Create local logger instance
Expand Down Expand Up @@ -137,6 +138,7 @@ def main(args=sys.argv[1:]) -> None:
logger.info(f"Instance PID = {os.getpid()}")
logger.info(sys.version)

notification.setup()
monitor.configure("dispatcher", instance_name, config.mercure.bookkeeper)
monitor.send_event(monitor.m_events.BOOT, monitor.severity.INFO, f"PID = {os.getpid()}")

Expand Down
3 changes: 3 additions & 0 deletions processor.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@
)
from common.types import Task, TaskProcessing
import common.influxdb
import common.notification as notification


# Create local logger instance
logger = config.get_logger()
Expand Down Expand Up @@ -282,6 +284,7 @@ def main(args=sys.argv[1:]) -> None:
logger.info(f"Thread ID = {threading.get_native_id()}")
logger.info(sys.version)

notification.setup()
monitor.configure("processor", instance_name, config.mercure.bookkeeper)
monitor.send_event(monitor.m_events.BOOT, monitor.severity.INFO, f"PID = {os.getpid()}")

Expand Down
3 changes: 3 additions & 0 deletions router.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@
from routing.route_studies import route_studies
from routing.common import generate_task_id
import common.influxdb
import common.notification as notification


# Create local logger instance
logger = config.get_logger()
Expand Down Expand Up @@ -162,6 +164,7 @@ def main(args=sys.argv[1:]) -> None:
logger.info(f"Instance PID = {os.getpid()}")
logger.info(sys.version)

notification.setup()
monitor.configure("router", instance_name, config.mercure.bookkeeper)
monitor.send_event(monitor.m_events.BOOT, monitor.severity.INFO, f"PID = {os.getpid()}")

Expand Down
20 changes: 17 additions & 3 deletions webinterface/templates/configuration.html
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,11 @@ <h5 class="title is-5 configtitle"><i
<td>Bookkeeper:</td>
<td>{{config['bookkeeper']}}</td>
</tr>
<tr>
<td>Notification Email From:</td>
<td>{{config['email_notification_from']}}</td>
</tr>
{% if config['graphite_ip'] %}
<tr>
<td>Graphite IP:</td>
<td>{{config['graphite_ip']}}</td>
Expand All @@ -113,6 +118,13 @@ <h5 class="title is-5 configtitle"><i
<td>Graphite Port:</td>
<td>{{config['graphite_port']}}</td>
</tr>
{% else %}
<tr>
<td>Graphite:</td>
<td>Not configured</td>
</tr>
{% endif %}
{% if config['influxdb_host'] %}
<tr>
<td>InfluxDB Host:</td>
<td>{{config['influxdb_host']}}</td>
Expand All @@ -129,10 +141,12 @@ <h5 class="title is-5 configtitle"><i
<td>InfluxDB Bucket:</td>
<td>{{config['influxdb_bucket']}}</td>
</tr>
{% else %}
<tr>
<td>Notification Email From:</td>
<td>{{config['email_notification_from']}}</td>
</tr>
<td>InfluxDB:</td>
<td>Not configured</td>
</tr>
{% endif %}
</table>
</div>
</div>
Expand Down

0 comments on commit e298c2e

Please sign in to comment.