Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

March 2022 #334

Merged
merged 81 commits into from
Mar 15, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
81 commits
Select commit Hold shift + click to select a range
2b897cc
Add domain_name_registrations to local.remote.tf
hantonelli Jan 6, 2022
c760186
Add network profiles
LaurentLesle Jan 27, 2022
b6f9295
Add subscription_ids and vhub readme
LaurentLesle Jan 31, 2022
c5b8c1d
Update when condition to express route circuit
LaurentLesle Jan 31, 2022
ed0d07e
Update for loop
LaurentLesle Jan 31, 2022
66e9a30
Fix template lookup
LaurentLesle Jan 31, 2022
6e97588
Clean-up. Add IP address plan
LaurentLesle Jan 31, 2022
50770e4
template - add gitops branch
LaurentLesle Jan 31, 2022
c7a11a2
Add orion template application landingzone
LaurentLesle Jan 31, 2022
0dc17b7
Update orion landingzones
LaurentLesle Feb 3, 2022
30ad3a9
Add template ADDS
LaurentLesle Feb 4, 2022
4fa3a1c
Update template launchpad logged_in_user
LaurentLesle Feb 4, 2022
1107a2c
Add root_parent_id support
LaurentLesle Feb 4, 2022
cbeb705
Update template
LaurentLesle Feb 4, 2022
6fa7160
Update global tags
LaurentLesle Feb 4, 2022
6cfbd1e
Update vhub peering and ddos
LaurentLesle Feb 4, 2022
de00617
Template add - subscription ids
LaurentLesle Feb 5, 2022
57cac28
Update templates for rover ignite
LaurentLesle Feb 7, 2022
5df24a3
Update templates
LaurentLesle Feb 8, 2022
d2d70fe
Update ESLZ templates for logged_in_users
LaurentLesle Feb 8, 2022
6daf05d
Udpate eslz template
LaurentLesle Feb 8, 2022
300e431
Update
LaurentLesle Feb 8, 2022
8c770b0
Update templates
arnaudlh Feb 8, 2022
336de66
Update templates
LaurentLesle Feb 8, 2022
d921d09
Update path
LaurentLesle Feb 8, 2022
4e0d6a1
Update template
LaurentLesle Feb 8, 2022
12db791
Add caf_platform_contributors in templates
LaurentLesle Feb 8, 2022
02b22e9
Update asvm
LaurentLesle Feb 8, 2022
6462c62
Patch role mapping
LaurentLesle Feb 8, 2022
ffc0e8e
Update reuse subscriptions
LaurentLesle Feb 8, 2022
27fe77e
Update asvm for logged_in_user
LaurentLesle Feb 8, 2022
dc09cd0
Update
LaurentLesle Feb 8, 2022
f951450
Update asvm templates
LaurentLesle Feb 9, 2022
8e02e52
Add templates
LaurentLesle Feb 10, 2022
321fcf0
Add alias to launchpad existing subscription
LaurentLesle Feb 11, 2022
21f4224
Update parent_root_id
LaurentLesle Feb 11, 2022
a21b7cb
Update README and precommit
arnaudlh Feb 11, 2022
e93289b
Update templates
LaurentLesle Feb 14, 2022
2efca24
Merge pull request #314 from LaurentLesle/aci_network
LaurentLesle Feb 14, 2022
a5b31ca
Fix type
LaurentLesle Feb 14, 2022
681ab2b
Merge pull request #315 from LaurentLesle/aci_network
LaurentLesle Feb 14, 2022
a1f522e
Update launchpad ansible
LaurentLesle Feb 14, 2022
1a2c973
Merge pull request #316 from LaurentLesle/aci_network
LaurentLesle Feb 14, 2022
bf7ca31
Update ASVM templates
LaurentLesle Feb 14, 2022
9771591
Merge pull request #317 from LaurentLesle/aci_network
LaurentLesle Feb 14, 2022
bead800
Update asvm
LaurentLesle Feb 14, 2022
db615cc
Merge pull request #318 from LaurentLesle/aci_network
LaurentLesle Feb 14, 2022
3e1301c
Add support for single subscription deployment
LaurentLesle Feb 16, 2022
23503b3
Add orion landingzone template
LaurentLesle Feb 16, 2022
33954f2
Merge pull request #319 from LaurentLesle/aci_network
arnaudlh Feb 16, 2022
c460312
Update subscription_name
arnaudlh Feb 16, 2022
d81ff2c
Udpate orion
LaurentLesle Feb 16, 2022
993d361
Udpate tags
LaurentLesle Feb 16, 2022
ad8e6e9
Add <replace>
LaurentLesle Feb 16, 2022
f291a7d
Merge pull request #320 from LaurentLesle/aci_network
arnaudlh Feb 16, 2022
d354195
Fix missing asvm permissions in template in single sub
LaurentLesle Feb 16, 2022
2fd3d1d
Merge pull request #321 from LaurentLesle/aci_network
arnaudlh Feb 16, 2022
43e09b5
Patch asvm jinja template
LaurentLesle Feb 16, 2022
864b800
Merge pull request #322 from LaurentLesle/aci_network
LaurentLesle Feb 16, 2022
85c7429
Update module to 5.5.3
arnaudlh Feb 23, 2022
833d451
Update to rover feb 2022
arnaudlh Feb 25, 2022
4efffaa
Update template generator for feb release
LaurentLesle Feb 28, 2022
3952852
Update initial conditions
LaurentLesle Feb 28, 2022
c6fc997
Update initial conditions for readme
LaurentLesle Feb 28, 2022
ed96ae3
Stabilisation
LaurentLesle Feb 28, 2022
bfeea5e
Updates
LaurentLesle Mar 1, 2022
f122e39
Fix secure firewall
LaurentLesle Mar 1, 2022
5e9134e
Added missing argument: "virtual_machine_os_type" in vm_extensions.tf
Mar 9, 2022
e5a7640
Merge pull request #296 from hantonelli/patch-1
arnaudlh Mar 9, 2022
29e704c
Adding #286
arnaudlh Mar 9, 2022
f1a35b4
Udpating to 5.5.4
arnaudlh Mar 9, 2022
cbbf094
Update with multi-region support
LaurentLesle Mar 12, 2022
0192199
Update asvm template generator
LaurentLesle Mar 14, 2022
bab0e0b
update orion
LaurentLesle Mar 14, 2022
a4159c7
Update landingzone tag
LaurentLesle Mar 14, 2022
98437b7
Merge branch 'int.2202' of https://github.com/LaurentLesle/caf-terraf…
arnaudlh Mar 14, 2022
1efe835
Update readme
arnaudlh Mar 14, 2022
e7f1a8b
Merge branch 'LaurentLesle-int.2202' into aci_network
arnaudlh Mar 14, 2022
0fc005e
Merge pull request #329 from chengwang514/aci_network
arnaudlh Mar 14, 2022
b299cdb
Merge branch 'main' into aci_network
arnaudlh Mar 14, 2022
37bf0d4
Update README.md
LaurentLesle Mar 15, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .devcontainer/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
version: '3.7'
services:
rover:
image: aztfmod/rover:1.1.3-2201.2106
image: aztfmod/rover:1.1.6-2202.2503
user: vscode

