A .NET Aspire application with Azure deployment infrastructure.
Option 1: Using Aspire CLI
- Restore .NET tools (one time)
dotnet tool restore
- Run the application
dotnet aspire run
Option 2: Using .NET CLI
- Run the application
dotnet run --project src/AspireAzureResources.AppHost
Note
See Infrastructure Setup Guide for complete deployment setup instructions.
Quick Setup:
- Login to Azure with correct tenant/subscription
- Run
scripts/infra/create-deploy-sp.ps1to create deployment identity - Add output secrets to GitHub repository settings
- Push to main branch → automatic deployment via GitHub Actions
├── src/ # Application source code
│ ├── AspireAzureResources.AppHost/ # Aspire orchestration
│ └── AspireAzureResources.ServiceDefaults/
├── scripts/infra/ # Infrastructure & deployment scripts
│ ├── create-deploy-sp.ps1 # Creates Azure deployment identity
│ ├── test-deploy-sp.ps1 # Validates deployment setup
│ └── README.md # Complete setup documentation
└── azure.yaml # Azure Developer CLI configuration
This project uses secretless deployment with Azure workload identity federation:
- 🔧 CI/CD: Federated Service Principal (OIDC, no stored secrets)
- 📥 Data Ingestion: User Assigned Managed Identity (write permissions)
- 🤖 AI Agents: User Assigned Managed Identity (read-only permissions)
Security Features:
- ✅ No client secrets stored anywhere
- ✅ Least privilege role assignments
- ✅ Resource group scoped permissions
- ✅ Audit trail for all operations
- Infrastructure Setup - Complete deployment setup guide
- .NET Aspire Documentation - Official Aspire documentation
- Azure Developer CLI (azd) - Azure Developer CLI documentation
- Azure Portal - Manage Azure resources
- GitHub Actions - View deployment runs