Skip to content

Commit

Permalink
Merge branch 'Azure:main' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
richredgrave authored Jul 18, 2023
2 parents b42bbb5 + a60e781 commit 622695c
Show file tree
Hide file tree
Showing 55 changed files with 5,875 additions and 15,536 deletions.
30 changes: 30 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<!-- Thank you for submitting a Pull Request. Please fill out the template below.-->
# Overview/Summary

Replace this with a brief description of what this Pull Request fixes, changes, etc.

## This PR fixes/adds/changes/removes

1. *Replace me*
2. *Replace me*
3. *Replace me*

### Breaking Changes

1. *Replace me*
2. *Replace me*

## Testing Evidence

Replace this with any testing evidence to show that your Pull Request works/fixes as described and planned (include screenshots, if appropriate).

## As part of this Pull Request I have

- [ ] Read the [Contribution Guide](https://github.com/Azure/avdaccelerator/blob/main/CONTRIBUTING.md) and ensured this PR is compliant with the guide
- [ ] Ensured the resource API versions in `.bicep` file/s I am adding/editing are using the latest API version possible
- [ ] Checked for duplicate [Pull Requests](https://github.com/Azure/avdaccelerator/pulls)
- [ ] Associated it with relevant [GitHub Issues](https://github.com/Azure/avdaccelerator/issues)
- [ ] *(AVD LZA Team Only)* Associated it with relevant [ADO Items](https://dev.azure.com/CSUSolEng/Accelerator%20-%20AVD/_backlogs/backlog/Accelerator%20-%20AVD%20Team/Features)
- [ ] Ensured my code/branch is up-to-date with the latest changes in the `main` [branch](https://github.com/Azure/avdaccelerator/tree/main)
- [ ] Performed testing and provided evidence.
- [ ] Updated relevant and associated documentation (e.g. Contribution Guide, Module READMEs, Docs etc.)
77 changes: 0 additions & 77 deletions .github/workflows/compile-bicep-arm-filter.yml

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,14 +1,22 @@
# This is a basic workflow to help you get started with Actions

name: CI
name: Build ARM from Bicep

# Controls when the workflow will run
on:
# Triggers the workflow on push or pull request events but only for the main branch
push:
branches: [ main ]
paths:
- "./carml/*"
- "./workload/bicep/*.bicep"
- "./workload/bicep/modules/*"
pull_request:
branches: [ main ]
paths:
- "./carml/*"
- "./workload/bicep/*.bicep"
- "./workload/bicep/modules/*"

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
Expand Down
143 changes: 143 additions & 0 deletions .github/workflows/psdocs-mdtogit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
# Example: .github/workflows/arm-docs.yaml

name: Generate Markdown
on:
# Triggers the workflow on push or pull request events but only for the main branch
push:
branches: [ main ]
paths:
- 'workload/bicep/deploy-baseline.bicep'
- 'workload/bicep/deploy-custom-image.bicep'
pull_request:
branches: [ main ]
types:
- edited
- opened
- reopened
- synchronize
paths:
- 'workload/bicep/deploy-baseline.bicep'
- 'workload/bicep/deploy-custom-image.bicep'
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

env:
github_user_name: 'github-actions'
github_email: '41898282+github-actions[bot]@users.noreply.github.com'
github_commit_message: 'Generate Parameter Markdowns'
github_pr_number: ${{ github.event.number }}
github_pr_repo: ${{ github.event.pull_request.head.repo.full_name }}

permissions:
contents: write

jobs:
arm_docs:
name: Generate Markdown
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3

- name: Show env
run: env | sort

- name: Check out PR
run: |
echo "==> Check out PR..."
gh pr checkout "$github_pr_number"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Configure local git
run: |
echo "git user name : $github_user_name"
git config --global user.name "$github_user_name"
echo "git user email : $github_email"
git config --global user.email "$github_email"
- name: Bicep Build
shell: pwsh
run: |
Get-ChildItem -Path workload/bicep/ -Filter '*.bicep' | ForEach-Object {
Write-Information "==> Attempting Bicep Build For File: $_" -InformationAction Continue
$output = bicep build $_.FullName 2>&1
if ($LastExitCode -ne 0)
{
throw $output
}
Else
{
echo $output
}
}
- name: Generate ARM markdowns
run: |
Install-Module -Name 'PSDocs.Azure' -Repository PSGallery -force;
# Scan for Azure template baseline files for AVD Accelerator
Get-AzDocTemplateFile -InputPath workload/bicep/ | ForEach-Object {
# Generate a standard name of the markdown file. i.e. <name>_<version>.md
$template = Get-Item -Path $_.TemplateFile;
$templateraw = Get-Content -Raw -Path $_.Templatefile;
$templateName = $template.Directory.Parent.Name;
$version = $template.Directory.Name;
$docNameWithoutExtension = [System.IO.Path]::GetFileNameWithoutExtension($template.Name);
$docName = "$($docNameWithoutExtension)_$version";
$jobj = ConvertFrom-Json -InputObject $templateraw
$outputpathformds = './workload/docs/autoGenerated'
New-Item -Path $outputpathformds -ItemType Directory -Force
# Conversion
$templatepath = $template.DirectoryName
$convertedtemplatename = $template.Name
$convertedfullpath = $templatepath+"\"+$convertedtemplatename
$jobj | ConvertTo-Json -Depth 100 | Set-Content -Path $convertedfullpath
$mdname = ($docNameWithoutExtension)+'.bicep'
# Generate markdown
Invoke-PSDocument -Module PSDocs.Azure -OutputPath $outputpathformds -InputObject $template.FullName -InstanceName $mdname -Culture en-US;
}
shell: pwsh

- name: Remove Generated JSONs
run: |
Remove-Item -Path workload/bicep/deploy-baseline.json
Remove-Item -Path workload/bicep/deploy-custom-image.json
shell: pwsh


- name: Check git status
run: |
echo "==> Check git status..."
git status --short --branch
- name: Stage changes
run: |
echo "==> Stage changes..."
mapfile -t STATUS_LOG < <(git status --short | grep .)
if [ ${#STATUS_LOG[@]} -gt 0 ]; then
echo "Found changes to the following files:"
printf "%s\n" "${STATUS_LOG[@]}"
git add --all
else
echo "No changes to add."
fi
- name: Push changes
run: |
echo "==> Check git diff..."
mapfile -t GIT_DIFF < <(git diff --cached)
printf "%s\n" "${GIT_DIFF[@]}"
if [ ${#GIT_DIFF[@]} -gt 0 ]; then
echo "==> Commit changes..."
git commit --message "$github_commit_message [$GITHUB_ACTOR/${GITHUB_SHA::8}]"
echo "==> Push changes..."
echo "Pushing changes to: $github_pr_repo"
git push "https://[email protected]/$github_pr_repo.git"
else
echo "No changes found."
fi
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
18 changes: 9 additions & 9 deletions readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,22 +6,22 @@

Enterprise-scale is an architectural approach and a reference implementation that enables effective construction and operation of landing zones on Azure, at scale. This approach aligns with the Azure roadmap and the Cloud Adoption Framework for Azure.

AVD Landing Zone Accelerator represents the strategic design path and target technical state for AVD deployment. This solution provides an architectural approach and reference implementation to prepare landing zone subscriptions for a scalable AVD deployment. For the architectural guidance, check out [Enterprise-scale for AVD in Microsoft Docs](https://docs.microsoft.com/azure/cloud-adoption-framework/scenarios/wvd/enterprise-scale-landing-zone).
Azure Virtual Desktop Landing Zone Accelerator (LZA) represents the strategic design path and target technical state for Azure Virtual Desktop deployment. This solution provides an architectural approach and reference implementation to prepare landing zone subscriptions for a scalable Azure Virtual Desktop deployment. For the architectural guidance, check out [Enterprise-scale for Azure Virtual Desktop in Microsoft Docs](https://docs.microsoft.com/azure/cloud-adoption-framework/scenarios/wvd/enterprise-scale-landing-zone).

The AVD Landing Zone Accelerator only addresses what gets deployed in the specific AVD landing zone subscriptions, highlighted by the red boxes in the [architectural diagram below](#architectural-diagram). It is assumed that an appropriate platform foundation is already setup which may or may not be the official [ALZ platform foundation](https://docs.microsoft.com/azure/cloud-adoption-framework/ready/enterprise-scale/implementation#reference-implementation). This means that policies and governance should already be in place or should be set up after this implementation and are not a part of the scope this program. The policies applied to management groups in the hierarchy above the subscription will trickle down to the Enterprise-scale for AVD landing zone subscriptions.
The Azure Virtual Desktop Landing Zone Accelerator (LZA) only addresses what gets deployed in the specific Azure Virtual Desktop landing zone subscriptions, highlighted by the red boxes in the [architectural diagram below](#architectural-diagram). It is assumed that an appropriate platform foundation is already setup which may or may not be the official [ALZ platform foundation](https://docs.microsoft.com/azure/cloud-adoption-framework/ready/enterprise-scale/implementation#reference-implementation). This means that policies and governance should already be in place or should be set up after this implementation and are not a part of the scope this program. The policies applied to management groups in the hierarchy above the subscription will trickle down to the Enterprise-scale for Azure Virtual Desktop landing zone subscriptions.

## This Repository

This repository will contain various customer scenarios that can help accelerate the development and deployment of AVD that conforms with [Enterprise-Scale for AVD best practices and guidelines](https://docs.microsoft.com/azure/cloud-adoption-framework/scenarios/wvd/ready). Each scenario aims to represent common customer experiences with the goal of accelerating the process of developing and deploying conforming AVD using IaaC. Each scenario will eventually have an ARM, Bicep, PowerShell and CLI version to choose from.
As of today, we have a first reference implementation scenario that is one of the most common ones used by Enterprise customers and partners and it can be used to deploy an AVD workload. We will continue to add new scenarios in future updates.
This repository will contain various customer scenarios that can help accelerate the development and deployment of Azure Virtual Desktop that conforms with [Enterprise-Scale for Azure Virtual Desktop best practices and guidelines](https://docs.microsoft.com/azure/cloud-adoption-framework/scenarios/wvd/ready). Each scenario aims to represent common customer experiences with the goal of accelerating the process of developing and deploying conforming Azure Virtual Desktop using IaaC. Each scenario will eventually have an ARM, Bicep, PowerShell and CLI version to choose from.
As of today, we have a first reference implementation scenario that is one of the most common ones used by Enterprise customers and partners and it can be used to deploy an Azure Virtual Desktop workload. We will continue to add new scenarios in future updates.

## Getting Started

## AVD Accelerator Baseline
## Azure Virtual Desktop - LZA - Baseline

[Getting Started](/workload/docs/getting-started-baseline.md) deploying Azure Virtual Desktop (AVD) resources and dependent services for establishing the baseline

- AVD resources: workspace, two (2) application groups, scaling plan and a host pool
- Azure Virtual Desktop resources: workspace, two (2) application groups, scaling plan and a host pool
- [Optional]: new virtual network (VNet) with NSGs, ASG and route tables
- Azure Files with Integration to the identity service
- Key vault
Expand All @@ -33,9 +33,9 @@ As of today, we have a first reference implementation scenario that is one of th
| Command line (Bicep/ARM) | [![Powershell/Azure CLI](./workload/docs/icons/powershell.png)](./workload/bicep/readme.md#avd-accelerator-baseline) |
| Terraform | [![Terraform](./workload/docs/icons/terraform.png)](./workload/terraform/greenfield/readme.md) |

[Brownfield deployments](/workload/brownfieldReadme.md) deploy new features to existing AVD deployments.
[Brownfield deployments](/workload/brownfieldReadme.md) deploy new features to existing Azure Virtual Desktop deployments.

## Optional: Custom Image Build
## Azure Virtual Desktop - LZA - Custom image build (Optional)

[Getting Started](/workload/docs/getting-started-custom-image-build.md) deploying a custom image based on the latest version of the Azure marketplace image to an Azure Compute Gallery. The following images are offered:
- Windows 10 21H2
Expand All @@ -59,7 +59,7 @@ Custom image is optimized using [Virtual Desktop Optimization Tool (VDOT)](https

## Architectural Diagram

![AVD accelerator diagram](./workload/docs/diagrams/avd-accelerator-baseline-architecture.png)
![Azure Virtual Desktop accelerator diagram](./workload/docs/diagrams/avd-accelerator-baseline-architecture.png)

_Download a [Visio file](./workload/docs/diagrams/avd-accelerator-baseline-architecture.vsdx) of this architecture._

Expand Down
Loading

0 comments on commit 622695c

Please sign in to comment.