-
Notifications
You must be signed in to change notification settings - Fork 5
[DO NOT MERGE] Working Branch for Cleanup #294
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 3 commits
576db7a
0becca5
0202f11
c2403d5
d93145f
17a2528
ba5d87b
370768b
f2a1e9b
7a117f4
ae0534d
3307485
65963a2
a56ef05
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,68 +1,67 @@ | ||
| { | ||
| "name": "Azure Developer CLI", | ||
| "image": "mcr.microsoft.com/devcontainers/go:1.4.1-bullseye", | ||
| "features": { | ||
| // terraform and az (required for auth) are installed by default | ||
| // See https://containers.dev/features for list of features | ||
| "ghcr.io/devcontainers/features/python:1" : {}, | ||
| "ghcr.io/devcontainers/features/powershell:1": {}, | ||
| "ghcr.io/devcontainers/features/azure-cli:1": {}, | ||
| "ghcr.io/devcontainers/features/github-cli:1": {}, | ||
| "ghcr.io/devcontainers/features/docker-in-docker:2": {}, | ||
| "ghcr.io/devcontainers/features/terraform:1": { | ||
| "installTFsec": true | ||
| }, | ||
| "ghcr.io/devcontainers/features/dotnet:2": { | ||
| "version": "8.0" | ||
| }, | ||
| "ghcr.io/azure/azure-dev/azd:latest": { | ||
| "version": "1.18.1" | ||
| }, | ||
| "./features/dev-tools": {} | ||
| }, | ||
| "customizations": { | ||
| "vscode": { | ||
| "extensions": [ | ||
| "GitHub.vscode-github-actions", | ||
| "hashicorp.terraform", | ||
| "ms-azuretools.azure-dev", | ||
| "ms-azuretools.vscode-docker", | ||
| "GitHub.copilot", | ||
| "GitHub.copilot-chat", | ||
| "ms-vscode.makefile-tools", | ||
| "DavidAnson.vscode-markdownlint", | ||
| "golang.go", | ||
| "azapi-vscode.azapi", | ||
| "ms-azuretools.vscode-azureterraform", | ||
| "terraform-linters.tflint-vscode", | ||
| "microsoft-IsvExpTools.powerplatform-vscode", | ||
|
||
| "ms-vscode.azurecli", | ||
| "bierner.markdown-mermaid", | ||
| "ms-dotnettools.csharp", | ||
| "ms-dotnettools.vscode-dotnet-runtime" | ||
| // Include other VSCode extensions if needed | ||
| // Right click on an extension inside VSCode to add directly to devcontainer.json, or copy the extension ID | ||
| ], | ||
| "settings": { | ||
| "terraform.languageServer.enable":true, | ||
| "tflint.enable": true, | ||
| "tflint.validateOnSave": true | ||
| } | ||
| } | ||
| }, | ||
| "forwardPorts": [ | ||
| // Forward ports if needed for local development | ||
| ], | ||
| "containerEnv": { | ||
| "POWER_PLATFORM_USE_CLI": "true", | ||
| "DOTNET_CLI_TELEMETRY_OPTOUT": "1" | ||
| }, | ||
| "remoteEnv": { | ||
| "PATH": "${containerEnv:PATH}:/home/vscode/.local/bin" | ||
| }, | ||
| "postCreateCommand": "sh .devcontainer/postCreate.sh", | ||
| "remoteUser": "vscode", | ||
| "hostRequirements": { | ||
| "memory": "8gb" | ||
| } | ||
| } | ||
| { | ||
| "name": "Azure Developer CLI", | ||
| "image": "mcr.microsoft.com/devcontainers/go:1.4.1-bullseye", | ||
| "features": { | ||
| // terraform and az (required for auth) are installed by default | ||
| // See https://containers.dev/features for list of features | ||
| "ghcr.io/devcontainers/features/python:1" : {}, | ||
| "ghcr.io/devcontainers/features/powershell:1": {}, | ||
| "ghcr.io/devcontainers/features/azure-cli:1": {}, | ||
| "ghcr.io/devcontainers/features/github-cli:1": {}, | ||
| "ghcr.io/devcontainers/features/docker-in-docker:2": {}, | ||
| "ghcr.io/devcontainers/features/terraform:1": { | ||
| "installTFsec": true | ||
| }, | ||
| "ghcr.io/devcontainers/features/dotnet:2": { | ||
| "version": "9.0" | ||
| }, | ||
| "ghcr.io/azure/azure-dev/azd:latest": { | ||
| "version": "1.18.1" | ||
| }, | ||
| "./features/dev-tools": {} | ||
| }, | ||
| "customizations": { | ||
| "vscode": { | ||
| "extensions": [ | ||
| "GitHub.vscode-github-actions", | ||
| "hashicorp.terraform", | ||
| "ms-azuretools.azure-dev", | ||
| "ms-azuretools.vscode-docker", | ||
| "GitHub.copilot", | ||
| "GitHub.copilot-chat", | ||
| "ms-vscode.makefile-tools", | ||
| "DavidAnson.vscode-markdownlint", | ||
| "golang.go", | ||
| "ms-azuretools.vscode-azureterraform", | ||
| "terraform-linters.tflint-vscode", | ||
| "ms-vscode.azurecli", | ||
| "bierner.markdown-mermaid", | ||
| "ms-dotnettools.csharp", | ||
| "ms-dotnettools.vscode-dotnet-runtime" | ||
|
|
||
| // Include other VSCode extensions if needed. Right click on an extension inside VSCode | ||
| // to add directly to devcontainer.json, or copy the extension ID | ||
| ], | ||
| "settings": { | ||
| "terraform.languageServer.enable":true, | ||
| "tflint.enable": true, | ||
| "tflint.validateOnSave": true | ||
| } | ||
| } | ||
| }, | ||
| "forwardPorts": [ | ||
| // Forward ports if needed for local development | ||
| ], | ||
| "containerEnv": { | ||
| "POWER_PLATFORM_USE_CLI": "true", | ||
| "DOTNET_CLI_TELEMETRY_OPTOUT": "1" | ||
| }, | ||
| "remoteEnv": { | ||
| "PATH": "${containerEnv:PATH}:/home/vscode/.local/bin" | ||
| }, | ||
| "postCreateCommand": "sh .devcontainer/postCreate.sh", | ||
| "remoteUser": "vscode", | ||
| "hostRequirements": { | ||
| "memory": "8gb" | ||
| } | ||
| } | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -10,21 +10,14 @@ tflint --init | |
|
|
||
| # Install PowerApps CLI (Microsoft.PowerApps.CLI.Tool) | ||
| echo "Installing PowerApps CLI..." | ||
| dotnet tool install --global Microsoft.PowerApps.CLI.Tool --version 1.43.6 | ||
| dotnet tool install --global Microsoft.PowerApps.CLI.Tool --version 1.49.3 | ||
|
|
||
| # Restore .NET packages including Microsoft.Agents.CopilotStudio.Client | ||
| echo "Restoring .NET packages..." | ||
| if [ -f "Directory.Build.props" ]; then | ||
| dotnet restore | ||
| echo ".NET packages restored successfully!" | ||
|
||
| if [ -f "tests/Copilot/CopilotTests.csproj" ]; then | ||
| dotnet restore tests/Copilot/CopilotTests.csproj | ||
| echo "Copilot project packages restored successfully!" | ||
| else | ||
| # Fallback to individual project restore | ||
| if [ -f "tests/Copilot/CopilotTests.csproj" ]; then | ||
| dotnet restore tests/Copilot/CopilotTests.csproj | ||
| echo "Copilot project packages restored successfully!" | ||
| else | ||
| echo "No .NET projects found, skipping package restore" | ||
| fi | ||
| echo "No .NET projects found, skipping package restore" | ||
| fi | ||
|
|
||
| echo "Post-create setup completed successfully!" | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| # Troubleshooting tips | ||
|
|
||
| ## Quota error during deployment | ||
|
|
||
| If you see an InsufficientQuota error mentioning "Tokens Per Minute", the requested `scale.capacity` (thousands of TPM) exceeds your subscription's available quota — lower `scale.capacity` in TFVARS or request a quota increase in the Azure portal. | ||
|
|
||
| ## Private endpoint fails with AccountProvisioningStateInvalid | ||
|
|
||
| This occurs when Terraform tries to create the private endpoint before the Azure OpenAI (Cognitive Services) account leaves the `Accepted` state; wait until the resource shows `Succeeded` (portal or `az resource show`) and re-run the provisioning (`azd provision`). | ||
|
|
||
| ## Use GitHub Copilot to help troubleshoot | ||
|
|
||
| If you're unsure how to fix a deployment error, open the relevant files in VS Code and use GitHub Copilot for suggestions. Copilot can propose TFVARS overrides, sample values, terraform plan snippets, or concise support-request wording; always review and test generated suggestions before applying them. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,5 +1,5 @@ | ||
| { | ||
| "sdk": { | ||
| "version": "8.0.412" | ||
| "version": "9.0.305" | ||
| } | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -479,6 +479,19 @@ resource "azurerm_network_security_group" "deployment_script_nsg" { | |
| destination_address_prefix = "Storage" | ||
| } | ||
|
|
||
| # Allow Azure Files SMB access for script volume mounts | ||
| security_rule { | ||
| name = "Allow-Storage-SMB-Outbound" | ||
| priority = 112 | ||
| direction = "Outbound" | ||
| access = "Allow" | ||
| protocol = "Tcp" | ||
| source_port_range = "*" | ||
| destination_port_range = "445" | ||
| source_address_prefixes = var.deployment_script_subnet_address_spaces | ||
| destination_address_prefix = "Storage" | ||
| } | ||
|
|
||
|
Comment on lines
+485
to
+497
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I don't know if this is actually needed. Was an attempt before we found the issue with storage account. Will likely remove. |
||
| # Allow Azure AI Search access (via private endpoint) | ||
| security_rule { | ||
| name = "Allow-AISearch-Outbound" | ||
|
|
||
|
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Broke this out into its own file when i was trying to add diagnostic settings, not sure we need it separated. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,23 @@ | ||
| # Resource Group Configuration and Management | ||
| # This file contains resource group resources and related diagnostic settings | ||
|
|
||
| # Resource group logic - use existing or create new | ||
| locals { | ||
| use_existing_resource_group = var.resource_group_name != null && var.resource_group_name != "" | ||
| resource_group_name = local.use_existing_resource_group ? var.resource_group_name : azurerm_resource_group.this[0].name | ||
| resource_group_id = local.use_existing_resource_group ? data.azurerm_resource_group.existing[0].id : azurerm_resource_group.this[0].id | ||
| } | ||
|
|
||
| # Data source to validate existing resource group exists | ||
| data "azurerm_resource_group" "existing" { | ||
| count = local.use_existing_resource_group ? 1 : 0 | ||
| name = var.resource_group_name | ||
| } | ||
|
|
||
| # The Resource Group that will contain the resources managed by this module (only created if not using existing) | ||
| resource "azurerm_resource_group" "this" { | ||
| count = local.use_existing_resource_group ? 0 : 1 | ||
| location = local.primary_azure_region | ||
| name = azurecaf_name.main_names.results["azurerm_resource_group"] | ||
| tags = merge(var.tags, local.env_tags) | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
deprecated