labels:
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/landingzones-tf100.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ jobs:
random_length: ['5']

container:
image: aztfmod/rover:1.1.3-2201.2106
image: aztfmod/rover:1.1.6-2202.2503
options: --user 0

steps:
Expand Down Expand Up @@ -92,7 +92,7 @@ jobs:
]

container:
image: aztfmod/rover:1.1.3-2201.2106
image: aztfmod/rover:1.1.6-2202.2503
options: --user 0

steps:
Expand Down Expand Up @@ -135,7 +135,7 @@ jobs:
random_length: ['5']

container:
image: aztfmod/rover:1.1.3-2201.2106
image: aztfmod/rover:1.1.6-2202.2503
options: --user 0

steps:
Expand Down Expand Up @@ -186,7 +186,7 @@ jobs:
]

container:
image: aztfmod/rover:1.1.3-2201.2106
image: aztfmod/rover:1.1.6-2202.2503
options: --user 0

steps:
Expand Down Expand Up @@ -228,7 +228,7 @@ jobs:
random_length: ['5']

container:
image: aztfmod/rover:1.1.3-2201.2106
image: aztfmod/rover:1.1.6-2202.2503
options: --user 0

steps:
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/landingzones-tf15.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
random_length: ['5']

container:
image: aztfmod/rover:0.15.5-2201.2106
image: aztfmod/rover:0.15.5-2202.2503
options: --user 0

steps:
Expand Down Expand Up @@ -86,7 +86,7 @@ jobs:
]

container:
image: aztfmod/rover:0.15.5-2201.2106
image: aztfmod/rover:0.15.5-2202.2503
options: --user 0

