From e7239224fa919a8bc8744f0cd3cb8821f6099145 Mon Sep 17 00:00:00 2001 From: admin Date: Mon, 18 May 2026 15:23:49 +0000 Subject: [PATCH] feat: add __main__.py entry point --- ns8_backup_monitor/__main__.py | 41 ++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 ns8_backup_monitor/__main__.py diff --git a/ns8_backup_monitor/__main__.py b/ns8_backup_monitor/__main__.py new file mode 100644 index 0000000..45f0491 --- /dev/null +++ b/ns8_backup_monitor/__main__.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python3 +""" +__main__.py - Entry point for ns8-backup-monitor. + +Usage: + python3 -m ns8_backup_monitor + python3 -m ns8_backup_monitor --config /etc/ns8-backup-monitor/config.yml +""" + +import argparse +import sys + +from .utils import load_config, setup_logging +from .receiver import run_server + + +def main(): + parser = argparse.ArgumentParser( + description="NS8 Backup Monitor - Alertmanager webhook receiver and correlator" + ) + parser.add_argument( + "--config", "-c", + metavar="PATH", + help="Path to config.yml (default: auto-detect)", + default=None, + ) + args = parser.parse_args() + + try: + config = load_config(args.config) + except FileNotFoundError as e: + print(f"ERROR: {e}", file=sys.stderr) + sys.exit(1) + + setup_logging(config) + + run_server(config) + + +if __name__ == "__main__": + main()