Skip to content

Commit 3689762

Browse files
committed
updates
1 parent 18170d2 commit 3689762

File tree

2,561 files changed

+228556
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,561 files changed

+228556
-0
lines changed

Diff for: .github/workflows/compile-bicep-arm.yml

+71
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
# This is a basic workflow to help you get started with Actions
2+
3+
name: CI
4+
5+
# Controls when the workflow will run
6+
on:
7+
# Triggers the workflow on push or pull request events but only for the main branch
8+
push:
9+
branches: [ main ]
10+
pull_request:
11+
branches: [ main ]
12+
13+
# Allows you to run this workflow manually from the Actions tab
14+
workflow_dispatch:
15+
16+
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
17+
jobs:
18+
# This workflow contains a single job called "build"
19+
build:
20+
# The type of runner that the job will run on
21+
runs-on: ubuntu-latest
22+
23+
# Steps represent a sequence of tasks that will be executed as part of the job
24+
steps:
25+
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
26+
- uses: actions/checkout@v3
27+
28+
# Runs ARM build from the bicep. Used for portal UI. Compile AVD baseline.
29+
- name: bicep-build-output
30+
uses: Azure/[email protected]
31+
with:
32+
bicepFilePath: ./workload/deploy-baseline.bicep
33+
outputFilePath: ./workload/arm/deploy-baseline.json
34+
35+
- name: Validate the AVD baseline output
36+
shell: bash
37+
run: |
38+
FILE="./workload/arm/deploy-baseline.json"
39+
if test -f "$FILE"; then
40+
echo "$FILE created successfully"
41+
else
42+
echo "$FILE not found."
43+
exit 1
44+
fi
45+
46+
# Runs ARM build from the bicep. Used for portal UI. Compile AVD Custom image.
47+
- name: bicep-build-output
48+
uses: Azure/[email protected]
49+
with:
50+
bicepFilePath: ./workload/deploy-customImage.bicep
51+
outputFilePath: ./workload/arm/deploy-customImage.json
52+
53+
- name: Validate the AVD custom image output
54+
shell: bash
55+
run: |
56+
FILE="./workload/arm/deploy-customImage.json"
57+
if test -f "$FILE"; then
58+
echo "$FILE created successfully"
59+
else
60+
echo "$FILE not found."
61+
exit 1
62+
fi
63+
64+
# Publish the compiled ARM templates to Github
65+
- name: publish
66+
uses: stefanzweifel/git-auto-commit-action@v4
67+
with:
68+
commit_message: Automated update for ARM templates
69+
70+
71+

Diff for: .lycheeignore copy

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
https://foo.psd1/
2+
file:///github
3+
https://mystorageaccount.blob.core.windows.net
4+
https://mykeyvault.vault.azure.net
5+
https://www.powershellgallery.com
6+
https://github.com/myProject
7+
http://validurltoconfiglocation/
8+
https://mycustomdependencylocation/
9+
http://tools.ietf.org/html/rfc6749#section-3.2

Diff for: CARML README copy.md

+178
Large diffs are not rendered by default.

Diff for: CODE_OF_CONDUCT.md

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Microsoft Open Source Code of Conduct
2+
3+
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
4+
5+
Resources:
6+
7+
- [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
8+
- [Microsoft Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/)
9+
- Contact [[email protected]](mailto:[email protected]) with questions or concerns

Diff for: CONTRIBUTING.md

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
This project welcomes contributions and suggestions. Most contributions require you to agree to a
2+
Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us
3+
the rights to use your contribution. For details, visit <https://cla.opensource.microsoft.com>.
4+
5+
When you submit a pull request, a CLA bot will automatically determine whether you need to provide
6+
a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions
7+
provided by the bot. You will only need to do this once across all repos using our CLA.
8+
9+
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
10+
For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or
11+
contact [[email protected]](mailto:[email protected]) with any additional questions or comments.

Diff for: LICENSE

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) Microsoft Corporation.
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE

Diff for: README.md

