Skip to content

Conversation

@pauldotyu
Copy link
Contributor

Purpose

With 2.0.0 release of this app, the azd deployments have been revamped to take a different approach which includes using AZD's Kustomize capability and setting each subproject in this mono-repo as a service. This allows for e2e testing with each container image being built from source. However, there are instances where we want to run azd up and deploy from pre-built container images in ghcr.io.

So the following changes have been added to allow for that while still being flexible for other deployment options:

  • Bring back azd-hooks directory with predeploy, preprovision, postdeploy, and postprovision scripts and defaults to deploying using Helm and deploying from pre-built container images in ghcr.io/azure-samples/aks-store-demo
  • Added special azure-build-from-source.yaml which will be used to test deployments e2e from source using Kustomize and existing AZD build functionality
  • Bump all AVM module versions to latest
  • Removed RBAC AVM module and moving back to AzureRM role assignment to eliminate the need to create Entra ID Groups

Does this introduce a breaking change?

[x] Yes
[x] No

Pull Request Type

What kind of change does this Pull Request introduce?

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, local variables)
[x] Refactoring (no functional changes, no api changes)
[x] Documentation content changes
[ ] Other... Please describe:

How to Test

  • Get the code and run azd up
git clone https://github.com/azure-samples/aks-store-demo
cd aks-store-demo
git checkout azd_fixes
azd up
  • Test the code

What to Check

Verify that the following are valid

  • You should have a single AKS cluster with the AKS Store Demo app deployed

Other Information

@pauldotyu
Copy link
Contributor Author

/test-e2e

@github-actions
Copy link

🚀 @pauldotyu Starting E2E tests...

Workflow Run: 16982292690
Environment: e2etest
Location: australiaeast

@github-actions
Copy link

@pauldotyu E2E tests failed!

Workflow Run: 16982292690
Status: Failed
Environment: e2etest
Location: australiaeast

Please check the workflow logs for details and try again.

feat: bring back azd-hooks and preprovision script for azure provider registration and cli extension installation

chore: remove azure-bicep.yaml file and add azure-build-from-source.yaml with bicep options commented

chore: introduce azure-build-from-source.yaml for building images from source and deploying with kustomize (for e2e testing)

refactor: revert azure.yaml to deploy with helm (better for non-e2e testing deployments)

docs: enhance azd.md documentation for clarity on deployment options and environment variables

fix: modify bicep parameters to default to false for observability tools and azure services

chore: upgrade terraform provider versions in .terraform.lock.hcl for improved stability

fix: update terraform main.tf and outputs.tf to correctly handle source registry and outputs
@pauldotyu
Copy link
Contributor Author

/test-e2e

@github-actions
Copy link

🚀 @pauldotyu Starting E2E tests...

Workflow Run: 16999994699
Environment: e2etest
Location: australiaeast

@github-actions
Copy link

@pauldotyu E2E tests completed successfully!

Workflow Run: 16999994699
Duration: ~33 minutes
Status: Passed
Environment: e2etest
Location: australiaeast

All tests passed and resources have been cleaned up.

@pauldotyu
Copy link
Contributor Author

/test-e2e

@github-actions
Copy link

🚀 @pauldotyu Starting E2E tests...

Workflow Run: 17046960531
Environment: e2etest
Location: australiaeast

@github-actions
Copy link

@pauldotyu E2E tests failed!

Workflow Run: 17046960531
Status: Failed
Environment: e2etest
Location: australiaeast

Please check the workflow logs for details and try again.

@github-actions
Copy link

🚀 @pauldotyu Starting E2E tests...

Workflow Run: 17046960531
Environment: e2etest
Location: australiaeast

@github-actions
Copy link

@pauldotyu E2E tests completed successfully!

Workflow Run: 17046960531
Duration: ~71 minutes
Status: Passed
Environment: e2etest
Location: australiaeast

All tests passed and resources have been cleaned up.

@usepowershell usepowershell requested a review from Copilot August 18, 2025 18:40

This comment was marked as outdated.

@pauldotyu pauldotyu requested a review from Copilot August 18, 2025 18:45

This comment was marked as outdated.

@pauldotyu pauldotyu requested a review from Copilot August 18, 2025 20:08

This comment was marked as outdated.

@pauldotyu pauldotyu requested a review from Copilot August 18, 2025 20:23

This comment was marked as outdated.

@pauldotyu pauldotyu requested a review from Copilot August 18, 2025 20:25

This comment was marked as outdated.

@pauldotyu
Copy link
Contributor Author

/test-e2e

@github-actions
Copy link

🚀 @pauldotyu Starting E2E tests...

Workflow Run: 17052994374
Environment: e2etest
Location: australiaeast

@github-actions
Copy link

@pauldotyu E2E tests failed!

Workflow Run: 17052994374
Status: Failed
Environment: e2etest
Location: australiaeast

Please check the workflow logs for details and try again.

@pauldotyu pauldotyu requested a review from Copilot August 18, 2025 21:42
@pauldotyu
Copy link
Contributor Author

/test-e2e

@github-actions
Copy link

🚀 @pauldotyu Starting E2E tests...

Workflow Run: 17053255276
Environment: e2etest
Location: australiaeast

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR refactors the Azure Developer CLI deployment infrastructure to support multiple deployment scenarios, moving from a Kustomize-only approach to a default Helm-based deployment with pre-built container images. The key changes enable flexible deployment options while maintaining support for building from source.

  • Restructures Azure infrastructure configuration to use direct Azure role assignments instead of the AVM role assignment module
  • Updates all Azure Verified Modules (AVM) to their latest versions across Bicep and Terraform
  • Replaces the complex service-specific Kustomize configuration with a simplified Helm-based deployment using pre-built container images

Reviewed Changes

Copilot reviewed 27 out of 28 changed files in this pull request and generated 16 comments.

Show a summary per file
File Description
infra/terraform/variables.tf Updates default VM size to Standard_D2s_v4
infra/terraform/servicebus.tf Replaces AVM role assignment module with direct azurerm_role_assignment
infra/terraform/outputs.tf Adds new deployment status outputs and renames registry-related outputs
infra/terraform/openai.tf Updates AVM module version and replaces role assignment module
infra/terraform/main.tf Removes Azure AD group creation and adds source registry local variable
infra/terraform/kubernetes.tf Updates AVM module versions and replaces group-based RBAC with direct assignment
infra/terraform/cosmosdb.tf Updates AVM module to latest version
infra/bicep/*.bicep Updates all AVM module versions to latest releases
infra/bicep/main.parameters.json Removes default false values from deployment parameters
infra/bicep/main.bicep Changes default deployment flags to false and adds conditional resource access
azure.yaml Simplifies from service-specific Kustomize to single Helm deployment with azd-hooks
azd-hooks/* Adds deployment scripts for provider registration, Helm value generation, and container management
docs/azd.md Updates documentation for new deployment approach and environment variables
Files not reviewed (1)
  • infra/terraform/.terraform.lock.hcl: Language not supported

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
You can also share your feedback on Copilot code review for a chance to win a $100 gift card. Take the survey.

@github-actions
Copy link

@pauldotyu E2E tests completed successfully!

Workflow Run: 17053255276
Duration: ~34 minutes
Status: Passed
Environment: e2etest
Location: australiaeast

All tests passed and resources have been cleaned up.

@pauldotyu pauldotyu merged commit 1b7ba07 into main Aug 18, 2025
9 checks passed
@pauldotyu pauldotyu deleted the azd_fixes branch August 18, 2025 22:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants