feat(container)!: Update image ghcr.io/akpw/mktxp (1.2.20 ➔ 2.0.3) #2084

Merged
GiorgioAresu merged 1 commit from renovate/ghcr.io-akpw-mktxp-2.x into main 2026-09-18 09:08:37 +02:00
Collaborator

This PR contains the following updates:

Package Update Change
ghcr.io/akpw/mktxp major 1.2.20 → 2.0.3

⚠️ Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

akpw/mktxp (ghcr.io/akpw/mktxp)

v2.0.3: MKTXP v2.0.3

Compare Source

MKTXP v2.0.3
📖 Blogs

• Beyond Metrics: Instant RouterOS Diagnostics with MKTXP 2.0 -- a deep dive into live terminal diagnostics, client registration monitoring, and targeted network filtering.
• Under the Hood: Refactoring MKTXP for 2.0 -- reasons and architecture breakdown of the 2.0 modular core / multi-domain extensibility.

✨ New Features
Live CLI Diagnostics (mktxp diag / mktxp print):

An interactive terminal diagnostic suite providing domain-specific network visibility with scoped filtering:

  • Ethernet & SFP Interface Monitor (-im): Monitors physical Ethernet and SFP port link state, negotiated PHY rates, duplex, and optical transceiver DOM diagnostics

    • --degraded [RATE]: Isolates ports dropping below threshold (default: < 100M) or running half-duplex. Accepts custom sub-rates (e.g. --degraded 1G for sub-gigabit links)
    • --plugged / --unplugged: Filter active vs disconnected ports
    • --rate [RATE] / --rate-below [RATE]: Filter by exact or threshold PHY rate
    • --sfp-only: Surfaces SFP/QSFP transceivers and DOM optical levels
  • Wireless & CAPsMAN Health (-wc, -cc): Live registration tables grouped by AP interface with client counts

    • --low-signal (default <= -75 dBm) & --min-signal: Pinpoint fringe clients or healthy, strong connections
    • --low-rate (default <= 18M): Filter low PHY rate clients
    • --recent (default 15m): Filter newly connected clients based on uptime
    • --band 2g|5g|6g: Filter by frequency band
  • DHCP Leases & Device Discovery (-dc):

    • --unidentified: Audit mystery devices lacking hostnames
    • --dynamic / --static: Filter dynamic leases vs reserved static IPs
    • --active-only / --inactive-only: Filter by lease binding state (active bound vs inactive / waiting)
  • IP Connection Tracking (-cn):

    • --top [N] (default 10): Surface top socket-consuming source hosts
    • --min-conns [N]: Filter out low-volume hosts
  • Real-Time Bandwidth & Top Talkers (-kc):

    • --top [N]: Rank top talkers across your LAN by active throughput
    • --active: Surface devices with non-zero traffic
    • --rate-above [RATE]: Filter devices exceeding bandwidth thresholds (e.g. 2M, 500k)
    • --dynamic-only / --static-only / --unassigned: Filter Kid Control profiles
  • Firewall Address Lists (-al): Inspect IPv4 and IPv6 firewall address lists

    • --dynamic-only: Surface active dynamic threat bans and auto-added scanner entries
    • --static-only: Show permanent static list entries only
  • Upstream & Netwatch Health (-nw): Monitor RouterOS Netwatch ICMP probe targets and gateway reachability

    • --down-only: Show failing or unreachable targets only
    • --up-only: Show passing and reachable targets only
  • Universal Pattern Filtering (-in, -ex):

    • -in, --include / -ex, --exclude: Semicolon-separated substring and wildcard matching (*, ?) across all diagnostic table fields
  • Context-Aware Scoped Help:

    • Appending -h to any diagnostic command (e.g. mktxp diag -kc -h) dynamically scopes help output to only filters and options applicable to that specific domain, printing active thresholds loaded from _mktxp.conf
Prometheus Metrics & Collectors:
  • Wireless Frequency Band Metric: Added frequency band label (band="2g"|"5g"|"6g") to wireless metrics, enabling band-separated Grafana dashboards.
  • Address List Scrape Timeouts: Preventing scrape timeouts on routers with large address-list tables, #​329