steps:
Expand Down Expand Up @@ -129,7 +129,7 @@ jobs:
random_length: ['5']

container:
image: aztfmod/rover:0.15.5-2201.2106
image: aztfmod/rover:0.15.5-2202.2503
options: --user 0

steps:
Expand Down Expand Up @@ -180,7 +180,7 @@ jobs:
]

container:
image: aztfmod/rover:0.15.5-2201.2106
image: aztfmod/rover:0.15.5-2202.2503
options: --user 0

steps:
Expand Down Expand Up @@ -222,7 +222,7 @@ jobs:
random_length: ['5']

container:
image: aztfmod/rover:0.15.5-2201.2106
image: aztfmod/rover:0.15.5-2202.2503
options: --user 0

steps:
Expand Down
9 changes: 7 additions & 2 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# See http://pre-commit.com/hooks.html for more hooks
repos:
- repo: git://github.com/antonbabenko/pre-commit-terraform
rev: v1.62.3
rev: v1.64.0
hooks:
- id: terraform_fmt
- id: terraform_docs
Expand All @@ -14,8 +14,13 @@ repos:
hooks:
- id: check-merge-conflict
- id: trailing-whitespace
# - id: check-yaml
# - id: check-yaml
- id: detect-private-key
- id: check-added-large-files
# - repo: git://github.com/ansible-community/ansible-lint
# rev: v5.3.2
# hooks:
# - id: ansible-lint
# - repo: git://github.com/markdownlint/markdownlint
# rev: v0.9.0
# hooks:
Expand Down
42 changes: 13 additions & 29 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,46 +6,30 @@

