Skip to content

Commit 5b02de9

Browse files
updated the deployment Guid.md
1 parent 2f27e11 commit 5b02de9

3 files changed

Lines changed: 42 additions & 8 deletions

File tree

docs/DeploymentGuide.md

Lines changed: 42 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ This guide walks you through deploying the Multi Agent Custom Automation Engine
66

77
🆘 **Need Help?** If you encounter any issues during deployment, check our [Troubleshooting Guide](./TroubleShootingSteps.md) for solutions to common problems.
88

9-
> **Note**: Some tenants may have additional security restrictions that run periodically and could impact the application (e.g., blocking public network access). If you experience issues or the application stops working, check if these restrictions are the cause. In such cases, consider deploying the WAF-supported version to ensure compliance. To configure, [Click here](#31-choose-deployment-type-optional).
9+
> **Note**: Some tenants may have additional security restrictions that run periodically and could impact the application (e.g., blocking public network access). If you experience issues or the application stops working, check if these restrictions are the cause. In such cases, consider deploying the WAF-supported version (deployment flavor `avm-waf`) to ensure compliance. To configure, [Click here](#31-choose-deployment-type-optional).
1010
1111
## Step 1: Prerequisites & Setup
1212

@@ -184,13 +184,16 @@ Review the configuration options below. You can customize any settings that meet
184184

185185
| **Aspect** | **Development/Testing (Default)** | **Production** |
186186
|------------|-----------------------------------|----------------|
187+
| **Deployment Flavor** | `bicep` (Vanilla Bicep) | `avm-waf` (AVM WAF-aligned) |
187188
| **Configuration File** | `main.parameters.json` (sandbox) | Copy `main.waf.parameters.json` to `main.parameters.json` |
188189
| **Security Controls** | Minimal (for rapid iteration) | Enhanced (production best practices) |
189190
| **Cost** | Lower costs | Cost optimized |
190191
| **Use Case** | POCs, development, testing | Production workloads |
191192
| **Framework** | Basic configuration | [Well-Architected Framework](https://learn.microsoft.com/en-us/azure/well-architected/) |
192193
| **Features** | Core functionality | Reliability, security, operational excellence |
193194

195+
> **Note:** An intermediate option (`avm`) is also available — it uses AVM modules without WAF networking features. Set `DEPLOYMENT_FLAVOR` to `avm` for enterprise-grade modules without private endpoints.
196+
194197
**To use production configuration:**
195198

196199
**Prerequisite** — Enable the Microsoft.Compute/EncryptionAtHost feature for every subscription (and region, if required) where you plan to deploy VMs or VM scale sets with `encryptionAtHost: true`. Repeat the registration steps below for each target subscription (and for each region when applicable). This step is required for **WAF-aligned** (production) deployments.
@@ -320,7 +323,7 @@ azd up
320323

321324
**Expected Duration:** 9-10 minutes for default configuration
322325

323-
- **Upon successful completion**, you will see a success message indicating that all resources have been deployed, along with the application URL and next steps for uploading team configurations and sample data.
326+
- **Upon successful completion**, you will see a success message indicating that all resources have been deployed, along with the application URL and next steps for building and pushing the application container images and uploading team configurations and sample data.
324327

325328
![Deployment Success message](./images/Deployment_success_message.png)
326329

@@ -338,18 +341,49 @@ After successful deployment:
338341

339342
## Step 5: Post-Deployment Configuration
340343

341-
### 5.1 Run Post Deployment Script
344+
### 5.1 Build and Push Container Images
345+
346+
This solution provisions a dedicated **Azure Container Registry (ACR)** in your resource group. During provisioning, the backend and frontend App Services start with a temporary *hello-world* placeholder image. Run the following script to build the backend (`macaebackend`), MCP Server(`macaemcp`) and frontend (`macaefrontend`) images, push them to your ACR, and update the App Services to run them.
347+
348+
**Run the build and push script:**
349+
350+
The `azd up` deployment output includes a ready-to-use bash script command. Look for the script in the deployment output and run it:
351+
352+
- **For Bash (Linux/macOS/WSL):**
353+
```bash
354+
bash ./infra/scripts/build_and_push_images.sh
355+
```
356+
- **For PowerShell (Windows):**
357+
```powershell
358+
infra\scripts\post-provision\Build-And-Push-Images.ps1
359+
```
360+
361+
362+
The images are **built remotely in ACR** using `az acr build`, so no local Docker installation is required.
363+
364+
**What the script does:**
365+
- Builds the Frontend image from [src/App/Dockerfile](../src/App/Dockerfile)
366+
- Builds the Backend image from [src/backend/Dockerfile](../src/backend/Dockerfile)
367+
- Builds the MCP Server image from [src/mcp_server/Dockerfile](../src/mcp_server/Dockerfile)
368+
- Pushes both images to the provisioned Azure Container Registry
369+
- Updates the backend, MCP Server and frontend App Services to run the new images (pulled via managed identity) and restarts them
370+
371+
> **Note:** For Production (WAF) deployments, ACR public network access is disabled. The script temporarily enables it to build/push the images and restores the original setting when it finishes.
372+
373+
**Expected Processing Time:** 5-10 minutes depending on network speed.
374+
375+
### 5.2 Run Post Deployment Script
342376
343377
1. You can upload Team Configurations using command printed in the terminal. The command will look like one of the following. Run the appropriate command for your shell from the project root:
344378
345379
- **For Bash (Linux/macOS/WSL):**
346380
```bash
347-
bash infra/scripts/post-provision/selecting_team_config_and_data.sh
381+
bash infra/scripts/post-provision/post_deploy.sh
348382
```
349383
350384
- **For PowerShell (Windows):**
351385
```powershell
352-
infra\scripts\post-provision\Selecting-Team-Config-And-Data.ps1
386+
infra\scripts\post-provision\post_deploy.ps1
353387
```
354388
355389
@@ -358,18 +392,18 @@ After successful deployment:
358392
![Usecase selection](./images/Usecase_selection.png)
359393
360394
361-
### 5.2 Configure Authentication (Optional)
395+
### 5.3 Configure Authentication (Optional)
362396
363397
1. Follow [App Authentication Configuration](./azure_app_service_auth_setup.md)
364398
2. Wait up to 10 minutes for authentication changes to take effect
365399
366-
### 5.3 Verify Deployment
400+
### 5.4 Verify Deployment
367401
368402
1. Access your application using the URL from Step 4.3
369403
2. Confirm the application loads successfully
370404
<!-- 3. Verify you can sign in with your authenticated account -->
371405
372-
### 5.4 Test the Application
406+
### 5.5 Test the Application
373407
374408
**Quick Test Steps:**
375409
-6.43 KB
Loading

docs/images/Usecase_selection.png

-27.5 KB
Loading

0 commit comments

Comments
 (0)