Skip to content

Commit

Permalink
docs: single region config files (#210)
Browse files Browse the repository at this point in the history
# Pull Request

## Description

Update the docs to reference the single region config files for the VBD.

## License

By submitting this pull request, I confirm that my contribution is made
under the terms of the projects associated license.
  • Loading branch information
jaredfholgate authored Oct 3, 2024
1 parent fcf7adc commit 7f7a216
Show file tree
Hide file tree
Showing 5 changed files with 36 additions and 334 deletions.
12 changes: 6 additions & 6 deletions docs/wiki/[User-Guide]-Starter-Module-Bicep-Complete.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,6 @@
<!-- markdownlint-disable first-line-h1 -->
The `complete` starter module is currently the only option available for Bicep.

Example input files can be found here:

- [inputs-azure-devops-bicep-complete.yaml][example_powershell_inputs_azure_devops_bicep_complete]
- [inputs-github-bicep-complete.yaml][example_powershell_inputs_github_bicep_complete]
- [inputs-local-bicep-complete.yaml][example_powershell_inputs_local_bicep_complete]

The following table describes the inputs required for the `complete` starter module.

| Input | Placeholder | Description |
Expand All @@ -17,6 +11,12 @@ The following table describes the inputs required for the `complete` starter mod
| `networkType` | `hubNetworking` | The type of network configuration to deploy. Currently only `hubNetworking`, `hubNetworkingMultiRegion`, `vwanConnectivity,` `vwanConnectivityMultiRegion` or `none` are supported. |
| `SecurityContact` | `<email-address>` | The email address of the security contact for the landing zone. |

Example input files can be found here:

- [inputs-azure-devops-bicep-complete.yaml][example_powershell_inputs_azure_devops_bicep_complete]
- [inputs-github-bicep-complete.yaml][example_powershell_inputs_github_bicep_complete]
- [inputs-local-bicep-complete.yaml][example_powershell_inputs_local_bicep_complete]

[//]: # (************************)
[//]: # (INSERT LINK LABELS BELOW)
[//]: # (************************)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,9 @@
<!-- markdownlint-disable first-line-h1 -->
The `complete_multi_region` starter module provides full customization of the Azure Landing Zone using the `config.yaml` file. The `config.yaml` file provides the ability to enable and disable modules, configure module inputs and outputs, and configure module resources. It is multi-regional by default and can support 2 or more regions.
The `complete_multi_region` starter module provides full customization of the Azure Landing Zone using a YAML or JSON configuration file. The configuration file provides the ability to enable and disable modules, configure module inputs and outputs, and configure module resources. It is multi-regional by default and can support 1 or more regions.

A custom config file can be passed to the `configuration_file_path` argument of the ALZ PowerShell Module. This allows you to firstly design your Azure Landing Zone, and then deploy it. The config file can be in `yaml` or `json` format, our examples are all `yaml`.
A custom config file can be passed to the `configuration_file_path` argument of the ALZ PowerShell Module. This allows you to firstly design your Azure Landing Zone, and then deploy it. The config file can be in YAML or JSON format, our examples are all YAML.

If not specified, the default `config-hub-and-spoke-vnet.yaml` file will be used, which can be seen [here](https://github.com/Azure/alz-terraform-accelerator/blob/main/templates/complete_multi_region/config-hub-and-spoke-vnet.yaml).

Example input files can be found here:

- [inputs-azure-devops-terraform-complete-multi-region.yaml][example_powershell_inputs_azure_devops_terraform_complete_multi_region]
- [inputs-github-terraform-complete-multi-region.yaml][example_powershell_inputs_github_terraform_complete_multi_region]
- [inputs-local-terraform-complete-multi-region.yaml][example_powershell_inputs_local_terraform_complete_multi_region]
If not specified, the default `config-hub-and-spoke-vnet-multi-region.yaml` file will be used, which can be seen [here][example_starter_module_complete_config_hub_spoke_multi_region].

The following table describes the inputs required for the `complete_multi_region` starter module.

Expand All @@ -18,18 +12,24 @@ The following table describes the inputs required for the `complete_multi_region
| `configuration_file_path` | `<configuration-file-path>` | This is the absolute path to the configuration file. E.g. `c:\my-config\config.yaml` or `~/my-config/config.yaml`. For YAML on Windows you will need to escape the `\`, i.e. `c:\\my-config\\config.yaml`. |
| `default_postfix` | `<postfix>` | This is the default postfix used for resource names. |

You can create a custom yaml config to tailor to your needs, for example an Azure Landing Zone with a three-region mesh. Get started with our two region samples:
Example input files can be found here:

- Example config file for hub and spoke virtual network: [config-hub-and-spoke-vnet.yaml][example_starter_module_complete_config_hub_spoke_multi_region]
- Example config file for virtual WAN: [config-virtual-wan.yaml][example_starter_module_complete_config_vwan_multi_region]
- [inputs-azure-devops-terraform-complete-multi-region.yaml][example_powershell_inputs_azure_devops_terraform_complete_multi_region]
- [inputs-github-terraform-complete-multi-region.yaml][example_powershell_inputs_github_terraform_complete_multi_region]
- [inputs-local-terraform-complete-multi-region.yaml][example_powershell_inputs_local_terraform_complete_multi_region]

## Further details on the Complete Starter Module and config file
You can create a custom yaml config to tailor to your needs, for example an Azure Landing Zone with a three-region mesh. Get started with our samples:

The example config files have helpful templated variables such as `starter_location_##` and `root_parent_management_group_id` which get prompted for during the ALZ PowerShell Module run. Alternatively, you can opt to not use the templated variables and hard-code the values in your config file.
- Multi region hub and spoke virtual network: [config-hub-and-spoke-vnet.yaml][example_starter_module_complete_config_hub_spoke_multi_region]
- Multi region virtual WAN: [config-virtual-wan.yaml][example_starter_module_complete_config_vwan_multi_region]
- Single region hub and spoke virtual network: [config-hub-and-spoke-vnet-single-region.yaml][example_starter_module_complete_config_hub_spoke_single_region]
- Single region virtual WAN: [config-virtual-wan-single-region.yaml][example_starter_module_complete_config_vwan_single_region]

## Further details on the Complete Multi Region Starter Module and config file

> **Note:** We recommend that you use the `caf-enterprise-scale` module for management groups and policies, and the `hubnetworking` module for connectivity resources. However, connectivity resources can be deployed using the `caf-enterprise-scale` module if you desire.
The example config files have helpful templated variables such as `starter_location_##` and `root_parent_management_group_id` which get prompted for during the ALZ PowerShell Module run. Alternatively, you can opt to not use the templated variables and hard-code the values in your config file.

The schema for the `config.yaml` is documented here - [Configuration YAML Schema][wiki_yaml_schema_reference].
> **Note:** We use the `caf-enterprise-scale` module for management groups and policies, and the Azure Verified Modules for connectivity resources.
### High Level Design

Expand Down Expand Up @@ -64,9 +64,10 @@ The `avm-ptn-network-private-link-private-dns-zones` module is used to deploy Pr
[//]: # (INSERT LINK LABELS BELOW)
[//]: # (************************)

[wiki_yaml_schema_reference]: %5BUser-Guide%5D-YAML-Schema-Reference "Wiki - YAML Schema Reference"
[example_starter_module_complete_config_hub_spoke_multi_region]: examples/starter-module-config/complete-multi-region/config-hub-and-spoke-vnet.yaml "Example - Starter Module Config - Complete - Hub and Spoke VNet Multi Region"
[example_starter_module_complete_config_vwan_multi_region]: examples/starter-module-config/complete-multi-region/config-virtual-wan.yaml "Example - Starter Module Config - Complete - Virtual WAN Multi Region"
[example_starter_module_complete_config_hub_spoke_single_region]: https://raw.githubusercontent.com/Azure/alz-terraform-accelerator/refs/heads/main/templates/complete_multi_region/config-hub-and-spoke-vnet-single-region.yaml "Example - Starter Module Config - Complete - Hub and Spoke VNet Single Region"
[example_starter_module_complete_config_vwan_single_region]: https://raw.githubusercontent.com/Azure/alz-terraform-accelerator/refs/heads/main/templates/complete_multi_region/config-virtual-wan-single-region.yaml "Example - Starter Module Config - Complete - Virtual WAN Single Region"
[example_starter_module_complete_config_hub_spoke_multi_region]: https://raw.githubusercontent.com/Azure/alz-terraform-accelerator/refs/heads/main/templates/complete_multi_region/config-hub-and-spoke-vnet-multi-region.yaml "Example - Starter Module Config - Complete - Hub and Spoke VNet Multi Region"
[example_starter_module_complete_config_vwan_multi_region]: https://raw.githubusercontent.com/Azure/alz-terraform-accelerator/refs/heads/main/templates/complete_multi_region/config-virtual-wan-multi-region.yaml "Example - Starter Module Config - Complete - Virtual WAN Multi Region"
[example_powershell_inputs_azure_devops_terraform_complete_multi_region]: examples/powershell-inputs/inputs-azure-devops-terraform-complete-multi-region.yaml "Example - PowerShell Inputs - Azure DevOps - Terraform - Complete Multi Region"
[example_powershell_inputs_github_terraform_complete_multi_region]: examples/powershell-inputs/inputs-github-terraform-complete-multi-region.yaml "Example - PowerShell Inputs - GitHub - Terraform - Complete Multi Region"
[example_powershell_inputs_local_terraform_complete_multi_region]: examples/powershell-inputs/inputs-local-terraform-complete-multi-region.yaml "Example - PowerShell Inputs - Local - Terraform - Complete Multi Region"
15 changes: 10 additions & 5 deletions docs/wiki/_Sidebar.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,18 @@
- [Phase 3 - Run][wiki_quick_start_phase_3]
- [Starter Modules][wiki_starter_modules]
- [Bicep - Complete][wiki_starter_module_bicep_complete]
- [Terraform - Complete Multi Region][wiki_starter_module_terraform_complete_multi_region]
- [Example Multi Region Hub and Spoke config][example_starter_module_complete_config_hub_spoke_multi_region]
- [Example Multi Region Virtual WAN config][example_starter_module_complete_config_vwan_multi_region]
- [Example Single Region Hub and Spoke config][example_starter_module_complete_config_hub_spoke_single_region]
- [Example Single Region Virtual WAN config][example_starter_module_complete_config_vwan_single_region]
- [Terraform - Basic][wiki_starter_module_terraform_basic]
- [Terraform - Hub Networking][wiki_starter_module_terraform_hubnetworking]
- [Terraform - Complete][wiki_starter_module_terraform_complete]
- [Configuration YAML Schema][wiki_yaml_schema_reference]
- [Example Hub and Spoke config][example_starter_module_complete_config_hub_spoke]
- [Example Virtual WAN config][example_starter_module_complete_config_vwan]
- [Terraform - Complete Multi Region][wiki_starter_module_terraform_complete_multi_region]
- [Example Multi Region Hub and Spoke config][example_starter_module_complete_config_hub_spoke_multi_region]
- [Example Multi Region Virtual WAN config][example_starter_module_complete_config_vwan_multi_region]

- Input Files
- [Azure DevOps Bicep Complete][example_powershell_inputs_azure_devops_bicep_complete]
- [Azure DevOps Terraform Basic][example_powershell_inputs_azure_devops_terraform_basic]
Expand Down Expand Up @@ -99,5 +102,7 @@
[example_powershell_inputs_local_terraform_complete_multi_region]: examples/powershell-inputs/inputs-local-terraform-complete-multi-region.yaml "Example - PowerShell Inputs - Local - Terraform - Complete Multi Region"
[example_starter_module_complete_config_hub_spoke]: examples/starter-module-config/complete/config-hub-spoke.yaml "Example - Starter Module Config - Complete - Hub and Spoke"
[example_starter_module_complete_config_vwan]: examples/starter-module-config/complete/config-vwan.yaml "Example - Starter Module Config - Complete - Virtual WAN"
[example_starter_module_complete_config_hub_spoke_multi_region]: examples/starter-module-config/complete-multi-region/config-hub-and-spoke-vnet.yaml "Example - Starter Module Config - Complete - Hub and Spoke VNet Multi Region"
[example_starter_module_complete_config_vwan_multi_region]: examples/starter-module-config/complete-multi-region/config-virtual-wan.yaml "Example - Starter Module Config - Complete - Virtual WAN Multi Region"
[example_starter_module_complete_config_hub_spoke_single_region]: https://raw.githubusercontent.com/Azure/alz-terraform-accelerator/refs/heads/main/templates/complete_multi_region/config-hub-and-spoke-vnet-single-region.yaml "Example - Starter Module Config - Complete - Hub and Spoke VNet Single Region"
[example_starter_module_complete_config_vwan_single_region]: https://raw.githubusercontent.com/Azure/alz-terraform-accelerator/refs/heads/main/templates/complete_multi_region/config-virtual-wan-single-region.yaml "Example - Starter Module Config - Complete - Virtual WAN Single Region"
[example_starter_module_complete_config_hub_spoke_multi_region]: https://raw.githubusercontent.com/Azure/alz-terraform-accelerator/refs/heads/main/templates/complete_multi_region/config-hub-and-spoke-vnet-multi-region.yaml "Example - Starter Module Config - Complete - Hub and Spoke VNet Multi Region"
[example_starter_module_complete_config_vwan_multi_region]: https://raw.githubusercontent.com/Azure/alz-terraform-accelerator/refs/heads/main/templates/complete_multi_region/config-virtual-wan-multi-region.yaml "Example - Starter Module Config - Complete - Virtual WAN Multi Region"
Loading

0 comments on commit 7f7a216

Please sign in to comment.