diff --git a/.github/workflows/azure-dev.yml b/.github/workflows/azure-dev.yml
index 8b77b194..ec71a5d1 100644
--- a/.github/workflows/azure-dev.yml
+++ b/.github/workflows/azure-dev.yml
@@ -20,10 +20,20 @@ on:
# Set this to the mainline branch you are using
branches:
- main
+ paths-ignore:
+ - 'docs/**'
+ - 'decision-log/**'
+ - 'cicd/**'
+ - '*.md'
pull_request:
# Run when pull requests are opened or updated
branches:
- main
+ paths-ignore:
+ - 'docs/**'
+ - 'decision-log/**'
+ - 'cicd/**'
+ - '*.md'
# GitHub Actions workflow to deploy to Azure using azd
# Ensure only one deployment runs at a time to prevent conflicts
@@ -47,17 +57,17 @@ jobs:
steps:
- name: Checkout code
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
+ uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
persist-credentials: false
- name: Install azd
- uses: Azure/setup-azd@c495e71ba59e44bfaaac10a32c8ee90d191ca4a3 # v2.2.1
+ uses: Azure/setup-azd@c495e71ba59e44bfaaac10a32c8ee90d191ca4a3 # v2.2.1
with:
version: '1.20.0' # Specify your desired azd version here
- name: Setup Node.js
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
+ uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
with:
node-version: '18.x'
@@ -67,7 +77,7 @@ jobs:
terraform_version: 1.13.3
- name: Install TFLint
- uses: terraform-linters/setup-tflint@4cb9feea73331a35b422df102992a03a44a3bb33 # v6.2.1
+ uses: terraform-linters/setup-tflint@4cb9feea73331a35b422df102992a03a44a3bb33 # v6.2.1
with:
tflint_version: v0.58.1
github_token: ${{ secrets.GITHUB_TOKEN }} # Used to avoid rate
@@ -121,7 +131,7 @@ jobs:
pac help
- name: Set Up Python
- uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # 6.1.0
+ uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # 6.1.0
with:
python-version: "3.x"
@@ -182,7 +192,7 @@ jobs:
azd provision --no-prompt
- - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
+ - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
if: success() || failure()
with:
name: sarif-reports
@@ -253,4 +263,4 @@ jobs:
--name "$OPENAI_RESOURCE_NAME" || echo "Resource may not be in soft-delete state or already purged"
else
echo "OpenAI resource information not found in environment outputs. Skipping purge."
- fi
+ fi
diff --git a/README.md b/README.md
index 0ba4cbeb..b1fbda19 100644
--- a/README.md
+++ b/README.md
@@ -47,6 +47,14 @@ network security.
- Pre-configured backend setup for remote state storage.
- Documentation and examples for quick onboarding and usage.
+## CAIRA Assets
+This is one of several acceleration assets within the CAIRA (Composable AI Reference Architectures) suite.
+
+| Asset | Purpose | What it offers | Link |
+|-------|---------------|----------------|------------|
+| **AI Foundry Acceleration** | For organizations building modern AI solutions in the cloud | • Faster time to value: Deploy enterprise AI solutions with minimal upfront investment using reliable accelerator components
• Enterprise-grade security and observability acceleration: Baseline configurations with private networking, security controls, and compliance patterns
• Infrastructure as Code: Repeatable, version-controlled deployments with composable Terraform modules for Azure AI Foundry and supporting infrastructure
• Agentic acceleration: Deploy and configure through natural language, with seamless agent communication | [aka.ms/CAIRA](https://github.com/microsoft/CAIRA) |
+| **Copilot Studio + Azure AI Search Acceleration** | For customers building enterprise solutions involving the low-code platform Copilot Studio (Power Platform) | • Rapid provisioning: Deploy a full Copilot Studio + Azure AI Search environment
• Enterprise-ready baseline: Preconfigured networking (VNets, private endpoints) and secure authentication patterns
• CI/CD friendly: Modular Terraform templates for repeatable, automated deployments
• Faster time-to-value: Move from proof-of-concept to production quickly and confidently
• Extensible architecture: Supports bring-your-own networking and ALM patterns for dev/test/prod environments | This repository |
+
## Architecture
This enterprise-ready architecture demonstrates how to securely connect Copilot Studio with Azure AI Search through a private virtual network infrastructure. The solution focuses on data security, network isolation, and compliance with enterprise governance policies.
diff --git a/infra/modules/copilot_studio/power_platform_core.tf b/infra/modules/copilot_studio/power_platform_core.tf
index e02cfc7b..787b9aab 100644
--- a/infra/modules/copilot_studio/power_platform_core.tf
+++ b/infra/modules/copilot_studio/power_platform_core.tf
@@ -74,7 +74,5 @@ resource "powerplatform_managed_environment" "this" {
max_limit_user_sharing = var.power_platform_managed_environment.max_limit_user_sharing
solution_checker_mode = var.power_platform_managed_environment.solution_checker_mode
suppress_validation_emails = var.power_platform_managed_environment.suppress_validation_emails
- maker_onboarding_markdown = var.power_platform_managed_environment.maker_onboarding_markdown
- maker_onboarding_url = var.power_platform_managed_environment.maker_onboarding_url
}
diff --git a/infra/modules/copilot_studio/terraform.tf b/infra/modules/copilot_studio/terraform.tf
index e8bab4ae..878d29f1 100644
--- a/infra/modules/copilot_studio/terraform.tf
+++ b/infra/modules/copilot_studio/terraform.tf
@@ -10,7 +10,7 @@ terraform {
}
azurerm = {
source = "hashicorp/azurerm"
- version = "4.55.0"
+ version = "4.56.0"
}
modtm = {
source = "Azure/modtm"
@@ -18,7 +18,7 @@ terraform {
}
powerplatform = {
source = "microsoft/power-platform"
- version = "3.9.1"
+ version = "4.0.0"
}
random = {
source = "hashicorp/random"
diff --git a/infra/modules/copilot_studio/variables.tf b/infra/modules/copilot_studio/variables.tf
index c49dfb42..dfa2c2fe 100644
--- a/infra/modules/copilot_studio/variables.tf
+++ b/infra/modules/copilot_studio/variables.tf
@@ -57,8 +57,6 @@ variable "power_platform_managed_environment" {
max_limit_user_sharing = number
solution_checker_mode = string
suppress_validation_emails = bool
- maker_onboarding_markdown = string
- maker_onboarding_url = string
})
description = <