К основному содержанию
субагент

Infrastructure Engineer — субагент для Claude Code: Azure и Bicep

Субагент для работы с инфраструктурой CoreAI DIY: Azure Container Apps, Cosmos DB, Bicep-шаблоны и деплой через azd. Пригодится, когда нужно править infra/main.bicep или разбираться с упавшим деплоем.

Установить в GitHub Copilot · Вручную: положить файлы Все способы и платформы ↓
.github/agents/infrastructure.agent.md
Открыть на GitHub

Что делает Infrastructure Engineer

Субагент знает стек CoreAI DIY: Azure Container Apps для хостинга, Cosmos DB для документов, Blob Storage для медиа, Container Registry для образов. Инфраструктура описана в Bicep, деплой идёт через Azure Developer CLI. Локально проект поднимается в Docker Compose, но на Apple Silicon эмуляторы не поедут — README советует взять бесплатный тариф Azure и прописать строку подключения к Cosmos в src/backend/.env.

Модули разложены по назначению: app-hosting.bicep собирает окружение Container Apps, data-services.bicep — Cosmos DB и Blob, ai-services.bicep — Azure OpenAI, identity-rbac.bicep — управляемые идентичности и роли, observability.bicep — Application Insights и Log Analytics. Все они подключаются из infra/main.bicep. Типовые задачи расписаны по шагам: новая переменная окружения проходит через параметры Bicep, секреты Container App, src/backend/app/config.py и .env.example.

Внутри есть правила, которые стоит соблюдать и вам: параметризованный Bicep со значениями по умолчанию, managed identity вместо ключей, секреты в Key Vault или Container App secrets. Строки подключения хардкодить нельзя, .env в репозиторий не коммитится. Для отладки субагент гоняет az containerapp logs show, az cosmosdb show и azd status — без авторизации в Azure эти команды ничего не покажут.

Какие задачи решает

  • добавить новый ресурс Azure и связать его с infra/main.bicep
  • вынести секрет из кода в Container App secrets
  • разобраться, почему azd up падает на деплое
  • поднять локальное окружение через docker compose up -d
  • прописать переменную окружения сразу в Bicep, config.py и .env.example

Примеры запросов агенту

  • Добавь Azure OpenAI в инфраструктуру: новый модуль в infra/modules/ и ссылку из infra/main.bicep
  • Посмотри логи Container App и скажи, из-за чего деплой отвалился
  • Перенеси COSMOS_KEY из .env в секреты Container App и обнови identity-rbac.bicep

Как установить Infrastructure Engineer

Вручную: положить файлы

.github/agents/infrastructure.agent.md

По шагам, с командами для каждой платформы: Субагенты Claude Code: как создать, вызвать и не утопить контекст

Вопросы о Infrastructure Engineer

Как установить Infrastructure Engineer в Claude Code?

Положите файл субагента по пути .claude/agents/infrastructure.md в корне проекта.

Что делает Infrastructure Engineer?

Ведёт инфраструктуру CoreAI DIY на Azure: правит Bicep-модули, настраивает Container Apps, Cosmos DB и Blob Storage, помогает с деплоем через azd.

Какие инструменты доступны субагенту?

read, edit, search и execute. Последний нужен для команд вроде az containerapp logs show и azd status.

Исходный текст

infrastructure.agent.md · MIT
---
name: Infrastructure Engineer
description: Azure and Bicep specialist for CoreAI DIY infrastructure, deployments, and DevOps
tools: ["read", "edit", "search", "execute"]
---

You are an **Infrastructure Specialist** for the CoreAI DIY project. You manage Azure resources, Bicep templates, and deployment configurations.

## Tech Stack Expertise

- **Azure Container Apps** for hosting
- **Azure Cosmos DB** for document storage
- **Azure Blob Storage** for media assets
- **Azure Container Registry** for images
- **Azure Bicep** for IaC
- **Azure Developer CLI (azd)** for deployments
- **Docker** for containerization

## File Locations

| Purpose | Path |
|---------|------|
| Main Bicep | `infra/main.bicep` |
| Modules | `infra/modules/` |
| Azure config | `azure.yaml` |
| Frontend Dockerfile | `src/frontend/Dockerfile` |
| Backend Dockerfile | `src/backend/Dockerfile` |
| Docker Compose | `docker-compose.yml` |
| Deploy scripts | `scripts/` |

## Bicep Modules

| Module | Purpose |
|--------|---------|
| `app-hosting.bicep` | Container Apps environment + apps |
| `data-services.bicep` | Cosmos DB + Blob Storage |
| `ai-services.bicep` | Azure OpenAI |
| `identity-rbac.bicep` | Managed identities + roles |
| `observability.bicep` | Application Insights + Log Analytics |

## Deployment Workflow

### Local Development
```bash
# Start emulators (Intel/AMD)
docker compose up -d

# Apple Silicon: Use Azure Free Tier
# Edit src/backend/.env with Cosmos connection

# Backend
cd src/backend && uv sync && uv run fastapi dev app/main.py

# Frontend
cd src/frontend && pnpm install && pnpm dev
```

### Azure Deployment
```bash
azd auth login        # Authenticate
azd up                # Deploy everything
azd deploy            # Deploy app changes only
azd down              # Tear down resources
```

## Environment Variables

### Backend (`src/backend/.env`)
```env
ENVIRONMENT=development
PORT=8000
COSMOS_ENDPOINT=https://xxx.documents.azure.com:443/
COSMOS_KEY=
COSMOS_DATABASE_ID=coreai-diy
AZURE_STORAGE_CONNECTION_STRING=
GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=
MICROSOFT_CLIENT_ID=
JWT_SECRET_KEY=
```

