Skip to content

Add ARB Alert Rules configuration toggle (v0.6.6)#2

Merged
NeilBird merged 2 commits into
NeilBird:mainfrom
mgodfre3:feature/arb-alert-rules
Jan 23, 2026
Merged

Add ARB Alert Rules configuration toggle (v0.6.6)#2
NeilBird merged 2 commits into
NeilBird:mainfrom
mgodfre3:feature/arb-alert-rules

Conversation

@mgodfre3

Copy link
Copy Markdown
Contributor

Summary

Added a new Alert Rules Configuration section to the ARB Status tab, enabling users to easily create Azure Monitor alert rules for Arc Resource Bridge health monitoring.

Changes

  • Toggle control: "Show Alert Rules Setup" toggle (defaults to hidden to keep UI clean)
  • ARB Alert Rules Table: Lists all Arc Resource Bridges with:
    • Current status with visual indicators
    • Days offline tracking (color-coded: green=online, yellow=<14 days, red=>14 days)
    • Direct links to create Resource Health alerts
    • Direct links to create Activity Log alerts
  • Documentation sections:
    • Prerequisites (Action Groups, permissions)
    • Recommended alert types with severity guidance
    • Step-by-step manual alert creation instructions
    • Sample ARG query for bulk monitoring
  • Quick Links: Action Groups, Alert Rules, Resource Health docs, ARB troubleshooting

Why This Matters

Arc Resource Bridge cannot be offline for more than 45 days or the security key will expire, requiring redeployment. This feature helps admins proactively monitor ARB health and receive alerts before issues become critical.

Screenshots

The new section appears at the bottom of the ARB Status tab with a toggle to expand/collapse.

Testing

  • Verified JSON syntax is valid
  • Tested KQL query against Azure Resource Graph
  • Alert links correctly open Azure Portal alert creation blade

Version

Updated workbook version from v0.6.5 to v0.6.6

@mgodfre3
mgodfre3 force-pushed the feature/arb-alert-rules branch from 9f2f632 to 813ac31 Compare January 23, 2026 17:47
@mgodfre3

Copy link
Copy Markdown
Contributor Author

Done! Conflict resolved:

Kept version: v0.6.6 (our new version)
Used upstream text: "encounter any issues" (their updated wording)

@NeilBird

NeilBird commented Jan 23, 2026

Copy link
Copy Markdown
Owner

Hi @mgodfre3

Thanks for your contribution! This looks a great addition to help with configuring alerts for ARBs.

Can you update the README.md with the new version number and update the description of the changes for v0.6.6 please. (Current Latest Version: v0.6.5).

Otherwise any users of the page will be unaware of the new version unless they manually check the JSON.

Thanks
Neil

@mgodfre3

Copy link
Copy Markdown
Contributor Author

Updated the readme, should be good to go!

@NeilBird

Copy link
Copy Markdown
Owner

Thanks. Looks good. Merging.

@NeilBird
NeilBird merged commit 0a27c2f into NeilBird:main Jan 23, 2026
mgodfre3 pushed a commit to mgodfre3/Azure-Local that referenced this pull request Jan 28, 2026
…975ac6-437f-4d3b-abe3-ad36fbe4c214

Adding Microsoft SECURITY.MD
NeilBird added a commit that referenced this pull request May 12, 2026
1. TryParse for IP validation (PR comment #2):
   - Convert all 4 [IPAddress]::Parse sites in Get-AzLocalNetworkSettingsFromJson
     to [IPAddress]::TryParse([ref]) - avoids exception-handling overhead and
     yields a stable, actionable error message (no longer depends on localised
     .NET exception text). Applied consistently across subnetMask, defaultGateway,
     startingIPAddress, endingIPAddress, nodeIPAddresses, and the new dnsServers
     block.

2. Soften source-text precedence guard (PR comment #1):
   - Replace exact-identifier regex with loose intent-based patterns so the test
     survives variable renames or whitespace changes. The behaviour-level
     coverage already lives in the dedicated parser Describe block; this guard
     remains as a cheap regression catch for someone deleting the resolution
     block entirely.
   - Did NOT extract a Resolve-AzLocalDnsServers helper as suggested - 8 lines
     of straight-line code in one call site doesn't warrant a new abstraction
     (per repo implementationDiscipline guidance).

Pester: 532/532 passing.
NeilBird added a commit that referenced this pull request May 19, 2026
…ny/test-reporter

Reported failure (Run #2, Step.0_authentication-test.yml, GH Actions):

    Run dorny/test-reporter@v3
    Check runs will be created with SHA=01d4db679dd64118a57960cc1bdef012a467307a
    Listing all files tracked by git
      "C:\Program Files\Git\bin\git.exe" ls-files -z
      fatal: not a git repository (or any of the parent directories): .git
    Error: The process 'C:\Program Files\Git\bin\git.exe' failed with exit code 128

Root cause: dorny/test-reporter@v3 shells out to `git ls-files -z` to
resolve the JUnit XML path against the repo's tracked files. The Step.0
job did not run actions/checkout@v5, so there was no `.git` directory in
the runner workspace and `git ls-files` exited 128.

All other Step.*.yml workflows (Step.1 through Step.7) already check out
the repository as their first step; Step.0 was the outlier because the
auth probe does not otherwise consume any repo content. The checkout is
inexpensive (one HTTP fetch, no submodules) and is the standard pattern.

Fix: insert `actions/checkout@v5` as the FIRST step of the validate job,
above the `azure/login@v3` step, with an inline comment explaining why
Step.0 - alone of all the Step.*.yml workflows - needs a checkout even
though it doesn't read any repo content.

Scope: GH Actions YAML only. The Azure DevOps twin
(azure-devops/Step.0_authentication-test.yml) is unaffected because ADO
performs an implicit `checkout: self` by default and PublishTestResults@2
does not shell out to git for path resolution.

No module code change. PSGallery package contents are unchanged at this
commit; whether to cut a v0.7.71 patch release to ship the corrected
bundled YAML via `Update-AzureLocalPipelineExample` is a follow-up
decision.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants