-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: ALZ TF intro documentation (#3)
* wip: alztf docs * feat: finalize intro config * fix: review issues * fix: tf title * fix: further review updates * docs: add developer guide
- Loading branch information
1 parent
30c3ee0
commit f97fcbb
Showing
144 changed files
with
565 additions
and
350 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
# Developer Guide | ||
|
||
## Pre-Requisites | ||
|
||
You will need Hugo installed on your machine to build the documentation. You can download Hugo from the [Hugo website](https://gohugo.io/installation/). | ||
Make sure you install the same version as the one specified in the `.github/workflows/hugo.yml` file. | ||
|
||
## Creating a local HTTP server | ||
|
||
To create a local HTTP server, if you have GNU make installed, run the following command: | ||
|
||
```bash | ||
make server | ||
``` | ||
|
||
Alternatively, you can run the following commands: | ||
|
||
```bash | ||
cd docs | ||
hugo server | ||
``` | ||
|
||
The server will start and you can access the documentation at <http://localhost:1313/Azure-Landing-Zones/>. | ||
|
||
You can stop the server by pressing `Ctrl+C`. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -14,7 +14,7 @@ Please see the documentation site <https://azure.github.io/Azure-Landing-Zones/> | |
|
||
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 https://cla.opensource.microsoft.com. | ||
the rights to use your contribution. For details, visit <https://cla.opensource.microsoft.com>. | ||
|
||
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 | ||
|
@@ -24,6 +24,10 @@ This project has adopted the [Microsoft Open Source Code of Conduct](https://ope | |
For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or | ||
contact [[email protected]](mailto:[email protected]) with any additional questions or comments. | ||
|
||
## Developing | ||
|
||
See [DEVELOPER.md](DEVELOPER.md) for information on how to build and test the project. | ||
|
||
## Trademarks | ||
|
||
This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
--- | ||
title: Accelerator | ||
--- | ||
|
||
TBC... |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,5 @@ | ||
--- | ||
title: Bicep | ||
geekdocNav: true | ||
geekdocAlign: left | ||
geekdocAnchor: true | ||
--- | ||
|
||
TBC... |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
--- | ||
title: Bootstrap your environment | ||
--- | ||
|
||
Before we begin our Azure Landing Zones journey proper, we need some pre-requisites in place. | ||
|
||
## Azure Subscriptions | ||
|
||
We recommend setting up 3 subscriptions for Azure landing zones. | ||
These are management, identity and connectivity. | ||
|
||
- **Management**: This is used to deploy the bootstrap and management resources, such as log analytics and automation accounts. | ||
- **Connectivity**: This is used to deploy the hub networking resources, such as virtual networks and firewalls. | ||
- **Identity**: (Optional) This is used to deploy the identity resources, such as Azure AD and Azure AD Domain Services. You will not need this if you do not have any AD-DS or [Entra Domain Services](https://azure.microsoft.com/products/microsoft-entra-ds) requirements. | ||
|
||
You can read more about the management, identity and connectivity subscriptions in the [Landing Zone docs](https://learn.microsoft.com/azure/cloud-adoption-framework/ready/landing-zone/deploy-landing-zones-with-terraform). | ||
|
||
To create the subscriptions you will need access to a billing agreement. | ||
The following links detail the permissions required for each type of agreement: | ||
|
||
- [Enterprise Agreement (EA)](https://learn.microsoft.com/en-us/azure/cost-management-billing/manage/create-enterprise-subscription) | ||
- [Microsoft Customer Agreement (MCA)](https://learn.microsoft.com/en-us/azure/cost-management-billing/manage/create-subscription) | ||
|
||
Once you have the access required, create the three subscriptions following your desired naming convention. | ||
|
||
Take note of the subscription id of each subscription as we will need them later. | ||
|
||
## Azure Authentication and Permissions | ||
|
||
You need either an Azure User Account or Service Principal with the following permissions to run the bootstrap: | ||
|
||
- `Owner` on your chosen parent management group for the Azure landing zone. This could be `Tenant Root Group` or a new management group you create under there if preferred. | ||
- Owner is required as this account will be granting permissions for the identities that run the management group deployment. Those identities will be granted least privilege permissions. | ||
- `Owner` on each of your Azure landing zone subscriptions. | ||
|
||
## Next Steps | ||
|
||
Now choose your next step! | ||
|
||
The Accelerator allows you to quickly get started with IaC and DevOps best practices for Azure Landing Zones. | ||
It supports both Terraform and Bicep: | ||
|
||
- [**Accelerator**](/Azure-Landing-Zones/accelerator/) | ||
|
||
You can also opt to use Bicep and Terraform directly: | ||
|
||
- [**Bicep**](/Azure-Landing-Zones/bicep/) | ||
- [**Terraform**](/Azure-Landing-Zones/terraform/) |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
--- | ||
title: 1. Management components | ||
--- | ||
|
||
Core to Azure Landing Zones is the concept of centralized logging. | ||
We recommend beginning with the deployment of the management components, which include the following: | ||
|
||
- **Log Analytics workspace**: Used to collect and analyze logs from Azure resources. | ||
- **Automation account**: (Optional) Used to automate tasks in Azure. | ||
- **Azure Monitor Agent Resources**: The identity and data collection rules required for AMA. | ||
|
||
We have a Terraform module that deploys these resources for you: <https://registry.terraform.io/modules/Azure/avm-ptn-alz-management/azurerm/latest> | ||
|
||
## Getting started | ||
|
||
First let's create a `terraform.tf` file in a new directory and add the following code: | ||
|
||
{{< include file="/static/examples/tf/1_management/terraform.tf" language="terraform" >}} | ||
|
||
Here we specify the minimum version of Terraform we want to use. | ||
We set [pessimistic version constraints](https://developer.hashicorp.com/terraform/language/expressions/version-constraints) to allow only the minor version to change. | ||
This will prevent a new major version from being used, which could introduce breaking changes. | ||
|
||
## Add the ALZ Management module | ||
|
||
Create a file called `main.tf` in the same directory and add the following code: | ||
|
||
{{< include file="/static/examples/tf/1_management/main.tf" language="terraform" >}} | ||
|
||
## Plan and apply | ||
|
||
We recommend using CI/CD to deploy your infrastructure, the Accelerator is a great way to get started with this. | ||
However you can also run Terraform locally: | ||
|
||
Run `terraform init` to download the module and initialize the directory. | ||
Next, run `terraform plan` to see what resources will be created. | ||
Finally, run `terraform apply` to create the resources. | ||
|
||
## Next Steps | ||
|
||
Add networking components to your Azure Landing Zone by following the [Networking](2_networking) guide. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
--- | ||
Title: 2. Networking | ||
--- | ||
|
||
TBC... |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.