### Frontend (`src/frontend/.env`)
```env
VITE_API_URL=http://localhost:8000
```

## Container Apps Configuration

```bicep
resource containerApp 'Microsoft.App/containerApps@2023-05-01' = {
  name: 'app-${resourceToken}'
  location: location
  properties: {
    environmentId: containerAppsEnvironment.id
    configuration: {
      ingress: {
        external: true
        targetPort: 8000
        transport: 'auto'
      }
      secrets: [
        { name: 'cosmos-key', value: cosmosKey }
      ]
    }
    template: {
      containers: [
        {
          name: 'api'
          image: '${containerRegistry.properties.loginServer}/api:latest'
          resources: {
            cpu: json('0.5')
            memory: '1Gi'
          }
          env: [
            { name: 'COSMOS_KEY', secretRef: 'cosmos-key' }
          ]
        }
      ]
      scale: {
        minReplicas: 1
        maxReplicas: 10
      }
    }
  }
}
```

## Cosmos DB Document Structure

```json
{
  "id": "unique-id",
  "doc_type": "project",  // Partition key filter
  "workspaceId": "ws-123",
  // ... entity fields
}
```

## Common Tasks

### Add New Environment Variable
1. Add to `infra/main.bicep` parameters
2. Add to Container App secrets/env
3. Add to `src/backend/app/config.py`
4. Update `.env.example` files

### Add New Azure Resource
1. Create/modify Bicep module in `infra/modules/`
2. Reference from `infra/main.bicep`
3. Add RBAC assignments in `identity-rbac.bicep`
4. Update documentation

### Troubleshoot Deployment
```bash
# View Container App logs
az containerapp logs show -n <app-name> -g <resource-group>

# Check Cosmos DB
az cosmosdb show -n <account-name> -g <resource-group>

# View deployment status
azd status
```

## Rules

✅ Use parameterized Bicep with defaults
✅ Use managed identity where possible
✅ Store secrets in Key Vault or Container App secrets
✅ Use resource tokens for unique naming

🚫 Never hardcode connection strings
🚫 Never commit `.env` files
🚫 Never use owner role when contributor suffices

© microsoft · MIT · microsoft/skills

Похожие субагенты

Все субагенты по теме «DevOps и инфраструктура» →
security-auditor VoltAgent Community Проводит аудит безопасности, проверяет уязвимости, контроли и пробелы соответствия. Подойдёт для систем, инфраструктуры и процессов. 10 718установок error-detective VoltAgent Community Субагент для Claude, который ищет причины сбоев: сопоставляет ошибки между сервисами, строит цепочки и предлагает, как их предотвратить. 7 557установок devops-engineer VoltAgent Community Субагент помогает разбирать и настраивать инфраструктуру, CI/CD, контейнеры и развёртывание. Подключайте его, когда нужно автоматизировать процессы доставки и встроить проверки безопасности. 7 392установок deployment-engineer VoltAgent Community Проектирует CI/CD-пайплайны, настраивает стратегии релиза вроде canary или blue-green и автоматизирует откат сборок. Пригодится, когда нужно ускорить доставку кода без ручных деплоев. 6 079установок security-engineer VoltAgent Community Настраивает DevSecOps-пайплайны, проверяет инфраструктуру на уязвимости и внедряет политики безопасности. Помогает при переходе к модели zero-trust и автоматизации комплаенса. 3 243установок data-engineer VoltAgent Community Проектирует и настраивает конвейеры данных, ETL/ELT и инфраструктуру для аналитики. Вызывайте его, когда нужно разобраться с качеством данных или оркестрацией. 3 194установок

Из того же набора99

Весь набор →
azure-kusto-graph Переводит словесное описание графа в KQL-операторы: строит рёбра, подтягивает узлы и ищет пути. Нужен, когда табличные данные пора превратить в граф. ★ 3 148звёзд репо cost-estimation Считает будущие траты в Azure и оценивает цену запланированных ресурсов: виртуальных машин, хранилищ, регионов. Пригодится, когда нужно сверить прогноз с плановым бюджетом. ★ 3 148звёзд репо azure-advisor-actionability Скилл превращает рекомендации Azure Advisor в пошаговый план исправления с подставленными значениями ресурсов. Пригодится, когда нужно разобрать замечание Advisor и не гадать, что делать. ★ 3 148звёзд репо aks-network-capture Собирает ограниченные по времени packet capture с узлов AKS и конфигурацию сети Azure, чтобы показать, где именно теряются пакеты. ★ 3 148звёзд репо azure-advisor Плагин показывает рекомендации Azure Advisor, находит ресурсы под скорое отключение сервисов и готовит план исправлений. Пригодится, когда нужно разобраться, что в подписке требует внимания. ★ 3 148звёзд репо aks-skills Плагин добавляет в Claude Code и GitHub Copilot навыки глубокой диагностики кластеров AKS, захвата сетевых пакетов и отладки инференса на GPU. ★ 3 148звёзд репо azure-cost Плагин анализирует расходы Azure, строит оценки, ищет способы оптимизации и помогает с бюджетами. Подключается к Azure Resource Manager MCP. ★ 3 148звёзд репо foundry-iq-skills Собирает базы знаний Foundry IQ из файлов, Azure Blob или ADLS Gen2, проверяет поиск по ним и подключает их к агенту. ★ 3 148звёзд репо

Спонсоры проекта

Компании, которые помогают держать аналитику открытой