agentleFS
G1JoshiG1Joshi/Agent-Skills/skills/devops/azure/SKILL.md

azure

Skill15 starsChanged 43 days agoMITView on GitHub

Expert Microsoft Azure cloud assistance covering Entra ID, App Services, AKS, Azure SQL, Blob Storage, and Resource Manager. Use when designing, deploying, and managing enterprise Azure cloud infrastructure.

9 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

2 rules. 0 are common, 2 are distinctive, and 0 are very specific to this project.

  • 0

    Common

    Most of the 9 edited versions we read keep these.

  • 2

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use Managed Identities (System-assigned or User-assigned) for service-to-service authentication instead of passwords.

    line 127
  2. Distinctive:

    Leave diagnostic logging disabled.

    line 136

“Common” is measured: kept by at least 6 in 10 of the 9 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Azure

Microsoft Azure is an enterprise cloud computing platform featuring managed container services, Azure Arc hybrid management, and unified identity governance.

When to Use

  • Enterprise Microsoft Cloud Infrastructure: Hybrid cloud environments, Microsoft Entra ID (Azure AD), and Windows/Linux VMs.
  • Containerized Apps with Azure Container Apps (ACA) & AKS: Microservices with managed KEDA autoscaling and Envoy routing.
  • Serverless Event-Driven Workloads: Azure Functions, Event Grid, Service Bus, and Logic Apps.
  • AI & OpenAI Integration: Enterprise Azure OpenAI Service endpoints with private networking and VNet endpoints.

Quick Start

# Login to Azure subscription
az login

# Create a resource group
az group create --name rg-production --location eastus

# Deploy Azure App Service plan and web app
az appservice plan create --name plan-prod --resource-group rg-production --sku B1 --is-linux
az webapp create --name app-service-prod-1234 --resource-group rg-production --plan plan-prod --runtime "NODE:20-lts"

Core Concepts

Azure Container Apps Declarative Deployment

Deploying scalable microservices with KEDA scaling:

# container-app.yaml
apiVersion: Microsoft.App/containerApps@2024-03-01
type: Microsoft.App/containerApps
metadata:
  name: billing-service
  location: eastus
properties:
  managedEnvironmentId: /subscriptions/.../managedEnvironments/prod-env
  configuration:
    ingress:
      external: true
      targetPort: 8080
      transport: auto
    secrets:
      - name: db-connection
        keyVaultUrl: https://prod-vault.vault.azure.net/secrets/db-conn
        identity: system
  template:
    containers:
      - image: myacr.azurecr.io/billing-service:v2.1.0
        name: billing
        resources:
          cpu: 0.5
          memory: 1.0Gi
    scale:
      minReplicas: 2
      maxReplicas: 10
      rules:
        - name: http-scaling
          http:
            metadata:
              concurrentRequests: "100"

Managed Identities & Key Vault Integration

Accessing secrets without code credentials using Azure SDK:

from azure.identity import DefaultAzureCredential
from azure.keyvault.secrets import SecretClient

# DefaultAzureCredential automatically checks Managed Identity, Azure CLI, or env
credential = DefaultAzureCredential()
vault_url = "https://corp-production-vault.vault.azure.net/"

client = SecretClient(vault_url=vault_url, credential=credential)
db_password = client.get_secret("database-master-password").value
print("Retrieved secret securely via Managed Identity.")

Azure Private Endpoints & Virtual Networks

Securing database traffic from public internet exposure:

[Virtual Network (VNet)]
  ├── Application Subnet ──► Azure Container Apps / App Service
  │     │ (Private VNet Traffic)
  │     ▼
  └── Private Endpoint Subnet ──► Azure Cosmos DB / SQL Database (Public access: Disabled)

Common Patterns

Managed Identity for Secure Azure Resource Access

Problem: Storing database passwords or Azure Storage keys in application config files.

Solution: Assign System-Assigned Managed Identity and grant RBAC:

# Enable Managed Identity on App Service
az webapp identity assign --name my-web-app --resource-group rg-production

# Grant Storage Blob Data Contributor role to the App Service identity
APP_SP_ID=$(az webapp identity show --name my-web-app --resource-group rg-production --query principalId -o tsv)

az role assignment create \
  --assignee $APP_SP_ID \
  --role "Storage Blob Data Contributor" \
  --scope "/subscriptions/<sub-id>/resourceGroups/rg-production/providers/Microsoft.Storage/storageAccounts/mystorage"

Best Practices

Do:

  • Use Managed Identities (System-assigned or User-assigned) for service-to-service authentication instead of passwords.
  • Store all certificates and connection strings in Azure Key Vault.
  • Deploy resources inside Virtual Networks with Private Endpoints, disabling public network access on databases.
  • Leverage Azure Container Apps (ACA) for microservices that do not require full Kubernetes cluster management overhead.

Don't:

  • Store plain text secrets in App Settings or environment variables.
  • Assign broad Contributor or Owner roles at subscription scopes; scope RBAC to resource groups.
  • Leave diagnostic logging disabled; route Azure Monitor logs to Log Analytics Workspaces.

Troubleshooting

ErrorCauseSolution
AuthorizationFailed: The client ... does not have authorization to perform actionUser or service principal lacks RBAC role on target resource group/subscription.Request Contributor or specific RBAC role assignment from subscription owner.
ResourceNotFound: The Resource '...' could not be foundTypo in resource name or querying wrong subscription/resource group.Verify active subscription with az account show and check resource group.
QuotaExceeded: Operation could not be completedRegional VM vCPU quota exceeded on Azure subscription.Request quota increase in Azure Portal under Help + Support.

References

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.