:trello: Trello Tickets
Arising from this request , with previous engagements under our belt and it seems like ALOT of interested parties, we have an opportunity to pull all the information that is in the business together and transform the current silent disco of repositories into some kind of huge banging rave….. of code…. I would like to invite cross-practice anyone that’s interested to show their interest by adding their names to the confluence document - and if there is as much interest as I hope, we can get a call on, choose our weapons and do battle……
I’d like to offer the platform to anyone who can help make this a fun battle to the death… I mean discussion |
Description
- Summarise the code
- Summarise delivery mechanisms
- Highlight Success/Failures
As a:* Azure Senior/Principle Consultant
I want:* to understand what collateral/artifacts we already have in Contino Github repositories from landing zone perspective.
So that:* We can clearly map/present what we have presently, in order to provide recommendations on how to optimise and improve future Azure LZ Deployments.
Context
- Collate project engagement docs
- Collate design documents
What existing collateral do we have in Contino in relation to Azure LZ design and deployments. Do we have any re-usable code that we have used as part of customer engagements as there is a plan to create our own Contino bespoke Azure LZ that can be deployed and consumed in Contino customer environments which are usually in highly regulated and governed areas.
Constraints
- Opportunity for Engineers to bring together disparate offerings into an important set of pre-sales, technical and delivery components
Collateral may existing in various repositories making it harder to understand what code/collateral we have today.
This may involve reaching out to numerous stakeholders within Contino.
Knowledge/notes of this deployment may also reside in various areas causing disconnect, whereby we really need to centralise knowledge as we did for AMI/Container bakery design. For example: Contino bakery mini squad
Acceptance Criteria
- Map the various implementation components and interdependencies
- Align code into maybe pluggable modules
- Product-ise the elements as a well reviewed, tested and consistent set of complimentary elements
- leverage the multiple technologies used to provide amore dynamic solution
Visualise where we currently have collateral/artifacts from an Azure Landing Zone perspective in Contino, be it a mind-map, Miro board, etc - so this can aid other Contini’s going on a similar discovery journey.
Ideally test and deploy the existing collateral to see if the code is viable for future development or not.
Offer your own recommendations and improvements as part of a future work-stream to develop a Contino Azure Landing Zone which will act as a core design and deployment framework to be consumed in future/existing customers. This will also aid/support our sales teams to market this collateral.
├── azure-caf-bicep-landingzone
│ ├── CONTRIBUTING.md
│ ├── README.md
│ ├── collections
│ │ ├── governance
│ │ │ └── main.bicep
│ │ ├── hub_core
│ │ │ └── main.bicep
│ │ ├── logging_core
│ │ │ └── main.bicep
│ │ ├── mgmt_env
│ │ │ ├── README.md
│ │ │ └── main.bicep
│ │ ├── mgmt_root
│ │ │ └── main.bicep
│ │ └── spoke_core
│ │ └── main.bicep
│ ├── modules
│ │ ├── aks
│ │ │ └── aks.bicep
│ │ ├── firewall
│ │ │ └── firewall.bicep
│ │ ├── firewall_aks_egress
│ │ │ └── main.bicep
│ │ ├── keyvault
│ │ │ └── keyvault.bicep
│ │ ├── management_group
│ │ │ └── management_group.bicep
│ │ ├── network_watcher
│ │ │ └── network_watcher.bicep
│ │ ├── nsg
│ │ │ └── nsg.bicep
│ │ ├── peering
│ │ │ ├── hub_to_spoke.bicep
│ │ │ └── spoke_to_hub.bicep
│ │ ├── policies
│ │ │ ├── assigments
│ │ │ │ └── policy_assignment.bicep
│ │ │ ├── definitions
│ │ │ │ ├── resources
│ │ │ │ │ ├── allowed-resources-location.bicep
│ │ │ │ │ └── deny-resources-without-tags.bicep
│ │ │ │ └── storageaccount
│ │ │ │ ├── allow-https.bicep
│ │ │ │ └── enable-geo-redundant-storage.bicep
│ │ │ └── initiatives
│ │ │ ├── resources
│ │ │ │ └── resources_policy_initiative.bicep
│ │ │ └── storage
│ │ │ └── storage_policy_initiative.bicep
│ │ ├── route_table
│ │ │ └── route_table.bicep
│ │ ├── storage
│ │ │ └── storage.bicep
│ │ ├── vnet
│ │ │ └── vnet.bicep
│ │ └── workspace
│ │ └── workspace.bicep
│ ├── org
│ │ ├── caf_dev
│ │ │ ├── governance
│ │ │ │ └── main.bicep.parameters.json
│ │ │ ├── hub_core
│ │ │ │ └── main.bicep.parameters.json
│ │ │ ├── logging_core
│ │ │ │ └── main.bicep.parameters.json
│ │ │ ├── mgmt_env
│ │ │ │ └── main.bicep.parameters.json
│ │ │ └── spoke_core
│ │ │ └── main.bicep.parameters.json
│ │ └── caf_root
│ │ └── mgmt_root
│ │ └── main.bicep.parameters.json
│ └── pull_request_template.md
├── azure-caf-terraform-landingzone
│ ├── Makefile
│ ├── README.md
│ ├── bootstrap
│ │ ├── AccessManagemenForAzureResources.png
│ │ ├── Bootstrap-script-flow.png
│ │ ├── README.md
│ │ ├── bootstrap-dev.ps1
│ │ ├── bootstrap.ps1
│ │ ├── enable-blob-versioning.json
│ │ └── launchpad-subscription.json
│ ├── logo.svg
│ ├── modules
│ │ ├── active_directory
│ │ │ ├── adds
│ │ │ │ ├── README.md
│ │ │ │ ├── TEMPLATE.md
│ │ │ │ ├── backend.tf
│ │ │ │ ├── checkov_tests.md
│ │ │ │ ├── data.tf
│ │ │ │ ├── main.tf
│ │ │ │ ├── outputs.tf
│ │ │ │ ├── post_setup.ps1
│ │ │ │ ├── setup.ps1
│ │ │ │ └── variables.tf
│ │ │ └── adfs
│ │ │ ├── README.md
│ │ │ ├── TEMPLATE.md
│ │ │ ├── aadconnect.tf
│ │ │ ├── adfs.tf
│ │ │ ├── backend.tf
│ │ │ ├── checkov_tests.md
│ │ │ ├── data.tf
│ │ │ ├── main.tf
│ │ │ ├── outputs.tf
│ │ │ ├── setup.ps1
│ │ │ ├── setup_adfs_rules.ps1
│ │ │ ├── variables.tf
│ │ │ └── wap.tf
│ │ ├── azdo_agent_scaleset
│ │ │ ├── README.md
│ │ │ ├── TEMPLATE.md
│ │ │ ├── backend.tf
│ │ │ ├── data.tf
│ │ │ ├── main.tf
│ │ │ ├── variables.tf
│ │ │ └── versions.tf
│ │ ├── azdo_agent_windows
│ │ │ ├── README.md
│ │ │ ├── TEMPLATE.md
│ │ │ ├── backend.tf
│ │ │ ├── data.tf
│ │ │ ├── main.tf
│ │ │ ├── scripts
│ │ │ │ └── install_waagent.ps1
│ │ │ ├── variables.tf
│ │ │ └── versions.tf
│ │ ├── azure_dns
│ │ │ ├── README.md
│ │ │ ├── TEMPLATE.md
│ │ │ ├── backend.tf
│ │ │ ├── data.tf
│ │ │ ├── main.tf
│ │ │ └── variables.tf
│ │ ├── azure_policy
│ │ │ ├── Makefile
│ │ │ ├── README.md
│ │ │ ├── TEMPLATE.md
│ │ │ ├── assignments_customer.tf
│ │ │ ├── assignments_hub.tf
│ │ │ ├── assignments_launchpad.tf
│ │ │ ├── assignments_logging.tf
│ │ │ ├── assignments_org.tf
│ │ │ ├── backend.tf
│ │ │ ├── checkov_tests.md
│ │ │ ├── data.tf
│ │ │ ├── definitions.tf
│ │ │ ├── img
│ │ │ │ ├── effects.svg
│ │ │ │ ├── logo-social.png
│ │ │ │ ├── logo.svg
│ │ │ │ └── scopes.svg
│ │ │ ├── initiatives.tf
│ │ │ ├── modules
│ │ │ │ ├── cis_benchmark
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── TEMPLATE.md
│ │ │ │ │ ├── cis_benchmark.tf
│ │ │ │ │ ├── data.tf
│ │ │ │ │ ├── outputs.tf
│ │ │ │ │ ├── parameters.json
│ │ │ │ │ └── variables.tf
│ │ │ │ ├── def_assignment
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── TEMPLATE.md
│ │ │ │ │ ├── main.tf
│ │ │ │ │ ├── outputs.tf
│ │ │ │ │ └── variables.tf
│ │ │ │ ├── definition
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── TEMPLATE.md
│ │ │ │ │ ├── data.tf
│ │ │ │ │ ├── main.tf
│ │ │ │ │ ├── outputs.tf
│ │ │ │ │ └── variables.tf
│ │ │ │ ├── initiative
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── TEMPLATE.md
│ │ │ │ │ ├── data.tf
│ │ │ │ │ ├── main.tf
│ │ │ │ │ ├── outputs.tf
│ │ │ │ │ └── variables.tf
│ │ │ │ └── set_assignment
│ │ │ │ ├── README.md
│ │ │ │ ├── TEMPLATE.md
│ │ │ │ ├── main.tf
│ │ │ │ ├── outputs.tf
│ │ │ │ └── variables.tf
│ │ │ ├── outputs.tf
│ │ │ ├── policies
│ │ │ │ ├── Compute
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── deploy_linux_lad_vm_agent
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── example-lad-config.json
│ │ │ │ │ │ ├── parameters.json
│ │ │ │ │ │ └── rules.json
│ │ │ │ │ ├── deploy_linux_lad_vmss_agent
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── example-lad-config.json
│ │ │ │ │ │ ├── parameters.json
│ │ │ │ │ │ └── rules.json
│ │ │ │ │ ├── deploy_linux_log_analytics_vm_agent
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── parameters.json
│ │ │ │ │ │ └── rules.json
│ │ │ │ │ ├── deploy_linux_log_analytics_vmss_agent
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── parameters.json
│ │ │ │ │ │ └── rules.json
│ │ │ │ │ ├── deploy_windows_log_analytics_vm_agent
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── parameters.json
│ │ │ │ │ │ └── rules.json
│ │ │ │ │ ├── deploy_windows_log_analytics_vmss_agent
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── parameters.json
│ │ │ │ │ │ └── rules.json
│ │ │ │ │ ├── deploy_windows_wad_vm_agent
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── parameters.json
│ │ │ │ │ │ └── rules.json
│ │ │ │ │ ├── deploy_windows_wad_vmss_agent
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── parameters.json
│ │ │ │ │ │ └── rules.json
│ │ │ │ │ ├── preview_deploy_linux_azure_monitor_vm_agent
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── parameters.json
│ │ │ │ │ │ └── rules.json
│ │ │ │ │ └── preview_deploy_windows_azure_monitor_vm_agent
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── parameters.json
│ │ │ │ │ └── rules.json
│ │ │ │ ├── General
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── whitelist_regions
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── parameters.json
│ │ │ │ │ │ └── rules.json
│ │ │ │ │ └── whitelist_resources
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── parameters.json
│ │ │ │ │ └── rules.json
│ │ │ │ ├── Key Vault
│ │ │ │ │ ├── README.md
│ │ │ │ │ └── keyvault_audit_diagnostic_log
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── parameters.json
│ │ │ │ │ └── rules.json
│ │ │ │ ├── Monitoring
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── audit_log_analytics_workspace_retention
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── parameters.json
│ │ │ │ │ │ └── rules.json
│ │ │ │ │ ├── audit_subscription_diagnostic_setting_should_exist
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── parameters.json
│ │ │ │ │ │ └── rules.json
│ │ │ │ │ ├── deploy_application_gateway_diagnostic_setting
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── parameters.json
│ │ │ │ │ │ └── rules.json
│ │ │ │ │ ├── deploy_eventhub_diagnostic_setting
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── parameters.json
│ │ │ │ │ │ └── rules.json
│ │ │ │ │ ├── deploy_expressroute_connection_diagnostic_setting
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── parameters.json
│ │ │ │ │ │ └── rules.json
│ │ │ │ │ ├── deploy_expressroute_diagnostic_setting
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── parameters.json
│ │ │ │ │ │ └── rules.json
│ │ │ │ │ ├── deploy_firewall_diagnostic_setting
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── parameters.json
│ │ │ │ │ │ └── rules.json
│ │ │ │ │ ├── deploy_keyvault_diagnostic_setting
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── parameters.json
│ │ │ │ │ │ └── rules.json
│ │ │ │ │ ├── deploy_loadbalancer_diagnostic_setting
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── parameters.json
│ │ │ │ │ │ └── rules.json
│ │ │ │ │ ├── deploy_network_interface_diagnostic_setting
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── parameters.json
│ │ │ │ │ │ └── rules.json
│ │ │ │ │ ├── deploy_network_security_group_diagnostic_setting
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── parameters.json
│ │ │ │ │ │ └── rules.json
│ │ │ │ │ ├── deploy_public_ip_diagnostic_setting
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── parameters.json
│ │ │ │ │ │ └── rules.json
│ │ │ │ │ ├── deploy_storage_account_diagnostic_setting
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── parameters.json
│ │ │ │ │ │ └── rules.json
│ │ │ │ │ ├── deploy_subscription_diagnostic_setting
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── parameters.json
│ │ │ │ │ │ └── rules.json
│ │ │ │ │ ├── deploy_virtual_machine_diagnostic_setting
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── parameters.json
│ │ │ │ │ │ └── rules.json
│ │ │ │ │ ├── deploy_vnet_diagnostic_setting
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── parameters.json
│ │ │ │ │ │ └── rules.json
│ │ │ │ │ └── deploy_vnet_gateway_diagnostic_setting
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── parameters.json
│ │ │ │ │ └── rules.json
│ │ │ │ ├── Network
│ │ │ │ │ ├── create_nsg_rule_append
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── parameters.json
│ │ │ │ │ │ └── rules.json
│ │ │ │ │ ├── deny_nat_rules_firewalls
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── parameters.json
│ │ │ │ │ │ └── rules.json
│ │ │ │ │ ├── deny_nic_on_unapproved_vnet
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── parameters.json
│ │ │ │ │ │ └── rules.json
│ │ │ │ │ ├── deny_nic_public_ip
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── parameters.json
│ │ │ │ │ │ └── rules.json
│ │ │ │ │ ├── deny_nic_public_ip_on_specific_subnets
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── parameters.json
│ │ │ │ │ │ └── rules.json
│ │ │ │ │ ├── deny_nsg_outbound_allow_all
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── parameters.json
│ │ │ │ │ │ └── rules.json
│ │ │ │ │ ├── deny_nsgs_with_rules_with_source_inbound_any
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── parameters.json
│ │ │ │ │ │ └── rules.json
│ │ │ │ │ ├── deny_pip_if_not_associated_authorised_resource
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── parameters.json
│ │ │ │ │ │ └── rules.json
│ │ │ │ │ ├── deny_unapproved_udr
│ │ │ │ │ │ ├── parameters.json
│ │ │ │ │ │ └── rules.json
│ │ │ │ │ ├── deny_unapproved_udr_hop_type
│ │ │ │ │ │ ├── parameters.json
│ │ │ │ │ │ └── rules.json
│ │ │ │ │ ├── require_nsg_on_vnet
│ │ │ │ │ │ ├── parameters.json
│ │ │ │ │ │ └── rules.json
│ │ │ │ │ └── restrict_vnet_peering
│ │ │ │ │ ├── parameters.json
│ │ │ │ │ └── rules.json
│ │ │ │ ├── Regulatory Compliance
│ │ │ │ │ └── README.md
│ │ │ │ ├── Security Center
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── auto_enroll_subscriptions
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── parameters.json
│ │ │ │ │ │ └── rules.json
│ │ │ │ │ ├── auto_provision_log_analytics_agent_custom_workspace
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── parameters.json
│ │ │ │ │ │ └── rules.json
│ │ │ │ │ ├── auto_set_contact_details
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── parameters.json
│ │ │ │ │ │ └── rules.json
│ │ │ │ │ ├── enable_vulnerability_vm_assessments
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── parameters.json
│ │ │ │ │ │ └── rules.json
│ │ │ │ │ ├── export_asc_alerts_and_recommendations_to_eventhub
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── parameters.json
│ │ │ │ │ │ └── rules.json
│ │ │ │ │ └── export_asc_alerts_and_recommendations_to_log_analytics
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── parameters.json
│ │ │ │ │ └── rules.json
│ │ │ │ ├── Storage
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── storage_enforce_https
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── parameters.json
│ │ │ │ │ │ └── rules.json
│ │ │ │ │ └── storage_enforce_minimum_tls1_2
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── parameters.json
│ │ │ │ │ └── rules.json
│ │ │ │ └── Tags
│ │ │ │ ├── README.md
│ │ │ │ ├── add_replace_resource_group_tag_key_modify
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── parameters.json
│ │ │ │ │ └── rules.json
│ │ │ │ ├── inherit_resource_group_tags_append
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── parameters.json
│ │ │ │ │ └── rules.json
│ │ │ │ ├── inherit_resource_group_tags_modify
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── parameters.json
│ │ │ │ │ └── rules.json
│ │ │ │ └── require_resource_group_tags
│ │ │ │ ├── README.md
│ │ │ │ ├── parameters.json
│ │ │ │ └── rules.json
│ │ │ └── variables.tf
│ │ ├── azure_security_kit
│ │ │ ├── Azure Security Tool Kit.md
│ │ │ ├── README.md
│ │ │ ├── TEMPLATE.md
│ │ │ ├── security_sp
│ │ │ │ ├── auto.tf
│ │ │ │ ├── backend.tf
│ │ │ │ ├── data.tf
│ │ │ │ └── versions.tf
│ │ │ └── tf_post_sp
│ │ │ ├── azsk.tf
│ │ │ ├── backend.tf
│ │ │ ├── data.tf
│ │ │ ├── main.tf
│ │ │ ├── outputs.tf
│ │ │ ├── scripts
│ │ │ │ ├── Install-ContinuousAssurance.ps1
│ │ │ │ └── create-outputvars.ps1
│ │ │ ├── variables.tf
│ │ │ └── versions.tf
│ │ ├── caf_firewall
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── TEMPLATE.md
│ │ │ ├── main.tf
│ │ │ ├── module.tf
│ │ │ ├── output.tf
│ │ │ └── variables.tf
│ │ ├── caf_keyvault
│ │ │ ├── README.md
│ │ │ ├── TEMPLATE.md
│ │ │ ├── data.tf
│ │ │ ├── module.tf
│ │ │ ├── output.tf
│ │ │ ├── variables.tf
│ │ │ └── versions.tf
│ │ ├── caf_log_analytics
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── main.tf
│ │ │ ├── module.tf
│ │ │ ├── output.tf
│ │ │ ├── variables.tf
│ │ │ └── versions.tf
│ │ ├── caf_resource_group
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── module.tf
│ │ │ ├── output.tf
│ │ │ ├── variables.tf
│ │ │ └── versions.tf
│ │ ├── caf_virtual_networking
│ │ │ ├── README.md
│ │ │ ├── TEMPLATE.md
│ │ │ ├── asg
│ │ │ │ ├── module.tf
│ │ │ │ ├── output.tf
│ │ │ │ └── variables.tf
│ │ │ ├── module.tf
│ │ │ ├── nsg
│ │ │ │ ├── module.tf
│ │ │ │ ├── output.tf
│ │ │ │ └── variables.tf
│ │ │ ├── output.tf
│ │ │ ├── subnet
│ │ │ │ ├── output.tf
│ │ │ │ ├── subnet.tf
│ │ │ │ └── variables.tf
│ │ │ ├── traffic_analytics
│ │ │ │ ├── main.tf
│ │ │ │ ├── module.tf
│ │ │ │ ├── output.tf
│ │ │ │ └── variables.tf
│ │ │ └── variables.tf
│ │ ├── dns_forwarder_bind
│ │ │ ├── BindDns.md
│ │ │ ├── README.md
│ │ │ ├── TEMPLATE.md
│ │ │ ├── backend.tf
│ │ │ ├── bind_dns_primary.tf
│ │ │ ├── bind_dns_secondary.tf
│ │ │ ├── data.tf
│ │ │ ├── main.tf
│ │ │ ├── scripts
│ │ │ │ └── bind_install_config.sh
│ │ │ ├── variables.tf
│ │ │ └── versions.tf
│ │ ├── dns_forwarder_windows
│ │ │ ├── README.md
│ │ │ ├── TEMPLATE.md
│ │ │ ├── backend.tf
│ │ │ ├── checkov_tests.md
│ │ │ ├── data.tf
│ │ │ ├── module.tf
│ │ │ ├── outputs.tf
│ │ │ ├── setup_server.ps1
│ │ │ └── variables.tf
│ │ ├── firewall_rules
│ │ │ ├── README.md
│ │ │ ├── TEMPLATE.md
│ │ │ ├── application_rules.tf
│ │ │ ├── backend.tf
│ │ │ ├── main.tf
│ │ │ ├── network_rules.tf
│ │ │ └── variables.tf
│ │ ├── hub_core
│ │ │ ├── README.md
│ │ │ ├── TEMPLATE.md
│ │ │ ├── azure_firewall.tf
│ │ │ ├── backend.tf
│ │ │ ├── checkov_tests.md
│ │ │ ├── data.tf
│ │ │ ├── expressroute.tf
│ │ │ ├── main.tf
│ │ │ ├── output.tf
│ │ │ ├── private_endpoints
│ │ │ │ ├── backend.tf
│ │ │ │ ├── data.tf
│ │ │ │ ├── private_endpoints.tf
│ │ │ │ └── variables.tf
│ │ │ ├── route_tables.tf
│ │ │ ├── variables.tf
│ │ │ ├── virtual_networks.tf
│ │ │ └── vnet_peering.tf
│ │ ├── launchpad_core
│ │ │ ├── README.md
│ │ │ ├── TEMPLATE.md
│ │ │ ├── backend.tf
│ │ │ ├── checkov_tests.md
│ │ │ ├── data.tf
│ │ │ ├── launchpad.tf
│ │ │ ├── launchpad_customer
│ │ │ │ ├── README.md
│ │ │ │ ├── TEMPLATE.md
│ │ │ │ ├── backend.tf
│ │ │ │ ├── data.tf
│ │ │ │ ├── launchpad_customer.tf
│ │ │ │ ├── management_groups.tf
│ │ │ │ ├── role_assignments.tf
│ │ │ │ ├── service_principals.tf
│ │ │ │ ├── subscriptions.tf
│ │ │ │ └── variables.tf
│ │ │ ├── management_groups.tf
│ │ │ ├── role_assignments.tf
│ │ │ ├── service_principals.tf
│ │ │ ├── subscriptions.tf
│ │ │ └── variables.tf
│ │ ├── launchpad_resources
│ │ │ ├── README.md
│ │ │ ├── TEMPLATE.md
│ │ │ ├── data.tf
│ │ │ ├── module.tf
│ │ │ ├── output.tf
│ │ │ ├── variables.tf
│ │ │ └── versions.tf
│ │ ├── logging_core
│ │ │ ├── README.md
│ │ │ ├── TEMPLATE.md
│ │ │ ├── backend.tf
│ │ │ ├── checkov_tests.md
│ │ │ ├── data.tf
│ │ │ ├── logging_core.tf
│ │ │ ├── output.tf
│ │ │ └── variables.tf
│ │ ├── naming_standard
│ │ │ ├── README.md
│ │ │ ├── TEMPLATE.md
│ │ │ ├── checkov_tests.md
│ │ │ ├── output.tf
│ │ │ ├── variables.tf
│ │ │ └── versions.tf
│ │ ├── packer_images
│ │ │ ├── adds
│ │ │ │ ├── adds.pkr.hcl
│ │ │ │ └── variables.pkr.hcl
│ │ │ ├── adfs
│ │ │ │ ├── adfs.pkr.hcl
│ │ │ │ └── variables.pkr.hcl
│ │ │ ├── deploy
│ │ │ │ ├── adds.pkrvars.hcl
│ │ │ │ ├── adfs.pkrvars.hcl
│ │ │ │ └── wap.pkrvars.hcl
│ │ │ ├── np_variables.hcl
│ │ │ └── wap
│ │ │ ├── variables.pkr.hcl
│ │ │ └── wap.pkr.hcl
│ │ ├── shared_image_gallery
│ │ │ ├── README.md
│ │ │ ├── TEMPLATE.md
│ │ │ ├── backend.tf
│ │ │ ├── checkov_tests.md
│ │ │ ├── data.tf
│ │ │ ├── main.tf
│ │ │ └── variables.tf
│ │ ├── spoke_core
│ │ │ ├── README.md
│ │ │ ├── TEMPLATE.md
│ │ │ ├── backend.tf
│ │ │ ├── data.tf
│ │ │ ├── main.tf
│ │ │ ├── output.tf
│ │ │ ├── private_endpoints.tf
│ │ │ ├── recovery_services.tf
│ │ │ ├── route_tables.tf
│ │ │ ├── variables.tf
│ │ │ ├── virtual_network.tf
│ │ │ └── vnet_peering.tf
│ │ ├── subscription_vending
│ │ │ ├── README.md
│ │ │ ├── TEMPLATE.md
│ │ │ ├── subVend.tf
│ │ │ ├── templates
│ │ │ │ └── subvend.sh.tmpl
│ │ │ ├── variables.tf
│ │ │ └── versions.tf
│ │ ├── vmss_linux
│ │ │ ├── README.md
│ │ │ ├── TEMPLATE.md
│ │ │ ├── backend.tf
│ │ │ ├── data.tf
│ │ │ ├── main.tf
│ │ │ ├── variables.tf
│ │ │ └── vmss_autoscale.tf
│ │ └── vmss_windows
│ │ ├── README.md
│ │ ├── TEMPLATE.md
│ │ ├── backend.tf
│ │ ├── checkov_tests.md
│ │ ├── data.tf
│ │ ├── module.tf
│ │ ├── outputs.tf
│ │ └── variables.tf
│ ├── org
│ │ └── caf_dev
│ │ ├── customer_001
│ │ │ ├── adds
│ │ │ │ └── global_settings.tfvars
│ │ │ ├── adfs
│ │ │ │ └── global_settings.tfvars
│ │ │ ├── azure_dns
│ │ │ │ └── global_settings.tfvars
│ │ │ └── global_settings.tfvars
│ │ ├── hub
│ │ │ ├── azure_dns
│ │ │ │ └── global_settings.tfvars
│ │ │ ├── dns_forwarder
│ │ │ │ └── global_settings.tfvars
│ │ │ ├── firewall_rules
│ │ │ │ └── global_settings.tfvars
│ │ │ ├── global_settings.tfvars
│ │ │ ├── private_endpoints
│ │ │ │ └── global_settings.tfvars
│ │ │ └── shared_image_gallery
│ │ │ └── global_settings.tfvars
│ │ ├── launchpad
│ │ │ ├── global_settings.tfvars
│ │ │ └── launchpad_customer
│ │ │ └── global_settings.tfvars
│ │ ├── logging
│ │ │ └── global_settings.tfvars
│ │ └── policy
│ │ └── global_settings.tfvars
│ ├── pull_request_template.md
│ ├── scripts
│ │ ├── Az.ps1
│ │ ├── aadsync
│ │ │ ├── README.md
│ │ │ ├── aadSync.ps1
│ │ │ ├── aadSyncTool.psd1
│ │ │ ├── aadSyncTool.psm1
│ │ │ ├── credential-example
│ │ │ └── releasenote
│ │ ├── cost_management
│ │ │ ├── billing-file-generation
│ │ │ ├── find-untagged-resources.txt
│ │ │ └── readme.md
│ │ ├── ctp_poc
│ │ │ ├── Makefile
│ │ │ ├── README.md
│ │ │ ├── go.mod
│ │ │ ├── main.go
│ │ │ ├── main.tf
│ │ │ ├── pim
│ │ │ │ ├── client.go
│ │ │ │ ├── data_source_name_allocation.go
│ │ │ │ ├── data_source_name_details.go
│ │ │ │ ├── provider.go
│ │ │ │ └── provider_test.go
│ │ │ └── test-api
│ │ │ └── main.go
│ │ ├── git-tagging
│ │ │ ├── entrypoint.sh
│ │ │ └── semver
│ │ ├── pester
│ │ │ ├── functional
│ │ │ │ ├── hub.ps1
│ │ │ │ ├── int-func-tests.ps1
│ │ │ │ ├── invoke-pester.ps1
│ │ │ │ ├── namingStd.ps1
│ │ │ │ └── spoke.ps1
│ │ │ └── tfstate-check
│ │ │ ├── functions.ps1
│ │ │ ├── invoke-pester.ps1
│ │ │ └── tfstate-check.ps1
│ │ └── pimtest
│ │ ├── CancelGovernanceRoleAssignmentRequest.ps1
│ │ ├── CreateGovernanceRoleAssignmentRequest.ps1
│ │ ├── CreateNewGroup.ps1
│ │ ├── GetGovernanceResources.ps1
│ │ ├── GetGovernanceRoleAssignmentRequests.ps1
│ │ ├── GetGovernanceRoleAssignments.ps1
│ │ ├── GetGovernanceRoleDefinitions.ps1
│ │ ├── GetGovernanceRoleSetting.ps1
│ │ ├── ListGovernanceResources.ps1
│ │ ├── ListGovernanceRoleAssignmentRequests.ps1
│ │ ├── ListGovernanceRoleAssignments.ps1
│ │ ├── ListGovernanceRoleDefinitions.ps1
│ │ ├── ListGovernanceRoleSettings.ps1
│ │ ├── RegisterGovernanceResource.ps1
│ │ ├── UpdateGovernanceRoleAssignmentRequest.ps1
│ │ ├── UpdateGovernanceRoleSetting.ps1
│ │ ├── auth.ps1
│ │ ├── how_to_use__pim_lib_example.ps1
│ │ ├── pim.psd1
│ │ ├── pim.psm1
│ │ └── summary.md
│ └── templates
│ └── budget
│ └── budget.json
├── azure_practice_management_iac_poc
│ ├── README.md
│ ├── lzeasubscriptionvending
│ │ ├── backend.tf
│ │ ├── ea_subscription_vending.tf
│ │ ├── provider.tf
│ │ └── subscription_configurations
│ │ └── example.json
│ ├── mgmtcp
│ │ ├── 01_external_modules.tf
│ │ ├── azure_iac_mgmt_cp.tf
│ │ ├── backend.tf
│ │ └── provisioner.tf
│ ├── mgmtnet
│ │ ├── backend.tf
│ │ └── provider.tf
│ ├── mgmtsub
│ │ ├── README.md
│ │ ├── azure_iac_mgmt_subscription.tf
│ │ ├── backend.tf
│ │ └── provider.tf
│ └── mgmtsvcs
│ ├── backend.tf
│ └── provider.tf
└── practice-azure
├── README.md
├── aadsync
│ ├── README.md
│ ├── aadSync.ps1
│ ├── aadSyncTool.psd1
│ ├── aadSyncTool.psm1
│ ├── credential-example
│ └── releasenote
├── arm
│ └── landing-zone
│ ├── Makefile
│ ├── README.md
│ ├── code
│ │ ├── lib
│ │ │ ├── config.py
│ │ │ ├── resource_types.py
│ │ │ ├── string_replace.py
│ │ │ └── types
│ │ │ ├── __init__.py
│ │ │ ├── firewall.py
│ │ │ ├── networkpeering.py
│ │ │ ├── nsg.py
│ │ │ ├── nsgflowlogs.py
│ │ │ ├── oms.py
│ │ │ ├── routes.py
│ │ │ ├── storage.py
│ │ │ ├── virtualgateway.py
│ │ │ └── vnet.py
│ │ └── transform.py
│ ├── config-development.yaml
│ ├── config-production.yaml
│ ├── config-shared.yaml
│ ├── deploy-development.yaml
│ ├── deploy-production.yaml
│ ├── deploy-shared.yaml
│ ├── doc
│ │ ├── Azure LandingZone Architecture Design v0.1.md
│ │ └── images
│ │ ├── Alert_flow.png
│ │ ├── Connectivity_model.png
│ │ ├── Partner_connectivity.png
│ │ ├── VNet_peering.png
│ │ ├── WAF_outline.png
│ │ ├── azure_scaffold.png
│ │ ├── cover.png
│ │ ├── hierarchy_design.png
│ │ ├── hld_design.png
│ │ ├── management_group.png
│ │ └── region_pairing.png
│ ├── docker-compose.yaml
│ ├── scripts
│ │ └── deploy.sh
│ ├── temp
│ │ └── README.md
│ └── templates
│ └── arm
│ ├── 100_oms.arm.json
│ ├── 100_oms.parameters.json
│ ├── 200_storage.arm.json
│ ├── 200_storage.parameters.json
│ ├── 300_vnet.arm.json
│ ├── 300_vnet.parameters.json
│ ├── 301_nsg.arm.json
│ ├── 301_nsg.parameters.json
│ ├── 302_nsgflowlogs.arm.json
│ ├── 302_nsgflowlogs.parameters.json
│ ├── 303_networkpeering.arm.json
│ ├── 303_networkpeering.parameters.json
│ ├── 400_firewall.arm.json
│ ├── 400_firewall.parameters.json
│ ├── 401_virtualgateway.arm.json
│ ├── 401_virtualgateway.parameters.json
│ ├── 402_routetables.arm.json
│ └── 402_routetables.parameters.json
├── azure-policy
│ └── README.md
├── design-doc-landingzone
│ ├── README.md
│ └── images
│ ├── Alert_flow.png
│ ├── Connectivity_model.png
│ ├── Partner_connectivity.png
│ ├── VNet_peering.png
│ ├── WAF_outline.png
│ ├── azure_scaffold.png
│ ├── cover.png
│ ├── hierarchy_design.png
│ ├── hld_design.png
│ ├── management_group.png
│ └── region_pairing.png
├── scaffolding
│ ├── README.md
│ ├── azure-pipeline.yaml
│ ├── extra_resource
│ │ ├── aks_template
│ │ │ ├── aks_deployment.ps1
│ │ │ ├── aksdeploy.json
│ │ │ ├── aksdeploy.parameters.json
│ │ │ └── arm_deployment.sh
│ │ ├── container_template
│ │ │ ├── acrdeploy.json
│ │ │ ├── acrdeploy.parameters.json
│ │ │ └── container_deployment.sh
│ │ ├── extra-azure-pipeline.yaml
│ │ └── keyvault_template
│ │ ├── kv_deployment.ps1
│ │ ├── kvdeploy.json
│ │ └── kvdeploy.parameters.json
│ ├── landingZone
│ │ └── blueprints
│ │ ├── artifacts
│ │ │ ├── artifact.artifact-template-keyvault--deploy.json.json
│ │ │ ├── artifact.artifact-template-loganalytics.json
│ │ │ └── artifact.artifact-template-vnet--deploy.json
│ │ └── blueprint.json
│ ├── mgmtGroup
│ │ └── management.json
│ └── scripts
│ ├── aksspn.ps1
│ ├── blueprint.ps1
│ ├── cleanup_script.ps1
│ └── mgmtGroup.ps1
└── 📦practice-azure.md
AWS Code | |
|---|---|