Static, public-source radar for monitoring Azure Networking documentation and API/spec changes without cloning the full docs corpus.
Live radar: GitHub Pages for this repository.
The goal is a fast scan for busy Azure Networking specialists: open the page, see the small "Click now" queue, filter by product, and decide what deserves a diff or docs click.
- Azure Networking MS Learn docs in
MicrosoftDocs/azure-docs - Microsoft.Network REST/ARM specs in
Azure/azure-rest-api-specs - selected Azure Architecture Center networking paths
It deliberately does not clone the docs repos or download large content sets. It uses GitHub APIs against scoped paths, enriches matching commits with scoped file/diff metadata, and stores compact static JSON.
flowchart TD
A[GitHub Actions schedule] --> B[fetch_updates.py]
B --> C[Scoped source list]
C --> D[MicrosoftDocs/azure-docs paths]
C --> E[Azure/azure-rest-api-specs Microsoft.Network]
C --> F[Architecture Center networking paths]
B --> G[Commit details API for scoped hits]
G --> H[Grouped product-aware changes]
H --> I[Scoring, summaries, noise tiers]
I --> J[data/events.json]
I --> K[docs/events.json]
I --> L[docs/index.html radar]
L --> M[GitHub Pages / static browser view]
- Backfills the last 31 days by default and runs daily via GitHub Actions.
- Groups duplicate source hits by repository commit so multi-product changes appear once.
- Adds product facets such as Application Gateway, Azure Firewall, ExpressRoute, VPN Gateway, Private Link, Front Door, Network Watcher, and Microsoft.Network API.
- Fetches scoped commit file/diff metadata and generates deterministic "what changed" summaries.
- Scores each grouped change into:
- Click now: high-impact behavior, lifecycle, support, API/spec, migration, security, or routing changes.
- Worth a skim: likely useful if that product is relevant.
- Background: visible but not in the default queue.
- Housekeeping: hidden by default; still available via the UI toggle and JSON.
- Provides product filters, search, tier filters, read-queue counts, source/diff links, and direct Learn links when a docs URL can be inferred.
- Outputs:
data/events.jsonfor machine usedocs/events.jsonfor the static sitedocs/index.htmlas the radar UI
This phase only needs public GitHub commit metadata and scoped per-commit diffs. GitHub Actions plus GitHub Pages is enough:
- no Azure resources
- no Microsoft-internal access
- no persistent server
- no database
- no large document downloads
If phase 2 adds automated lab validation, then Azure or local runners may make sense. For now the monitor should stay cheap, auditable, and static.
python scripts/fetch_updates.py --since-days 31
python -m http.server 8000 --directory docsOpen http://localhost:8000.
Use a GitHub token for higher API limits:
GITHUB_TOKEN=... python scripts/fetch_updates.py --since-days 31Edit config/sources.json to add/remove paths. Keep scope tight: prefer targeted product folders over whole repos.
Good additions:
- a single MS Learn product folder
specification/network/resource-manager/Microsoft.Network/...- a specific Architecture Center networking folder
Avoid:
- cloning
azure-docs - broad repo-wide history scans
- sending docs content to external summarisation services unless explicitly approved
The scoring model in scripts/fetch_updates.py is deterministic and auditable. Tune these regex groups when the radar is too noisy or misses something important:
NOISE_REandMAINTENANCE_SUBJECT_REsuppress freshness, formatting, redirect, SVG, and generic support-page churn.MEANINGFUL_RULESidentifies support, behavior, lifecycle, release/version, connectivity, and operational signals.HIGH_IMPACT_REpromotes Azure Networking terms that usually deserve a click, such as NSG support, default outbound access, FQDN tag port behavior, StandardV2 NAT Gateway, route maps, and retirement/deprecation language.
Not included yet:
- optional semantic summarisation with explicit approval
- deeper content-aware diffs across linked docs pages
- issue creation for high-signal events
- automated lab builder for newly exposed API/features
- RSS/Teams notification delivery