alert test command
This commit is contained in:
parent
a4a8a2f462
commit
1edd7ca771
|
@ -3,6 +3,7 @@ import pprint
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from restic_compose_backup import (
|
from restic_compose_backup import (
|
||||||
|
alerts,
|
||||||
backup_runner,
|
backup_runner,
|
||||||
log,
|
log,
|
||||||
restic,
|
restic,
|
||||||
|
@ -23,7 +24,7 @@ def main():
|
||||||
if args.action == 'status':
|
if args.action == 'status':
|
||||||
status(config, containers)
|
status(config, containers)
|
||||||
|
|
||||||
if args.action == 'snapshots':
|
elif args.action == 'snapshots':
|
||||||
snapshots(config, containers)
|
snapshots(config, containers)
|
||||||
|
|
||||||
elif args.action == 'backup':
|
elif args.action == 'backup':
|
||||||
|
@ -32,10 +33,13 @@ def main():
|
||||||
elif args.action == 'start-backup-process':
|
elif args.action == 'start-backup-process':
|
||||||
start_backup_process(config, containers)
|
start_backup_process(config, containers)
|
||||||
|
|
||||||
|
elif args.action == 'alert':
|
||||||
|
alert(config, containers)
|
||||||
|
|
||||||
|
|
||||||
def status(config, containers):
|
def status(config, containers):
|
||||||
"""Outputs the backup config for the compose setup"""
|
"""Outputs the backup config for the compose setup"""
|
||||||
logger.info("Status for compose project '%s'", containers.this_container.project_name)
|
logger.info("Status for compose project '%s'", containers.project_name)
|
||||||
logger.info("Backup currently running?: %s", containers.backup_process_running)
|
logger.info("Backup currently running?: %s", containers.backup_process_running)
|
||||||
logger.info("%s Detected Config %s", "-" * 25, "-" * 25)
|
logger.info("%s Detected Config %s", "-" * 25, "-" * 25)
|
||||||
|
|
||||||
|
@ -92,7 +96,7 @@ def backup(config, containers):
|
||||||
source_container_id=containers.this_container.id,
|
source_container_id=containers.this_container.id,
|
||||||
labels={
|
labels={
|
||||||
"restic-compose-backup.backup_process": 'True',
|
"restic-compose-backup.backup_process": 'True',
|
||||||
"com.docker.compose.project": containers.this_container.project_name,
|
"com.docker.compose.project": containers.project_name,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
logger.info('Backup container exit code: %s', result)
|
logger.info('Backup container exit code: %s', result)
|
||||||
|
@ -139,11 +143,27 @@ def start_backup_process(config, containers):
|
||||||
# TODO: Alert
|
# TODO: Alert
|
||||||
|
|
||||||
|
|
||||||
|
def alert(config, containers):
|
||||||
|
"""Test alerts"""
|
||||||
|
logger.info("Testing alerts")
|
||||||
|
|
||||||
|
alert_classes = alerts.configured_alert_classes()
|
||||||
|
for instance in alert_classes:
|
||||||
|
logger.info('Configured: %s', instance.name)
|
||||||
|
instance.send(
|
||||||
|
subject="{}: Test Alert".format(containers.project_name),
|
||||||
|
body="Test message",
|
||||||
|
)
|
||||||
|
|
||||||
|
if len(alert_classes) == 0:
|
||||||
|
logger.info("No alerts configured")
|
||||||
|
|
||||||
|
|
||||||
def parse_args():
|
def parse_args():
|
||||||
parser = argparse.ArgumentParser(prog='restic_compose_backup')
|
parser = argparse.ArgumentParser(prog='restic_compose_backup')
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
'action',
|
'action',
|
||||||
choices=['status', 'snapshots', 'backup', 'start-backup-process'],
|
choices=['status', 'snapshots', 'backup', 'start-backup-process', 'alert'],
|
||||||
)
|
)
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
'--log-level',
|
'--log-level',
|
||||||
|
|
Loading…
Reference in New Issue