A collection of Python utility scripts for managing and maintaining various monitoring and infrastructure services.
The maintenance mode scripts in this repository are archived and kept for reference only.
The canonical implementation for maintenance mode is in the Ansible repository:
# Enable maintenance mode (mutes all alerts)
ansible-playbook playbooks/ops-maintenance-mode.yaml -e maintenance_action=enable
# Disable maintenance mode (unmutes all alerts)
ansible-playbook playbooks/ops-maintenance-mode.yaml -e maintenance_action=disable
# Target specific systems
ansible-playbook playbooks/ops-maintenance-mode.yaml -e maintenance_action=enable -e target=graylog
# Silence a single Alertmanager alert (default: 1 hour)
ansible-playbook playbooks/ops-maintenance-mode-single.yaml -e 'alert_name="Node Exporter - CPU High"'The Ansible implementation provides a unified interface for all alert systems, AWX integration, and vault-based credential management.
- Cloudflare - DNS and certificate management utilities
- Home Assistant - Smart home platform integration utilities
- Uptime Kuma - Export/import utilities (maintenance scripts archived)
-
Install dependencies:
pip3 install -r requirements.txt
-
Configure environment variables:
# Copy example files and edit with your values cp cloudflare/.env.example cloudflare/.env cp homeassistant/.env.example homeassistant/.env cp uptime-kuma/.env.example uptime-kuma/.env -
Run scripts:
# Examples python3 cloudflare/cf_clear_stale_acme.py python3 uptime-kuma/uptime-kuma-export.py
Each service directory follows a consistent pattern:
service/
├── config.py # Environment variable configuration
├── service-script.py # Main functionality
├── .env # Your environment variables (gitignored)
└── .env.example # Template for required variables
All scripts use centralized configuration management with python-dotenv for secure credential handling.
cf_clear_stale_acme.py- Clean up stale ACME challenge records
uptime-kuma-export.py- Export monitor configurationuptime-kuma-import.py- Import monitor configuration
The following maintenance scripts are archived. Use the Ansible playbook instead:
alertmanager/alertmanager-maintenance.pygraylog/graylog-maintenance.pyuptime-kuma/uptime-kuma-maintenance.py
# Clean Cloudflare ACME records
python3 cloudflare/cf_clear_stale_acme.py
# Export Uptime Kuma monitors
python3 uptime-kuma/uptime-kuma-export.py
# Import Uptime Kuma monitors
python3 uptime-kuma/uptime-kuma-import.pyUse --help with any script for detailed usage information.