Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
3afdc01
Apply dataplane migration changes
dm-chelupati May 14, 2026
292382d
fix: e2e test bugs — OVERRIDES bash 3.2, PS7.3+ native arg passing, E…
dm-chelupati May 14, 2026
4db6697
fix: azd provider + env handling
dm-chelupati May 14, 2026
cd0eec8
fix: azd no-op infra, deploy.sh unbound array, install-prerequisites …
dm-chelupati May 15, 2026
491331b
test: E2E updates — skip PS/GitHub, increment agent names
dm-chelupati May 15, 2026
1638ddd
docs: rewrite all READMEs for clarity + add bare recipe
dm-chelupati May 15, 2026
151814e
fix: normalize short org/repo URLs to full GitHub URLs in apply-extras
dm-chelupati May 15, 2026
f094291
fix: copy extras file next to clone params so deploy.sh finds it
dm-chelupati May 15, 2026
e4b3ec6
rename: bare recipe → minimal
dm-chelupati May 15, 2026
ba78d52
docs: rename to Awesome Azure SRE Agent Recipes
dm-chelupati May 15, 2026
039f9c7
fix: normalize repo URLs in OAuth-just-completed path too
dm-chelupati May 15, 2026
b45c741
feat: add --backend terraform flag to clone-agent.sh
dm-chelupati May 15, 2026
9618f2b
fix: replace tee pipe with redirect to prevent BrokenPipeError
dm-chelupati May 15, 2026
207f523
feat: check connector health after deploy
dm-chelupati May 15, 2026
171fa67
fix: PowerShell parity — python3 stub, jq quoting, URL normalization,…
dm-chelupati May 15, 2026
08ba9b8
fix: set dynatrace-mcp recipe accessLevel to Low
dm-chelupati May 15, 2026
0114e6d
fix(ps): safe jq invocation for PowerShell 7.3+ compatibility
dm-chelupati May 15, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions sreagent-templates/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,4 @@ connectors.secrets.env
# Assembled output (temp files)
.parameters.json
.extras.json
azmon-may15-clone-export.WSlXik/
2 changes: 1 addition & 1 deletion sreagent-templates/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Contributing to Azure SRE Agent Recipes
# Contributing to Awesome Azure SRE Agent Recipes

Thank you for your interest in contributing! We welcome new recipes, improvements to existing ones, and bug fixes.

Expand Down
59 changes: 44 additions & 15 deletions sreagent-templates/README.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,51 @@
# Azure SRE Agent Recipes
# Awesome Azure SRE Agent Recipes

Production-ready recipes to deploy SRE Agents as code. Pick a recipe, run two commands, deploy.

## Prerequisites

[Azure Cloud Shell](https://shell.azure.com) has everything pre-installed — no setup needed.

For local use:
For local use, run the install script to check and install all required tools:

```bash
# macOS / Linux
./bin/install-prerequisites.sh

# Windows (PowerShell 7+)
.\bin\ps\Install-Prerequisites.ps1
```

To include optional tools (Terraform, azd):
```bash
./bin/install-prerequisites.sh --all # everything
./bin/install-prerequisites.sh --terraform # just Terraform
./bin/install-prerequisites.sh --check # check only, no install
```

<details>
<summary>Manual install (if you prefer)</summary>

| Tool | Install |
|---|---|
| Azure CLI (`az`) | `brew install azure-cli` or [install guide](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli) |
| `jq` | `brew install jq` / `apt install jq` / `choco install jq` |
| `jq` | `brew install jq` / `apt install jq` / `winget install jqlang.jq` |
| Python 3 + PyYAML | `brew install python3 && pip3 install pyyaml` |
| `curl` | Pre-installed on macOS/Linux |
| `bash` 3.2+ | Pre-installed on macOS/Linux. Windows: use WSL or Git Bash |
| Terraform (optional) | `brew install hashicorp/tap/terraform` or [install guide](https://developer.hashicorp.com/terraform/install) |
| azd (optional) | `brew install azd` or [install guide](https://learn.microsoft.com/en-us/azure/developer/azure-developer-cli/install-azd) |

</details>

## Quick Start

```bash
git clone https://github.com/microsoft/sre-agent.git
cd sre-agent/sreagent-templates

# Step 0: Install prerequisites (skips already-installed tools)
./bin/install-prerequisites.sh

# Create agent config from a recipe
./bin/new-agent.sh --recipe azmon-lawappinsights --non-interactive \
--set agentName=my-agent \
Expand All @@ -43,6 +67,7 @@ cd sre-agent/sreagent-templates
| [azmon-lawappinsights](recipes/azmon-lawappinsights/) | Azure Monitor | Alert response with AppInsights + Log Analytics, skills, subagents, scheduled tasks |
| [pagerduty-law-vmcosmos](recipes/pagerduty-law-vmcosmos/) | PagerDuty | VM + CosmosDB + HTTP error investigation with knowledge files and skills |
| [dynatrace-mcp](recipes/dynatrace-mcp/) | Dynatrace | Dynatrace MCP connector for investigating application errors |
| [minimal](recipes/minimal/) | (none) | Minimal agent — just infra + RBAC, add your own connectors and skills |

Each recipe README has the full parameter list, example values, and post-deploy steps.

Expand All @@ -63,6 +88,21 @@ Each recipe README has the full parameter list, example values, and post-deploy
| `diff-agent.sh $SUB $RG $AGENT dir/` | Compare config vs live agent |
| `verify-agent.sh $SUB $RG $AGENT --expected dir/` | 22-point verification |

## What Gets Deployed

Every recipe deploys these resources (regardless of backend):

| Resource | Description |
|---|---|
| Resource Group | Container for all agent resources |
| User-Assigned Managed Identity (UAMI) | Agent's identity for RBAC |
| Log Analytics Workspace | Agent telemetry (created unless you supply one) |
| Application Insights | Agent monitoring (created unless you supply one) |
| SRE Agent | The agent itself |
| Connectors | Data sources (App Insights, LAW, PagerDuty, Dynatrace, etc.) |
| Skills, Subagents, Tools, Common Prompts | Agent capabilities from the recipe |
| RBAC role assignments | Reader, Log Analytics Reader, Monitoring Reader on target RGs |

## Deploy Backends

The same config directory works with any backend:
Expand Down Expand Up @@ -128,17 +168,6 @@ Each agent gets its own Terraform workspace — deploy multiple agents from the
| azapi provider | Auto-installed on `terraform init` |
| azurerm provider | Auto-installed on `terraform init` |

### What It Creates

| Resource | Provider |
|---|---|
| Resource Group, UAMI, LAW, App Insights | azurerm |
| SRE Agent | azapi |
| Connectors, Skills, Subagents, Tools, Common Prompts | azapi |
| RBAC (Reader, Log Analytics Reader, Monitoring Reader, SRE Agent Admin) | azurerm |

> **Region note**: Use `swedencentral` for fastest provisioning.

## Azure Developer CLI (azd)

Wraps the Bicep flow in `azd up`. Set environment variables, run one command.
Expand Down
4 changes: 4 additions & 0 deletions sreagent-templates/azure.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ name: sreagent-recipes
metadata:
template: sreagent-recipes@0.0.1

infra:
provider: bicep
path: ./infra

# azd hooks handle the full lifecycle. No built-in infra provider needed.
# `azd up` = new-agent + assemble + Bicep deploy + apply-extras
# `azd down` = delete resource group
Expand Down
Loading
Loading