Microsoft [Cloud Adoption Framework for Azure](https://docs.microsoft.com/azure/cloud-adoption-framework/overview) provides you with guidance and best practices to adopt Azure.

A landing zone is a segment of a cloud environment, that has been pre-provisioned through code, and is dedicated to the support of one or more workloads. Landing zones provide access to foundational tools and controls to establish a compliant place to innovate and build new workloads in the cloud, or to migrate existing workloads to the cloud. Landing zones use defined sets of cloud services and best practices to set you up for success.
CAF Terraform landing zones team mission statement is to:

We leverage Azure enterprise-scale landing zones and propose a Terraform-native structure, set of mechanisms and artifacts to get started to deploy workloads fast.

You can review the different components parts of the Cloud Adoption Framework for Azure Terraform landing zones and look at the quick intro :vhs: below:

[![caf_elements](./_pictures/caf_elements.png)](https://www.youtube.com/watch?v=FlQ17u4NNts "CAF Introduction")

## Goals

Cloud Adoption Framework for Azure Terraform landing zones is an open-source project equipping the Site Reliability Engineers on Azure with:

* Reusable community artifacts.
* Standardize deployments using battlefield-proven components.
* Accelerate the setup of complex environments on Azure.
* Equip the Site Reliability Engineering teams for Terraform on Azure.
* Democratize an IaC: Infrastructure-as-Configuration.
* Commoditize state management and enterprise-wide composition.
* Standardize deployments using Azure enterprise-scale landing zones.
* Implement Azure enterprise-scale design and approach with native Terraform and DevOps.
* Propose a prescriptive guidance on how to enable DevOps for infrastructure as code on Microsoft Azure.
* Develop configuration-based "infrastructure-as-data" as a democratization of "infrastructure-as-code".
* Foster a community of Azure *Terraformers* using a common set of practices and sharing best practices.

## :rocket: Getting started

When starting an enterprise deployment, we recommend you start creating a configuration repository where you craft the configuration files for your environments.
You can review the different components parts of the Cloud Adoption Framework for Azure Terraform landing zones and look at the quick intro video below:

The best way to start is to clone the [starter repository](https://github.com/Azure/caf-terraform-landingzones-starter) and getting started with the configuration files, you can find a quick [onboarding video here](https://www.youtube.com/watch?v=M5BXm30IpdY)
[![caf_elements](./_pictures/caf_elements.png)](https://www.youtube.com/watch?v=FlQ17u4NNts "CAF Introduction")

## :books: Documentation

You can refer to our new integrated documentation: [GitHub Pages documentation](https://aztfmod.github.io/documentation)
## :rocket: Getting started

## Repositories
When starting an enterprise deployment, we recommend you start creating a configuration repository where you craft the configuration files for your environments.

In CAF Terraform landing zones, we use multiple projects in a modular way so you can leverage all of them or some of them depending on where you are in your DevOps and GitOps journey. The main repositories are listed below, feel free to evaluate, use them and contribute to them also!
The best way to start is to clone the [platform starter repository](https://github.com/Azure/caf-terraform-landingzones-platform-starter) and getting started with the configuration files.

| Repo | Description |
|---------------------------------------------------------------------------------------------------|------------------------------------------------------------|
| [starter kit](https://github.com/azure/caf-terraform-landingzones-starter) | landing zones configuration repository |
| [caf-terraform-landingzones](https://github.com/azure/caf-terraform-landingzones) (You are here!) | landing zones repo with sample and core documentations |
| [rover](https://github.com/aztfmod/rover) | devops toolset for operating landing zones |
| [azure_caf_provider](https://github.com/aztfmod/terraform-provider-azurecaf) | custom provider for naming conventions |
| [module](https://github.com/aztfmod/terraform-azurerm-caf) | CAF universal module available in the Terraform registry |
If you are reading this, you are probably interested also in reading the doc as below:
:books: Read our [centralized documentation page](https://aka.ms/caf/terraform)

## Community

Expand Down
4 changes: 2 additions & 2 deletions caf_launchpad/dynamic_secrets.tf
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@

module "dynamic_keyvault_secrets" {
source = "aztfmod/caf/azurerm//modules/security/dynamic_keyvault_secrets"
version = "5.5.1"
version = "5.5.4"

#source = "git::https://github.com/aztfmod/terraform-azurerm-caf.git//modules/security/dynamic_keyvault_secrets?ref=master"
# source = "git::https://github.com/aztfmod/terraform-azurerm-caf.git//modules/security/dynamic_keyvault_secrets?ref=patch.5.5.4"

for_each = try(var.dynamic_keyvault_secrets, {})

Expand Down
11 changes: 6 additions & 5 deletions caf_launchpad/landingzone.tf
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
module "launchpad" {
source = "aztfmod/caf/azurerm"
version = "5.5.1"
version = "5.5.4"


# source = "git::https://github.com/aztfmod/terraform-azurerm-caf.git?ref=master"
# during dev cycles for the module, you can pick dev branches from GitHub, or from a local fork
# source = "git::https://github.com/aztfmod/terraform-azurerm-caf.git?ref=patch.5.5.4"
# source = "../../aztfmod"

providers = {
Expand Down Expand Up @@ -59,11 +59,12 @@ module "launchpad" {
}

networking = {
vnets = try(var.networking.vnets, var.vnets)
azurerm_routes = try(var.networking.azurerm_routes, var.azurerm_routes)
network_profiles = var.network_profiles
network_security_group_definition = try(var.networking.network_security_group_definition, var.network_security_group_definition)
public_ip_addresses = try(var.networking.public_ip_addresses, var.public_ip_addresses)
azurerm_routes = try(var.networking.azurerm_routes, var.azurerm_routes)
route_tables = try(var.networking.route_tables, var.route_tables)
vnets = try(var.networking.vnets, var.vnets)
}

security = {
Expand Down
4 changes: 4 additions & 0 deletions caf_launchpad/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -239,4 +239,8 @@ variable "propagate_launchpad_identities" {

variable "container_groups" {
default = {}
}

variable "network_profiles" {
default = {}
}
6 changes: 3 additions & 3 deletions caf_solution/add-ons/caf_eslz/enterprise_scale.tf
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,17 @@

module "enterprise_scale" {
source = "Azure/caf-enterprise-scale/azurerm"
version = "1.1.1"
version = "1.1.3"

# source = "../../../../eslz"
# source = "/tf/caf/alz"

providers = {
azurerm = azurerm
azurerm.connectivity = azurerm
azurerm.management = azurerm
}

root_parent_id = data.azurerm_client_config.current.tenant_id
root_parent_id = var.root_parent_id == null ? data.azurerm_client_config.current.tenant_id : var.root_parent_id
default_location = local.global_settings.regions[local.global_settings.default_region]

#path to the policies definition and assignment repo
Expand Down
8 changes: 7 additions & 1 deletion caf_solution/add-ons/caf_eslz/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,12 @@ variable "root_name" {
}
}

variable "root_parent_id" {
type = string
description = "If specified, will deploy the Enterprise scale bellow the root_parent_id."
default = null
}

variable "deploy_core_landing_zones" {
type = bool
description = "If set to true, will include the core Enterprise-scale Management Group hierarchy."
Expand Down Expand Up @@ -233,4 +239,4 @@ variable "reconcile_vending_subscriptions" {
type = bool
default = false
description = "Will reconcile the subrisciptions created outside of enterprise scale to prevent them to be revoved by the execution of this module."
}
}
4 changes: 2 additions & 2 deletions caf_solution/dynamic_secrets.tf
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
module "dynamic_keyvault_secrets" {
source = "aztfmod/caf/azurerm//modules/security/dynamic_keyvault_secrets"
version = "5.5.1"
version = "5.5.4"

#source = "git::https://github.com/aztfmod/terraform-azurerm-caf.git//modules/security/dynamic_keyvault_secrets?ref=master"
# source = "git::https://github.com/aztfmod/terraform-azurerm-caf.git//modules/security/dynamic_keyvault_secrets?ref=patch.5.5.4"

for_each = {
for keyvault_key, secrets in try(var.dynamic_keyvault_secrets, {}) : keyvault_key => {
Expand Down
5 changes: 3 additions & 2 deletions caf_solution/landingzone.tf
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
module "solution" {
source = "aztfmod/caf/azurerm"
version = "5.5.1"
version = "5.5.4"

# source = "git::https://github.com/aztfmod/terraform-azurerm-caf.git?ref=master"
# during dev cycles for the module, you can pick dev branches from GitHub, or from a local fork
# source = "git::https://github.com/aztfmod/terraform-azurerm-caf.git?ref=patch.5.5.4"
# source = "../../aztfmod"

providers = {
Expand Down
1 change: 1 addition & 0 deletions caf_solution/local.database.tf
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ locals {
mysql_databases = var.mysql_databases
mysql_servers = var.mysql_servers
postgresql_servers = var.postgresql_servers
postgresql_flexible_servers = var.postgresql_flexible_servers
synapse_workspaces = var.synapse_workspaces
}
)
Expand Down
9 changes: 5 additions & 4 deletions caf_solution/local.networking.tf
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ locals {
networking = merge(
var.networking,
{
application_gateway_platforms = var.application_gateway_platforms
application_gateway_applications_v1 = var.application_gateway_applications_v1
application_gateway_applications = var.application_gateway_applications
application_gateway_applications_v1 = var.application_gateway_applications_v1
application_gateway_platforms = var.application_gateway_platforms
application_gateway_waf_policies = var.application_gateway_waf_policies
application_gateways = var.application_gateways
application_security_groups = var.application_security_groups
Expand All @@ -15,8 +15,8 @@ locals {
azurerm_firewall_policy_rule_collection_groups = var.azurerm_firewall_policy_rule_collection_groups
azurerm_firewalls = var.azurerm_firewalls
azurerm_routes = var.azurerm_routes
cdn_profiles = var.cdn_profiles
cdn_endpoints = var.cdn_endpoints
cdn_profiles = var.cdn_profiles
ddos_services = var.ddos_services
dns_zone_records = var.dns_zone_records
dns_zones = var.dns_zones
Expand Down Expand Up @@ -46,10 +46,11 @@ locals {
virtual_hubs = var.virtual_hubs
virtual_network_gateway_connections = var.virtual_network_gateway_connections
virtual_network_gateways = var.virtual_network_gateways
virtual_subnets = var.virtual_subnets
virtual_wans = var.virtual_wans
vnet_peerings = var.vnet_peerings
vnets = var.vnets
virtual_subnets = var.virtual_subnets
vpn_gateway_connections = var.vpn_gateway_connections
vpn_sites = var.vpn_sites
}
)
Expand Down
3 changes: 3 additions & 0 deletions caf_solution/local.remote.tf
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,9 @@ locals {
dns_zones = {
for key, value in try(var.landingzone.tfstates, {}) : key => merge(try(data.terraform_remote_state.remote[key].outputs.objects[key].dns_zones, {}))
}
domain_name_registrations = {
for key, value in try(var.landingzone.tfstates, {}) : key => merge(try(data.terraform_remote_state.remote[key].outputs.objects[key].domain_name_registrations, {}))
}
event_hub_namespaces = {
for key, value in try(var.landingzone.tfstates, {}) : key => merge(try(data.terraform_remote_state.remote[key].outputs.objects[key].event_hub_namespaces, {}))
}
Expand Down
3 changes: 3 additions & 0 deletions caf_solution/variables.database.tf
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,9 @@ variable "mysql_databases" {
variable "mysql_servers" {
default = {}
}
variable "postgresql_flexible_servers" {
default = {}
}
variable "postgresql_servers" {
default = {}
}
Expand Down