----- Accelerate, Automate, and Simplify the IaC setup using your familiar tools
This Quick-Start template simplifies your Infrastructure as Code journey with Azure edge products throughout their lifecycle. It includes a few Terraform modules (AKS Arc, Azure Stack HCI, Arc Site Manager and Arc extensions), a scalable hands-on repository structure and the automation tools to streamline the setup of the infrastructure configurations for production scaling.
By using this template, you can get all of the followings inside a single PR under your GitHub account
a scalable and extendible repository structure following the DevOps best practice
organized variables with the prefilled values to boost your initial setup
a customizable CD pipeline with the automations.
Yes if you want to:
No if you want to:
flowchart LR;
A[Fork QuickStart Repo] --> B["`Finish setup
in Getting-Started`"];
B --> C{Have a POC site?};
C -- Yes --> D([Export your site to code]);
D --> E([Check export results]);
C -- No --> F[Uncomment sample code];
F --> G["`Input values
for your first site`"];
E --> H[Merge pull request];
H --> I(["`Scale more sites
by exported module`"]);
G --> J["`Move shared
paramteres to global`"];
J --> K(["`Scale more sites
by sample module`"]);
I --> L[Get scaled sites];
K --> L;
Z(["`Private Preview
*(sign up required)*`"])
This repository implements AD preparation and Arc connection. Follow the instructions below to set up the rest of the components.
Steps: Getting-Started
Overview: Ready to deploy your first with AKS Arc on HCI23H2 along with Arc extensions? It's the right place for you. This scenario provides a quick and efficient way to establish a new site with edge resources with a predefined infrastructure template.
Steps: Create your first site
Expected outcome:
main
)Overview: Automatically configure scaling settings based on the parameters defined in the previous steps.
Steps:
main
by running git checkout -b <yourFeatureBranch>
./az-edge-site-scale generate -c ./.azure/scale.csv -s ./dev/<yourSiteName>
to get the scaling csv file. You can find a spread sheet under ./.azure
. The spread sheet contains all the entries which need customized inputs from you per site.Expected outcome:
main
)Overview: If you already have a PoC Site modeled within a resource group. This scenario will codify the existing resources and translate them into Terraform modules, then using automations to replicate the custom templates for multiple sites.
Steps:
This feature is currently in Private Preview. Before you begin: Sign up Private Preview
[!IMPORTANT] Resources under the resource group must belong to one single site. Code generation doesn't support resource groups containing multiple HCI clusters for now.
Convert the PoC site into IaC code:
main
branch by running git checkout -b <yourFeatureBranch>
.azure/export.json
. Do not use base
as the name of the module. It may carry the original contents in your exported module.[
{
"resourceGroup": "/subscriptions/<your-subscription-id>/resourceGroups/<yourSampleResourceGroup>",
"baseModulePath": "./modules/<name-of-the-module>",
"groupPath": "./dev/<yourSiteName>"
}
]
.azure/export.json
: git commit -m <commit message>
and git push -u origin <yourFeatureBranch>
. A GitHub workflow will be triggered automatically. Create a pull request to main
.You can find your workflow run as following../dev/<yourSiteName>/export-diff
to see what are the changes.Expected outcome:
main
)Any change merged into main
branch will trigger the update pipeline. If the change fails in early stages, the deployment will be blocked so that this failure will not affect the production sites.
Following tutorials help you to turn on opt-in features:
Open issue or contact arcIaCSupport@microsoft.com for any issue or support
This project is licensed under the MIT License. See the LICENSE file for more information.
'Preview Terms'. This repository (the "Preview") is subject to the Supplemental Terms of Use for Microsoft Azure Previews. Unless otherwise noted, Customer should not use the Preview to process Personal Data or other Data that is subject to legal or regulatory compliance requirements.
'Confidentiality'.The Preview and any associated materials or documentation are confidential information and subject to obligations in your Non-Disclosure Agreement with Microsoft.
This repository is provided "as-is" without any warranties or support. Use at your own risk. Always test in a non-production environment before deploying to production.
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit Microsoft opensource.
When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.