🚀 Improvements
  • Core Modular Architecture: Refactored monolithic modules into domain packages (mktxp.diag, mktxp.cli, mktxp.exporter, mktxp.rsc, mktxp.utils), improving testability and separation of concerns
  • Piped Output Support: Auto-detects non-interactive stdout / pipe redirections to disable ANSI color formatting for clean scripting integration
  • Prefix Command Matching: Options parser matches unique prefix initial sequences (e.g. --wifi, --caps, --dhcp, --conn, --kid, --addr, --net, --interface)
  • Comprehensive Documentation: Split monolithic documentation into dedicated, modular guides (docs/diagnostics.md, docs/configuration.md, docs/gitops_rsc.md)
  • PyPI Metadata & Packaging: Categorized PyPI classifiers for network monitoring, console environments, and direct URLs for docs, changelog, and issues
  • Test Suite Expansion: Comprehensive unit test coverage across CLI filtering, table formatters, and diagnostics registry
🐛 Bug Fixes
  • mktxp edit: Fixed TypeError with fallback editor detection when invoking editor action
  • Script Extraction Permissions: RouterOS script metadata, permissions, and policies when extracting .rsc sidecars
  • Version Introspection: Dynamic local development version resolver (_version.py), to reflect version bumps in pyproject.toml across CLI info and test suites
⚙️ New Router Configuration Options (mktxp.conf)
[Sample-Router]
    total_address_list_counts = True      # Firewall Address List total counts across all lists (set False if large lists cause timeouts)
    ipv6_total_address_list_counts = True # IPv6 Firewall Address List total counts across all lists (set False if large lists cause timeouts)
⚙️ New System Configuration Options (_mktxp.conf)
[DIAG]
    # Wireless & CAPsMAN defaults
    low_signal_threshold = -75          # Default dBm threshold for --low-signal (matches <= -75 dBm)
    min_signal_threshold = -60          # Default dBm threshold for --min-signal (matches >= -60 dBm)
    low_rate_threshold = '18M'          # Default rate for --low-rate (matches <= 18 Mbps)
    recent_duration = '15m'             # Default duration for --recent (matches uptime <= 15m)

    # IP Connections & Bandwidth defaults
    top_connections_count = 10          # Default limit for connection stats --top
    rate_above_threshold = '1M'         # Default rate for kid control / bandwidth --rate-above

    # Interface Monitor defaults
    degraded_threshold = '100M'         # Default rate for interface monitor --degraded (matches < 100 Mbps or half-duplex)

Configuration

📅 Schedule: (in timezone Europe/Rome)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate CLI.