+68
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
# Welcome to the Azure Virtual Desktop (AVD) Landing Zone Accelerator
2+
3+
## Optional: Custom Image Build
4+
5+
Deploy a custom image based on the latest version of the Azure marketplace image to an Azure Compute Gallery. The following images are offered:
6+
- Windows 10 21H2
7+
- Windows 11 21H2
8+
- Windows 10 21H2 with O365
9+
- Windows 11 21H2 with O365
10+
11+
Custom image is optimized using [Virtual Desktop Optimization Tool (VDOT)](https://github.com/The-Virtual-Desktop-Team/Virtual-Desktop-Optimization-Tool) and patched with the latest Windows updates.
12+
13+
[![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#blade/Microsoft_Azure_CreateUIDef/CustomDeploymentBlade/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Favdaccelerator%2Fmain%2Fworkload%2Farm%2Fdeploy-customImage.json/uiFormDefinitionUri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Favdaccelerator%2Fmain%2Fworkload%2Fportal-ui%2Fportal-ui-customImage.json)
14+
15+
## AVD Accelerator Baseline
16+
17+
Deploy Azure Virtual Desktop (AVD) resources and dependent services for establishing the baseline
18+
- AVD resources: workplace, two(2) application groups and host pool
19+
- [Optional]: new virtual network (VNet) with baseline NSG and route table
20+
- Azure Files Premium share. Integration with Active Directory
21+
- Session Hosts
22+
23+
24+
[![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#blade/Microsoft_Azure_CreateUIDef/CustomDeploymentBlade/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Favdaccelerator%2Fmain%2Fworkload%2Farm%2Fdeploy-baseline.json/uiFormDefinitionUri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Favdaccelerator%2Fmain%2Fworkload%2Fportal-ui%2Fportal-ui-baseline.json)
25+
26+
## Overview
27+
28+
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.
29+
30+
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).
31+
32+
The AVD Landing Zone Accelerator only addresses what gets deployed in the specific AVD landing zone subscriptions, highlighted by the red boxes in the picture above. 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.
33+
34+
## This Repository
35+
36+
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.
37+
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.
38+
39+
## Next Steps
40+
41+
Head over to [Getting Started Wiki](https://github.com/Azure/avdaccelerator/wiki/Getting-Started#Getting-Started) to review prerequisites and deployment options.
42+
43+
## Baseline Architectural Diagram
44+
45+
![AVD accelerator diagram](./workload/docs/diagrams/avd-accelerator-baseline.png)
46+
47+
_Download a [Visio file](./workload/docs/diagrams/avd-accelerator-baseline-architecture.vsdx) of this architecture._
48+
## Contributing
49+
50+
This project welcomes contributions and suggestions. Most contributions require you to agree to a
51+
Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us
52+
the rights to use your contribution. For details, visit [https://cla.opensource.microsoft.com](https://cla.opensource.microsoft.com).
53+
54+
When you submit a pull request, a CLA bot will automatically determine whether you need to provide
55+
a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions
56+
provided by the bot. You will only need to do this once across all repos using our CLA.
57+
58+
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
59+
For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or
60+
contact [[email protected]](mailto:[email protected]) with any additional questions or comments.
61+
62+
## Trademarks
63+
64+
This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft
65+
trademarks or logos is subject to and must follow
66+
[Microsoft's Trademark & Brand Guidelines](https://www.microsoft.com/legal/intellectualproperty/trademarks).
67+
Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.
68+
Any use of third-party trademarks or logos are subject to those third-party's policies.

Diff for: SECURITY.md

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
<!-- BEGIN MICROSOFT SECURITY.MD V0.0.5 BLOCK -->
2+
3+
## Security
4+
5+
Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [our GitHub organizations](https://opensource.microsoft.com/).
6+
7+
If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://docs.microsoft.com/en-us/previous-versions/tn-archive/cc751383(v=technet.10)), please report it to us as described below.
8+
9+
## Reporting Security Issues
10+
11+
**Please do not report security vulnerabilities through public GitHub issues.**
12+
13+
Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://msrc.microsoft.com/create-report).
14+
15+
If you prefer to submit without logging in, send email to [[email protected]](mailto:[email protected]). If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://www.microsoft.com/en-us/msrc/pgp-key-msrc).
16+
17+
You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://www.microsoft.com/msrc).
18+
19+
Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue:
20+
21+
* Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.)
22+
* Full paths of source file(s) related to the manifestation of the issue
23+
* The location of the affected source code (tag/branch/commit or direct URL)
24+
* Any special configuration required to reproduce the issue
25+
* Step-by-step instructions to reproduce the issue
26+
* Proof-of-concept or exploit code (if possible)
27+
* Impact of the issue, including how an attacker might exploit the issue
28+
29+
This information will help us triage your report more quickly.
30+
31+
If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://microsoft.com/msrc/bounty) page for more details about our active programs.
32+
33+
## Preferred Languages
34+
35+
We prefer all communications to be in English.
36+
37+
## Policy
38+
39+
Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://www.microsoft.com/en-us/msrc/cvd).
40+
41+
<!-- END MICROSOFT SECURITY.MD BLOCK -->

Diff for: SUPPORT.md

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# Support
2+
3+
## Microsoft Support Policy
4+
5+
If issues are encountered when deploying these Bicep modules users will be able to engage Microsoft support via their usual channels. Please provide corelation IDs where possible when contacting support to be able to investigate the issue effectively and in a timely fashion. For instructions on how to get deployments and correlation ID, please follow this link [here](https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/deployment-history?tabs=azure-portal#get-deployments-and-correlation-id).
6+
7+
Following list of issues are within the scope of Microsoft support:
8+
9+
- Underlying Resource or Resource Provider issues when deploying modules (e.g. Management Groups, Policies, Log Analytics Workspace, Virtual WAN, Virtual Network) for any deployment failure
10+
- Module specific issues (e.g. template errors, internal server errors, etc.)
11+
- Template specific issues (e.g. template publishing, resource removal, etc.)
12+
13+
Any issues that are deemed outside of the above list by Microsoft support and/or requires bugfix in the module or code in the repo, Microsoft support will redirect user to file the issue on GitHub.
14+
15+
Project maintainers and community aim to get issues resolved in timely fashion as per community support policy of this repo.
16+
17+
## Community Support Policy
18+
19+
Project maintainers will aim to respond to new issues on a best effort basis.
20+
21+
## How to file issues and get help
22+
23+
This project uses GitHub Issues to track bugs and feature requests. Please search the existing issues before filing new issues to avoid duplicates. For new issues, file your bug or feature request as a new Issue.
24+
25+
For help and questions about using this project, please submit a Github issue with corresponding [Issue Labels found here](https://github.com/Azure/ResourceModules/labels).
26+
27+
28+
<!-- Local -->
29+
[ProjectSetup]: <https://docs.github.com/en/communities/>
30+
[GitHubDocs]: <https://docs.github.com/>
31+
[AzureDevOpsDocs]: <https://docs.microsoft.com/en-us/azure/devops/?view=azure-devops>
32+
[GitHubIssues]: <https://github.com/Azure/Modules/issues>
33+
[Contributing]: CONTRIBUTING.md
34+
[AzureIcon]: docs/media/MicrosoftAzure-32px.png
35+
[PowershellIcon]: docs/media/MicrosoftPowerShellCore-32px.png
36+
[BashIcon]: docs/media/Bash_Logo_black_and_white_icon_only-32px.svg.png

Diff for: azure-pipelines.yml

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Starter pipeline
2+
# Start with a minimal pipeline that you can customize to build and deploy your code.
3+
# Add steps that build, run tests, deploy, and more:
4+
# https://aka.ms/yaml
5+
6+
trigger:
7+
- main
8+
9+
pool:
10+
vmImage: ubuntu-latest
11+
12+
steps:
13+
- script: echo Hello, world!
14+
displayName: 'Run a one-line script'
15+
16+
- script: |
17+
echo Add other tasks to build, test, and deploy your project.
18+
echo See https://aka.ms/yaml
19+
displayName: 'Run a multi-line script'
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
param principalIds array
2+
param roleDefinitionIdOrName string
3+
param resourceId string
4+
5+
var builtInRoleNames = {
6+
'Owner': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '8e3af657-a8ff-443c-a75c-2fe8c4bcb635')
7+
'Contributor': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'b24988ac-6180-42a0-ab88-20f7382dd24c')
8+
'Reader': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'acdd72a7-3385-48ef-bd42-f606fba81ae7')
9+
'Log Analytics Contributor': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '92aaf0da-9dab-42b6-94a3-d43ce8d16293')
10+
'Log Analytics Reader': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '73c42c96-874c-492b-b04d-ab87d138a893')
11+
'Managed Application Contributor Role': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '641177b8-a67a-45b9-a033-47bc880bb21e')
12+
'Managed Application Operator Role': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'c7393b34-138c-406f-901b-d8cf2b17e6ae')
13+
'Managed Applications Reader': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'b9331d33-8a36-4f8c-b097-4f54124fdb44')
14+
'Monitoring Contributor': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '749f88d5-cbae-40b8-bcfc-e573ddc772fa')
15+
'Monitoring Metrics Publisher': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '3913510d-42f4-4e42-8a64-420c390055eb')
16+
'Monitoring Reader': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '43d0d8ad-25c7-4714-9337-8ba259a9fe05')
17+
'Resource Policy Contributor': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '36243c78-bf99-498c-9df9-86d9f8d28608')
18+
'User Access Administrator': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '18d7d88d-d35e-4fb5-a5c3-7773c20a72d9')
19+
}
20+
21+
resource server 'Microsoft.AnalysisServices/servers@2017-08-01' existing = {
22+
name: last(split(resourceId, '/'))
23+
}
24+
25+
resource roleAssignment 'Microsoft.Authorization/roleAssignments@2021-04-01-preview' = [for principalId in principalIds: {
26+
name: guid(server.name, principalId, roleDefinitionIdOrName)
27+
properties: {
28+
roleDefinitionId: contains(builtInRoleNames, roleDefinitionIdOrName) ? builtInRoleNames[roleDefinitionIdOrName] : roleDefinitionIdOrName
29+
principalId: principalId
30+
}
31+
scope: server
32+
}]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
3+
"contentVersion": "1.0.0.0",
4+
"parameters": {
5+
"name": {
6+
"value": "<<namePrefix>>azasweumin001"
7+
}
8+
}
9+
}

0 commit comments

Comments
 (0)