You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/CustomizingAzdParameters.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,6 +19,8 @@ By default this template will use the environment name as the prefix to prevent
19
19
|`AZURE_ENV_IMAGETAG`| string |`latest`| Docker image tag used for container deployments. |
20
20
|`AZURE_ENV_ENABLE_TELEMETRY`| bool |`true`| Enables telemetry for monitoring and diagnostics. |
21
21
|`AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID`| string | Guide to get your [Existing Workspace ID](/docs/re-use-log-analytics.md)| Set this if you want to reuse an existing Log Analytics Workspace instead of creating a new one. |
22
+
|`AZURE_ENV_VM_ADMIN_USERNAME`| string |`take(newGuid(), 20)`| The administrator username for the virtual machine. |
23
+
|`AZURE_ENV_VM_ADMIN_PASSWORD`| string |`newGuid()`| The administrator password for the virtual machine. |
@@ -26,42 +26,68 @@ Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
26
26
27
27
This will allow the scripts to run for the current session without permanently changing your system's policy.
28
28
29
+
### **Azure Developer CLI (azd) Requirement**
30
+
31
+
Ensure that you are using the latest version of the [Azure Developer CLI](https://learn.microsoft.com/en-us/azure/developer/azure-developer-cli/overview).
32
+
The `azd` version must be **1.18.0 or higher**.
33
+
34
+
Upgrade commands by OS:
35
+
36
+
***Windows (using winget):**
37
+
38
+
```bash
39
+
winget install microsoft.azd
40
+
```
41
+
42
+
***Linux (using apt):**
43
+
44
+
```bash
45
+
curl -fsSL https://aka.ms/install-azd.sh | bash
46
+
```
47
+
48
+
***macOS (using Homebrew):**
49
+
50
+
```bash
51
+
brew update && brew tap azure/azd && brew install azd
52
+
```
53
+
29
54
## Deployment Options & Steps
30
55
31
56
### Sandbox or WAF Aligned Deployment Options
32
57
33
58
The [`infra`](../infra) folder of the Multi Agent Solution Accelerator contains the [`main.bicep`](../infra/main.bicep) Bicep script, which defines all Azure infrastructure components for this solution.
34
59
35
-
When running `azd up`, you’ll now be prompted to choose between a **WAF-aligned configuration** and a **sandbox configuration**using a simple selection:
60
+
By default, the `azd up` command uses the [`main.parameters.json`](../infra/main.parameters.json) file to deploy the solution. This file is pre-configured for a **sandbox environment**— ideal for development and proof-of-concept scenarios, with minimal security and cost controls for rapid iteration.
36
61
37
-
- A **sandbox environment** — ideal for development and proof-of-concept scenarios, with minimal security and cost controls for rapid iteration.
62
+
For **production deployments**, the repository also provides [`main.waf.parameters.json`](../infra/main.waf.parameters.json), which applies a [Well-Architected Framework (WAF) aligned](https://learn.microsoft.com/en-us/azure/well-architected/) configuration. This option enables additional Azure best practices for reliability, security, cost optimization, operational excellence, and performance efficiency, such as:
38
63
39
-
- A **production deployments environment**, which applies a [Well-Architected Framework (WAF) aligned](https://learn.microsoft.com/en-us/azure/well-architected/) configuration. This option enables additional Azure best practices for reliability, security, cost optimization, operational excellence, and performance efficiency, such as:
40
64
- Enhanced network security (e.g., Network protection with private endpoints)
41
65
- Stricter access controls and managed identities
42
66
- Logging, monitoring, and diagnostics enabled by default
43
67
- Resource tagging and cost management recommendations
44
68
45
69
**How to choose your deployment configuration:**
46
70
47
-
When prompted during `azd up`:
71
+
* Use the default `main.parameters.json` file for a **sandbox/dev environment**
72
+
* For a **WAF-aligned, production-ready deployment**, copy the contents of `main.waf.parameters.json` into `main.parameters.json` before running `azd up`
- Select **`true`** to deploy a **WAF-aligned, production-ready environment**
52
-
- Select **`false`** to deploy a **lightweight sandbox/dev environment**
76
+
### VM Credentials Configuration
77
+
78
+
By default, the solution sets the VM administrator username and password from environment variables.
79
+
If you do not configure these values, a randomly generated GUID will be used for both the username and password.
80
+
81
+
To set your own VM credentials before deployment, use:
82
+
83
+
```sh
84
+
azd env set AZURE_ENV_VM_ADMIN_USERNAME <your-username>
85
+
azd env set AZURE_ENV_VM_ADMIN_PASSWORD <your-password>
86
+
```
53
87
54
88
> [!TIP]
55
89
> Always review and adjust parameter values (such as region, capacity, security settings and log analytics workspace configuration) to match your organization’s requirements before deploying. For production, ensure you have sufficient quota and follow the principle of least privilege for all identities and role assignments.
56
90
57
-
> To reuse an existing Log Analytics workspace, update the existingWorkspaceResourceId field under the logAnalyticsWorkspaceConfiguration parameter in the .bicep file with the resource ID of your existing workspace.
> The WAF-aligned configuration is under active development. More Azure Well-Architected recommendations will be added in future updates.
@@ -213,11 +239,51 @@ Once you've opened the project in [Codespaces](#github-codespaces), [Dev Contain
213
239
- This deployment will take _4-6 minutes_ to provision the resources in your account and set up the solution with sample data.
214
240
- If you encounter an error or timeout during deployment, changing the location may help, as there could be availability constraints for the resources.
215
241
216
-
5. Once the deployment has completed successfully, open the [Azure Portal](https://portal.azure.com/), go to the deployed resource group, find the App Service, and get the app URL from `Default domain`.
242
+
5. After deployment completes, 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:
243
+
244
+
-**For Bash (Linux/macOS/WSL):**
245
+
```bash
246
+
bash infra/scripts/upload_team_config.sh
247
+
```
248
+
249
+
- **For PowerShell (Windows):**
250
+
```powershell
251
+
infra\scripts\Upload-Team-Config.ps1
252
+
```
253
+
254
+
6. After deployment completes, you can index Sample Data into Search Service using command printed in the terminal. The command will look like one of the following. Run the appropriate commandfor your shell from the project root:
217
255
218
-
6. When Deployment is complete, follow steps in [Set Up Authentication in Azure App Service](../docs/azure_app_service_auth_setup.md) to add app authentication to your web app running on Azure App Service
256
+
- **For Bash (Linux/macOS/WSL):**
257
+
```bash
258
+
bash infra/scripts/process_sample_data.sh
259
+
```
219
260
220
-
7. If you are done trying out the application, you can delete the resources by running `azd down`.
261
+
- **For PowerShell (Windows):**
262
+
```powershell
263
+
infra\scripts\Process-Sample-Data.ps1
264
+
```
265
+
266
+
7. To upload team configurations and index sample data in one step. Run the appropriate commandfor your shell from the project root:
267
+
268
+
- **For Bash (Linux/macOS/WSL):**
269
+
```bash
270
+
bash infra/scripts/team_config_and_data.sh
271
+
```
272
+
273
+
- **For PowerShell (Windows):**
274
+
```powershell
275
+
infra\scripts\Team-Config-And-Data.ps1
276
+
```
277
+
278
+
8. Once the deployment has completed successfully, open the [Azure Portal](https://portal.azure.com/), go to the deployed resource group, find the App Service, and get the app URL from `Default domain`.
279
+
280
+
9. When Deployment is complete, follow steps in [Set Up Authentication in Azure App Service](../docs/azure_app_service_auth_setup.md) to add app authentication to your web app running on Azure App Service
281
+
282
+
10. If you are done trying out the application, you can delete the resources by running `azd down`.
283
+
284
+
285
+
### 🛠️ Troubleshooting
286
+
If you encounter any issues during the deployment process, please refer [troubleshooting](../docs/TroubleShootingSteps.md) document for detailed steps and solutions.
221
287
222
288
# Local setup
223
289
@@ -324,27 +390,39 @@ The files for the dev container are located in `/.devcontainer/` folder.
324
390
- Update the `.env` file with the required values from your Azure resource group in Azure Portal App Service environment variables.
325
391
- Alternatively, if resources were
326
392
provisioned using `azd provision` or `azd up`, a `.env` file is automatically generated in the `.azure/<env-name>/.env`
327
-
file. To get your `<env-name>` run `azd env list` to see which env is default.
393
+
file. You can copy the contents of this file into your backend `.env` file.
394
+
395
+
_**Note**: To get your `<env-name>` run `azd env list` to see which env is default._
328
396
329
397
6. **Fill in the `.env` file:**
330
398
331
399
- Use the output from the deployment or check the Azure Portal under "Deployments" in the resource group.
332
400
- Make sure to set APP_ENV to "**dev**" in `.env` file.
401
+
- For local development, make sure to include below env variables in the `.env`
402
+
- `BACKEND_API_URL=http://localhost:8000`
403
+
- `FRONTEND_SITE_NAME=http://127.0.0.1:3000` .
333
404
334
405
7. **(Optional) Set up a virtual environment:**
335
406
336
407
- If you are using `venv`, create and activate your virtual environment for both the frontend and backend folders.
337
408
338
-
8. **Install requirements - frontend:**
409
+
8. **Install requirements - Backend:**
339
410
340
-
- In each of the frontend and backend folders -
341
-
Open a terminal in the `src` folder and run:
411
+
- To install the requirement for backend -
412
+
Open a terminal in the `src/backend` folder and run:
342
413
```bash
343
-
pip install -r requirements.txt
414
+
pip install uv
415
+
uv sync
344
416
```
345
417
346
418
9. **Build the frontend (important):**
347
419
420
+
- To install the requirement for frontend -
421
+
Open a terminal in the `src/frontend` folder and run:
422
+
```bash
423
+
pip install -r requirements.txt
424
+
```
425
+
348
426
- Before running the frontend server, you must build the frontend to generate the necessary `build/assets` directory.
349
427
350
428
From the `src/frontend` directory, run:
@@ -356,7 +434,7 @@ The files for the dev container are located in `/.devcontainer/` folder.
356
434
357
435
10. **Run the application:**
358
436
359
-
- From the src/backend directory:
437
+
- From the `src/backend` directory activate the virtual environment created through step 8 and Run:
360
438
361
439
```bash
362
440
python app_kernel.py
@@ -368,8 +446,22 @@ python app_kernel.py
368
446
python frontend_server.py
369
447
```
370
448
371
-
10. Open a browser and navigate to `http://localhost:3000`
372
-
11. To see swagger API documentation, you can navigate to `http://localhost:8000/docs`
449
+
or Run
450
+
451
+
```bash
452
+
npm run dev
453
+
```
454
+
455
+
11. Open a browser and navigate to `http://localhost:3000`
456
+
12. To see swagger API documentation, you can navigate to `http://localhost:8000/docs`
457
+
458
+
## Deploy Your local changes
459
+
To Deploy your local changes rename the below files.
460
+
1. Rename `azure.yaml` to `azure_custom2.yaml` and `azure_custom.yaml` to `azure.yaml`.
461
+
2. Go to `infra` directory
462
+
- Remove `main.bicep` to `main_custom2.bicep` and `main_custom.bicep` to `main.bicep`.
463
+
Continue with the [deploying steps](#deploying-with-azd).
0 commit comments