v1.2.20
📖 Blog Post
• GitOps for MikroTik with MKTXP -- a deeper dive into the motivation, architecture, and practical GitOps workflows for managing RouterOS configurations.
✨ New Features
RouterOS GitOps Configuration Management (mktxp rsc):
mktxp rsc format: Parses raw or live .rsc exports into clean, deterministic monolithic files with unwrapped single lines.mktxp rsc split: Decomposes exports into modular, numbered GitOps directories (01-base.rsc, 02-wifi.rsc, 03-system.rsc, etc.)- Live Router Export over SSH: Fetch and process live router configurations in-flight over native SSH using key authentication, with in-memory processing and zero temp files residue on disk
- Automated Directory Scoping: Automatically scopes split outputs into isolated per-router directories to prevent file collisions
- Deterministic Sorting & Single-Line Formatting: Sorts unordered sections such as address lists, WiFi channels/profiles, etc to alphabetically to eliminate false Git diffs while preserving strict execution order for firewall filters and port bindings.
DHCP IP Pool Total Metric
- added ip_pool_total metric to DHCP pool collectors, #99
🚀 Improvements
- Firewall Data Source Optimization: optimized firewall API queries, reducing RouterOS API payload size and scrape overhead, #327
🐛 Bug Fixes
- Virtual Interface Label Collisions, resolved default_name Prometheus label collisions on virtual interfaces, #325
- Neighbor API String Sanitization, sanitized null bytes (\x00) from neighbor discovery API responses preventing string parsing failures, #326
- Config Compactor, fixed handling of missing system keys when compacting mktxp.conf