This PR contains the following updates: | Package | Update | Change | |---|---|---| | [ghcr.io/akpw/mktxp](https://github.com/akpw/mktxp) | major | `1.2.20` → `2.0.3` | --- > ⚠️ **Warning** > > Some dependencies could not be looked up. Check the [Dependency Dashboard](issues/6) for more information. --- ### Release Notes <details> <summary>akpw/mktxp (ghcr.io/akpw/mktxp)</summary> ### [`v2.0.3`](https://github.com/akpw/mktxp/releases/tag/v2.0.3): MKTXP v2.0.3 [Compare Source](https://github.com/akpw/mktxp/compare/v1.2.20...v2.0.3) ##### MKTXP v2.0.3 ##### 📖 Blogs • [Beyond Metrics: Instant RouterOS Diagnostics with MKTXP 2.0](https://akpw.github.io/articles/2026/09/06/MKTXP-2.0-Live-CLI-Diagnostics.html) -- a deep dive into live terminal diagnostics, client registration monitoring, and targeted network filtering. • [Under the Hood: Refactoring MKTXP for 2.0](https://akpw.github.io/articles/2026/08/28/Refactoring-MKTXP-2.0-Modular-Architecture.html) -- reasons and architecture breakdown of the 2.0 modular core / multi-domain extensibility. ##### ✨ New Features ##### Live CLI Diagnostics (`mktxp diag` / `mktxp print`): An interactive terminal diagnostic suite providing domain-specific network visibility with scoped filtering: - Ethernet & SFP Interface Monitor (`-im`): Monitors physical Ethernet and SFP port link state, negotiated PHY rates, duplex, and optical transceiver DOM diagnostics - `--degraded [RATE]`: Isolates ports dropping below threshold (default: `< 100M`) or running half-duplex. Accepts custom sub-rates (e.g. `--degraded 1G` for sub-gigabit links) - `--plugged` / `--unplugged`: Filter active vs disconnected ports - `--rate [RATE]` / `--rate-below [RATE]`: Filter by exact or threshold PHY rate - `--sfp-only`: Surfaces SFP/QSFP transceivers and DOM optical levels - Wireless & CAPsMAN Health (`-wc`, `-cc`): Live registration tables grouped by AP interface with client counts - `--low-signal` (default `<= -75 dBm`) & `--min-signal`: Pinpoint fringe clients or healthy, strong connections - `--low-rate` (default `<= 18M`): Filter low PHY rate clients - `--recent` (default `15m`): Filter newly connected clients based on uptime - `--band 2g|5g|6g`: Filter by frequency band - DHCP Leases & Device Discovery (`-dc`): - `--unidentified`: Audit mystery devices lacking hostnames - `--dynamic` / `--static`: Filter dynamic leases vs reserved static IPs - `--active-only` / `--inactive-only`: Filter by lease binding state (active bound vs inactive / waiting) - IP Connection Tracking (`-cn`): - `--top [N]` (default 10): Surface top socket-consuming source hosts - `--min-conns [N]`: Filter out low-volume hosts - Real-Time Bandwidth & Top Talkers (`-kc`): - `--top [N]`: Rank top talkers across your LAN by active throughput - `--active`: Surface devices with non-zero traffic - `--rate-above [RATE]`: Filter devices exceeding bandwidth thresholds (e.g. `2M`, `500k`) - `--dynamic-only` / `--static-only` / `--unassigned`: Filter Kid Control profiles - Firewall Address Lists (`-al`): Inspect IPv4 and IPv6 firewall address lists - `--dynamic-only`: Surface active dynamic threat bans and auto-added scanner entries - `--static-only`: Show permanent static list entries only - Upstream & Netwatch Health (`-nw`): Monitor RouterOS Netwatch ICMP probe targets and gateway reachability - `--down-only`: Show failing or unreachable targets only - `--up-only`: Show passing and reachable targets only - Universal Pattern Filtering (`-in`, `-ex`): - `-in, --include` / `-ex, --exclude`: Semicolon-separated substring and wildcard matching (`*`, `?`) across all diagnostic table fields - Context-Aware Scoped Help: - Appending `-h` to any diagnostic command (e.g. `mktxp diag -kc -h`) dynamically scopes help output to only filters and options applicable to that specific domain, printing active thresholds loaded from `_mktxp.conf` ##### Prometheus Metrics & Collectors: - Wireless Frequency Band Metric: Added frequency band label (`band="2g"|"5g"|"6g"`) to wireless metrics, enabling band-separated Grafana dashboards. - Address List Scrape Timeouts: Preventing scrape timeouts on routers with large address-list tables, [#&#8203;329](https://github.com/akpw/mktxp/issues/329) ##### 🚀 Improvements - Core Modular Architecture: Refactored monolithic modules into domain packages (`mktxp.diag`, `mktxp.cli`, `mktxp.exporter`, `mktxp.rsc`, `mktxp.utils`), improving testability and separation of concerns - Piped Output Support: Auto-detects non-interactive stdout / pipe redirections to disable ANSI color formatting for clean scripting integration - Prefix Command Matching: Options parser matches unique prefix initial sequences (e.g. `--wifi`, `--caps`, `--dhcp`, `--conn`, `--kid`, `--addr`, `--net`, `--interface`) - Comprehensive Documentation: Split monolithic documentation into dedicated, modular guides (`docs/diagnostics.md`, `docs/configuration.md`, `docs/gitops_rsc.md`) - PyPI Metadata & Packaging: Categorized PyPI classifiers for network monitoring, console environments, and direct URLs for docs, changelog, and issues - Test Suite Expansion: Comprehensive unit test coverage across CLI filtering, table formatters, and diagnostics registry ##### 🐛 Bug Fixes - `mktxp edit`: Fixed `TypeError` with fallback editor detection when invoking editor action - Script Extraction Permissions: RouterOS script metadata, permissions, and policies when extracting `.rsc` sidecars - Version Introspection: Dynamic local development version resolver (`_version.py`), to reflect version bumps in `pyproject.toml` across CLI info and test suites ##### ⚙️ New Router Configuration Options (mktxp.conf) ```ini [Sample-Router] total_address_list_counts = True # Firewall Address List total counts across all lists (set False if large lists cause timeouts) ipv6_total_address_list_counts = True # IPv6 Firewall Address List total counts across all lists (set False if large lists cause timeouts) ``` ##### ⚙️ New System Configuration Options (\_mktxp.conf) ```ini [DIAG] # Wireless & CAPsMAN defaults low_signal_threshold = -75 # Default dBm threshold for --low-signal (matches <= -75 dBm) min_signal_threshold = -60 # Default dBm threshold for --min-signal (matches >= -60 dBm) low_rate_threshold = '18M' # Default rate for --low-rate (matches <= 18 Mbps) recent_duration = '15m' # Default duration for --recent (matches uptime <= 15m) # IP Connections & Bandwidth defaults top_connections_count = 10 # Default limit for connection stats --top rate_above_threshold = '1M' # Default rate for kid control / bandwidth --rate-above # Interface Monitor defaults degraded_threshold = '100M' # Default rate for interface monitor --degraded (matches < 100 Mbps or half-duplex) ``` </details> --- ### Configuration 📅 **Schedule**: (in timezone Europe/Rome) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xNy4xIiwidXBkYXRlZEluVmVyIjoiNDQuODMuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsicmVub3ZhdGUvY29udGFpbmVyIiwidHlwZS9tYWpvciJdfQ==-->
feat(container)!: Update image ghcr.io/akpw/mktxp (1.2.19 ➔ 2.0.3)
Some checks failed
Labeler / Labeler (pull_request) Successful in 3s
Lint / actionlint (pull_request) Successful in 5s
Lint / yamllint (pull_request) Successful in 11s
AI PR Review / AI PR Review (pull_request) Failing after 33s
Konflate 2 resources changed, 1 caution
a4bb504278
Collaborator

⚠ Caution

  • ghcr.io/akpw/mktxp: major image version bump 1.2.20 → 2.0.3; likely breaking changes

2 resources changed across 2 apps

image from to upstream
ghcr.io/akpw/mktxp 1.2.20@sha256:f894f2… 2.0.3@sha256:bfae76… ❔

konflate 0.6.4 · rendered 2cdd813 · full diff →

<!-- konflate:pr-2084 --> **⚠ Caution** - `ghcr.io/akpw/mktxp`: major image version bump 1.2.20 → 2.0.3; likely breaking changes **2 resources changed** across 2 apps | image | from | to | upstream | |---|---|---|---| | `ghcr.io/akpw/mktxp` | `1.2.20@sha256:f894f2…` | `2.0.3@sha256:bfae76…` | ❔ | <sub>konflate 0.6.4 · rendered `2cdd813` · [full diff →](https://konflate.aresu.eu/#/pr/2084)</sub>
renovate-bot force-pushed renovate/ghcr.io-akpw-mktxp-2.x from a4bb504278
Some checks failed
Labeler / Labeler (pull_request) Successful in 3s
Lint / actionlint (pull_request) Successful in 5s
Lint / yamllint (pull_request) Successful in 11s
AI PR Review / AI PR Review (pull_request) Failing after 33s
Konflate 2 resources changed, 1 caution
to 53f5243d9b
Some checks failed
AI PR Review / AI PR Review (pull_request) Failing after 0s
Lint / yamllint (pull_request) Failing after 0s
Lint / actionlint (pull_request) Failing after 0s
Labeler / Labeler (pull_request) Failing after 0s
Konflate 2 resources changed, 1 caution
2026-09-13 23:23:02 +02:00
Compare
renovate-bot changed title from feat(container)!: Update image ghcr.io/akpw/mktxp (1.2.19 ➔ 2.0.3) to feat(container)!: Update image ghcr.io/akpw/mktxp (1.2.20 ➔ 2.0.3) 2026-09-13 23:23:04 +02:00
renovate-bot force-pushed renovate/ghcr.io-akpw-mktxp-2.x from 53f5243d9b
Some checks failed
AI PR Review / AI PR Review (pull_request) Failing after 0s
Lint / yamllint (pull_request) Failing after 0s
Lint / actionlint (pull_request) Failing after 0s
Labeler / Labeler (pull_request) Failing after 0s
Konflate 2 resources changed, 1 caution
to 10e03f8531
Some checks failed
Lint / yamllint (pull_request) Failing after 0s
AI PR Review / AI PR Review (pull_request) Failing after 0s
Lint / actionlint (pull_request) Failing after 0s
Labeler / Labeler (pull_request) Failing after 0s
Konflate 2 resources changed, 1 caution
2026-09-13 23:53:22 +02:00
Compare
renovate-bot force-pushed renovate/ghcr.io-akpw-mktxp-2.x from 10e03f8531
Some checks failed
Lint / yamllint (pull_request) Failing after 0s
AI PR Review / AI PR Review (pull_request) Failing after 0s
Lint / actionlint (pull_request) Failing after 0s
Labeler / Labeler (pull_request) Failing after 0s
Konflate 2 resources changed, 1 caution
to 2cdd813f8f
Some checks failed
Lint / actionlint (pull_request) Failing after 0s
AI PR Review / AI PR Review (pull_request) Failing after 0s
Labeler / Labeler (pull_request) Failing after 0s
Lint / yamllint (pull_request) Failing after 0s
Konflate 2 resources changed, 1 caution
2026-09-14 00:07:31 +02:00
Compare
GiorgioAresu deleted branch renovate/ghcr.io-akpw-mktxp-2.x 2026-09-18 09:08:37 +02:00
Sign in to join this conversation.
No description provided.