{"id":10855,"date":"2021-11-18T09:38:55","date_gmt":"2021-11-18T08:38:55","guid":{"rendered":"https:\/\/whiteduck.de\/?p=10855"},"modified":"2021-11-18T09:38:58","modified_gmt":"2021-11-18T08:38:58","slug":"production-ready-terraform-project-scaffolding-for-azure","status":"publish","type":"post","link":"https:\/\/whiteduck.de\/en\/production-ready-terraform-project-scaffolding-for-azure\/","title":{"rendered":"Production-ready Terraform project scaffolding for Azure"},"content":{"rendered":"<p><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-1 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;\" ><\/div><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:calc( 1170px + 0px );margin-left: calc(-0px \/ 2 );margin-right: calc(-0px \/ 2 );\"><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_1_1 1_1 fusion-one-full fusion-column-first fusion-column-last\" style=\"--awb-bg-size:cover;width:100%;\"><div class=\"fusion-column-wrapper fusion-flex-column-wrapper-legacy\"><div class=\"fusion-clearfix\"><\/div><\/div><\/div><div class=\"fusion-title title fusion-title-1 fusion-sep-none fusion-title-text fusion-title-size-one\" style=\"--awb-margin-top-small:0px;--awb-margin-right-small:0px;--awb-margin-bottom-small:20px;--awb-margin-left-small:0px;\"><h1 class=\"fusion-title-heading title-heading-left fusion-responsive-typography-calculated\" style=\"margin:0;--fontSize:32;line-height:1.31;\"><\/p>\n<p>Production-ready Terraform project scaffolding for Azure<\/p>\n<p><\/h1><\/div><div class=\"fusion-text fusion-text-1\"><\/div><\/p>\n\n\n<p>Many modern applications are built with <a href=\"https:\/\/whiteduck.de\/services\/cloud-native-journey\/\" target=\"_blank\" rel=\"noreferrer noopener\">Cloud Native patterns<\/a> in mind and therefore rely on Cloud resources and infrastructure. However, you also need to think about how to build and manage these resources. This is where Infrastructure as Code and <a href=\"https:\/\/www.terraform.io\/\">T<\/a><a href=\"https:\/\/www.terraform.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">erraform<\/a> (and many others) come in. In this post, we will provide you with everything you need to know to scaffold a production-ready Terraform project for Azure.<\/p>\n\n\n\n<p>But let&#8217;s start with the basics first.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>&#8220;Infrastructure as Code (IaC) is the management and provisioning of infrastructure through code rather than manual processes.&#8221;<\/p><\/blockquote>\n\n\n\n<p>The main idea is to describe our infrastructure as code to be able to store and version it via Git. The code is written in a declarative manner and therefore easy to read, self-documented, and also reusable. Furthermore, Infrastructure as Code is fully automated without any manual intervention needed. With this in place Infrastructure as Code brings us many great benefits like testing our infrastructure, easy and fast rollbacks\/restores, configuration drift prevention, and many more.<\/p>\n\n\n\n<p>That said, we also need a toolchain that supports us in maintaining and declaring our Cloud resources. This is where <a href=\"https:\/\/www.terraform.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">Terraform<\/a> comes into play. <\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>&#8220;Terraform is an Infrastructure as Code tool that provides a consistent CLI workflow to manage hundreds of cloud services. Terraform codifies cloud APIs into declarative configuration&nbsp;files.&#8221;<\/p><\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">Terraform &amp; Azure<\/h3>\n\n\n\n<p>Terraform contains of a CLI and a domain-specific language called HCL (Hashicorp Configuration Language) that are used to define and manage Cloud resources. Terraform itself is open-source and is actively maintained by <a href=\"https:\/\/www.hashicorp.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Hashicorp<\/a>. It is flexible and supports tons of Cloud providers and resources. Talking of the Azure ecosystem, we can use Terraform to manage:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/registry.terraform.io\/providers\/hashicorp\/azurerm\/latest\" target=\"_blank\" rel=\"noreferrer noopener\">Azure Resources (via ARM)<\/a><\/li><li><a href=\"https:\/\/registry.terraform.io\/providers\/hashicorp\/azuread\/latest\" target=\"_blank\" rel=\"noreferrer noopener\">Azure Active Directory<\/a><\/li><li><a href=\"https:\/\/registry.terraform.io\/providers\/hashicorp\/azurestack\/latest\" target=\"_blank\" rel=\"noreferrer noopener\">Azure Stack<\/a><\/li><li><a href=\"https:\/\/registry.terraform.io\/providers\/microsoft\/azuredevops\/latest\" target=\"_blank\" rel=\"noreferrer noopener\">Azure DevOps<\/a><\/li><li><a href=\"https:\/\/registry.terraform.io\/providers\/integrations\/github\/latest\" target=\"_blank\" rel=\"noreferrer noopener\">GitHub<\/a><\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Scaffold a production-ready Terraform Project<\/h3>\n\n\n\n<p>When scaffolding a new Terraform project you of course need to think about your Cloud resources itself but there are also some other things you should care about:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Where to store the <a href=\"https:\/\/www.terraform.io\/docs\/language\/state\/index.html\" target=\"_blank\" rel=\"noreferrer noopener\">Terraform state file<\/a>?<\/li><li>Which Identity should Terraform use to manage the Cloud resources?<\/li><li>How to run Terraform in my CI\/CD pipeline and how to manage secrets\/authentication securely?<\/li><\/ul>\n\n\n\n<p>This is why we created an open-source project called &#8220;<a href=\"https:\/\/github.com\/whiteducksoftware\/terraform-scaffold-for-azure\" target=\"_blank\" rel=\"noreferrer noopener\">Terraform scaffold for Azure<\/a>&#8220;. The intention of this project is to support you with the above mentioned questions. The project scaffolds everything you need to be ready to start using Terraform to manage Azure &amp; Azure AAD resources in a production-ready and secure manner. To do so, you will just have to run a single script (available for Bash and Powershell). This is what you will get:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>A service principal used to run Terraform on behalf. The service principal will be added as owner to the defined subscription and also gets all required access levels to manage App Registration and Groups in Azure AD.<\/li><li>One Storage Container used to securly store the Terraform state file.<\/li><li>All secrets are stored in a Key Vault to allow easy and secure access from your local client or CI\/CD.<\/li><\/ul>\n\n\n\n<p>So don&#8217;t miss to check out our <a href=\"https:\/\/github.com\/whiteducksoftware\/terraform-scaffold-for-azure\" target=\"_blank\" rel=\"noreferrer noopener\">project<\/a>. We also provide you with details and sample code on how to integrate Terraform into your CI\/CD tool. Doesn&#8217;t matter which one you use. Don&#8217;t mind creating an issue in case of any questions. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Further resources<\/h3>\n\n\n\n<p>The <a href=\"https:\/\/www.terraform.io\/docs\/index.html\" target=\"_blank\" rel=\"noreferrer noopener\">official Terraform documentation<\/a> will also provide you with further details. Also, don&#8217;t miss to review my slides from one of my last Meetup talks to gain further insights:<\/p>\n\n\n\n<figure class=\"wp-block-embed aligncenter is-type-rich is-provider-slideshare wp-block-embed-slideshare\"><div class=\"wp-block-embed__wrapper\">\n <div class=\"brlbs-cmpnt-container brlbs-cmpnt-content-blocker brlbs-cmpnt-with-individual-styles\" data-borlabs-cookie-content-blocker-id=\"default\" data-borlabs-cookie-content=\"PGRpdiBjbGFzcz0idmlkZW8tc2hvcnRjb2RlIj48aWZyYW1lIHRpdGxlPSJBenVyZSBNZWV0dXAgSGFtYnVyZzogUHJvZHVjdGlvbi1SZWFkeSBUZXJyYWZvcm0gRGVwbG95bWVudHMgb24gQXp1cmUiIHNyYz0iaHR0cHM6Ly93d3cuc2xpZGVzaGFyZS5uZXQvc2xpZGVzaG93L2VtYmVkX2NvZGUva2V5L2szdmQzRUVGcjVXbEwxIiB3aWR0aD0iNDI3IiBoZWlnaHQ9IjM1NiIgZnJhbWVib3JkZXI9IjAiIG1hcmdpbndpZHRoPSIwIiBtYXJnaW5oZWlnaHQ9IjAiIHNjcm9sbGluZz0ibm8iIHN0eWxlPSJib3JkZXI6MXB4IHNvbGlkICNDQ0M7IGJvcmRlci13aWR0aDoxcHg7IG1hcmdpbi1ib3R0b206NXB4OyBtYXgtd2lkdGg6IDEwMCU7IiBhbGxvd2Z1bGxzY3JlZW4+IDwvaWZyYW1lPiA8ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjVweCI+IDxzdHJvbmc+IDxhIGhyZWY9Imh0dHBzOi8vd3d3LnNsaWRlc2hhcmUubmV0L25tZWlzZW56YWhsL2F6dXJlLW1lZXR1cC1oYW1idXJnLXByb2R1Y3Rpb25yZWFkeS10ZXJyYWZvcm0tZGVwbG95bWVudHMtb24tYXp1cmUiIHRpdGxlPSJBenVyZSBNZWV0dXAgSGFtYnVyZzogUHJvZHVjdGlvbi1SZWFkeSBUZXJyYWZvcm0gRGVwbG95bWVudHMgb24gQXp1cmUiIHRhcmdldD0iX2JsYW5rIj5BenVyZSBNZWV0dXAgSGFtYnVyZzogUHJvZHVjdGlvbi1SZWFkeSBUZXJyYWZvcm0gRGVwbG95bWVudHMgb24gQXp1cmU8L2E+IDwvc3Ryb25nPiBmcm9tIDxzdHJvbmc+PGEgaHJlZj0iaHR0cHM6Ly93d3cuc2xpZGVzaGFyZS5uZXQvbm1laXNlbnphaGwiIHRhcmdldD0iX2JsYW5rIj5OaWNvIE1laXNlbnphaGw8L2E+PC9zdHJvbmc+IDwvZGl2PjwvZGl2Pg==\"><div class=\"brlbs-cmpnt-cb-preset-a\"> <p class=\"brlbs-cmpnt-cb-description\">You are currently viewing a placeholder content from <strong>Default<\/strong>. To access the actual content, click the button below. Please note that doing so will share data with third-party providers.<\/p> <div class=\"brlbs-cmpnt-cb-buttons\"> <a class=\"brlbs-cmpnt-cb-btn\" href=\"#\" data-borlabs-cookie-unblock role=\"button\">Unblock content<\/a> <a class=\"brlbs-cmpnt-cb-btn\" href=\"#\" data-borlabs-cookie-accept-service role=\"button\" style=\"display: none\">Accept required service and unblock content<\/a> <\/div> <a class=\"brlbs-cmpnt-cb-provider-toggle\" href=\"#\" data-borlabs-cookie-show-provider-information role=\"button\">More Information<\/a> <\/div><\/div>\n<\/div><\/figure>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Many modern applications are built with Cloud Native patterns in mind and therefore rely on Cloud resources and infrastructure. However, you also need to think about how to build and manage these resources. This is where Infrastructure as Code and Terraform (and many others) come in. In this post, we will provide you with everything <a href=\"https:\/\/whiteduck.de\/en\/production-ready-terraform-project-scaffolding-for-azure\/\"> <\/p>\n<div style=\"color:#ff9900\">[&#8230;]<\/div>\n<p><\/a><\/p>\n","protected":false},"author":8,"featured_media":10858,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_tribe_events_control_status":"","_tribe_events_control_status_canceled_reason":"","_tribe_events_control_status_postponed_reason":"","_tribe_events_control_online":"","_tribe_events_control_online_url":"","footnotes":""},"categories":[104],"tags":[113,410,411,232,233],"class_list":["post-10855","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-azure","tag-azure","tag-iac","tag-infrastructureascode","tag-opensource","tag-terraform"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Production-ready Terraform project scaffolding for Azure - white duck<\/title>\n<meta name=\"description\" content=\"In this blogpost we will provide you with everything you need to know to scaffold a production-ready Terraform project for Azure.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/whiteduck.de\/en\/production-ready-terraform-project-scaffolding-for-azure\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Production-ready Terraform project scaffolding for Azure - white duck\" \/>\n<meta property=\"og:description\" content=\"In this blogpost we will provide you with everything you need to know to scaffold a production-ready Terraform project for Azure.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/whiteduck.de\/en\/production-ready-terraform-project-scaffolding-for-azure\/\" \/>\n<meta property=\"og:site_name\" content=\"white duck\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/whiteduckgmbh\" \/>\n<meta property=\"article:published_time\" content=\"2021-11-18T08:38:55+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-11-18T08:38:58+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/whiteduck.de\/wp-content\/uploads\/terraform-1.jpeg\" \/>\n\t<meta property=\"og:image:width\" content=\"1921\" \/>\n\t<meta property=\"og:image:height\" content=\"1332\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Nico Meisenzahl\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@whiteduck_gmbh\" \/>\n<meta name=\"twitter:site\" content=\"@whiteduck_gmbh\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Nico Meisenzahl\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/whiteduck.de\\\/en\\\/production-ready-terraform-project-scaffolding-for-azure\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/whiteduck.de\\\/en\\\/production-ready-terraform-project-scaffolding-for-azure\\\/\"},\"author\":{\"name\":\"Nico Meisenzahl\",\"@id\":\"https:\\\/\\\/whiteduck.de\\\/en\\\/#\\\/schema\\\/person\\\/c26beb86db4a71e77e24854ed07eda69\"},\"headline\":\"Production-ready Terraform project scaffolding for Azure\",\"datePublished\":\"2021-11-18T08:38:55+00:00\",\"dateModified\":\"2021-11-18T08:38:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/whiteduck.de\\\/en\\\/production-ready-terraform-project-scaffolding-for-azure\\\/\"},\"wordCount\":820,\"image\":{\"@id\":\"https:\\\/\\\/whiteduck.de\\\/en\\\/production-ready-terraform-project-scaffolding-for-azure\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/whiteduck.de\\\/wp-content\\\/uploads\\\/terraform-1.jpeg\",\"keywords\":[\"Azure\",\"iac\",\"InfrastructureAsCode\",\"opensource\",\"Terraform\"],\"articleSection\":[\"Azure\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/whiteduck.de\\\/en\\\/production-ready-terraform-project-scaffolding-for-azure\\\/\",\"url\":\"https:\\\/\\\/whiteduck.de\\\/en\\\/production-ready-terraform-project-scaffolding-for-azure\\\/\",\"name\":\"Production-ready Terraform project scaffolding for Azure - white duck\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/whiteduck.de\\\/en\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/whiteduck.de\\\/en\\\/production-ready-terraform-project-scaffolding-for-azure\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/whiteduck.de\\\/en\\\/production-ready-terraform-project-scaffolding-for-azure\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/whiteduck.de\\\/wp-content\\\/uploads\\\/terraform-1.jpeg\",\"datePublished\":\"2021-11-18T08:38:55+00:00\",\"dateModified\":\"2021-11-18T08:38:58+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/whiteduck.de\\\/en\\\/#\\\/schema\\\/person\\\/c26beb86db4a71e77e24854ed07eda69\"},\"description\":\"In this blogpost we will provide you with everything you need to know to scaffold a production-ready Terraform project for Azure.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/whiteduck.de\\\/en\\\/production-ready-terraform-project-scaffolding-for-azure\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/whiteduck.de\\\/en\\\/production-ready-terraform-project-scaffolding-for-azure\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/whiteduck.de\\\/en\\\/production-ready-terraform-project-scaffolding-for-azure\\\/#primaryimage\",\"url\":\"https:\\\/\\\/whiteduck.de\\\/wp-content\\\/uploads\\\/terraform-1.jpeg\",\"contentUrl\":\"https:\\\/\\\/whiteduck.de\\\/wp-content\\\/uploads\\\/terraform-1.jpeg\",\"width\":1921,\"height\":1332,\"caption\":\"azure terraform\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/whiteduck.de\\\/en\\\/production-ready-terraform-project-scaffolding-for-azure\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\\\/\\\/whiteduck.de\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Production-ready Terraform project scaffolding for Azure\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/whiteduck.de\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/whiteduck.de\\\/en\\\/\",\"name\":\"white duck\",\"description\":\"Your Partner for Microsoft Azure &amp; AI\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/whiteduck.de\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/whiteduck.de\\\/en\\\/#\\\/schema\\\/person\\\/c26beb86db4a71e77e24854ed07eda69\",\"name\":\"Nico Meisenzahl\",\"description\":\"Nico Meisenzahl works as Senior Cloud &amp; DevOps Consultant at white duck. As an elected Microsoft MVP, Docker Community Leader and GitLab Hero, his current passion is for topics around Cloud-Native and Kubernetes. Nico is a frequent speaker at conferences, user group events and Meetups in Europe and the United States.\",\"sameAs\":[\"https:\\\/\\\/meisenzahl.org\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/nicomeisenzahl\\\/\"],\"url\":\"https:\\\/\\\/whiteduck.de\\\/en\\\/author\\\/nmeisenzahl\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Production-ready Terraform project scaffolding for Azure - white duck","description":"In this blogpost we will provide you with everything you need to know to scaffold a production-ready Terraform project for Azure.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/whiteduck.de\/en\/production-ready-terraform-project-scaffolding-for-azure\/","og_locale":"en_US","og_type":"article","og_title":"Production-ready Terraform project scaffolding for Azure - white duck","og_description":"In this blogpost we will provide you with everything you need to know to scaffold a production-ready Terraform project for Azure.","og_url":"https:\/\/whiteduck.de\/en\/production-ready-terraform-project-scaffolding-for-azure\/","og_site_name":"white duck","article_publisher":"https:\/\/www.facebook.com\/whiteduckgmbh","article_published_time":"2021-11-18T08:38:55+00:00","article_modified_time":"2021-11-18T08:38:58+00:00","og_image":[{"width":1921,"height":1332,"url":"https:\/\/whiteduck.de\/wp-content\/uploads\/terraform-1.jpeg","type":"image\/jpeg"}],"author":"Nico Meisenzahl","twitter_card":"summary_large_image","twitter_creator":"@whiteduck_gmbh","twitter_site":"@whiteduck_gmbh","twitter_misc":{"Written by":"Nico Meisenzahl","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/whiteduck.de\/en\/production-ready-terraform-project-scaffolding-for-azure\/#article","isPartOf":{"@id":"https:\/\/whiteduck.de\/en\/production-ready-terraform-project-scaffolding-for-azure\/"},"author":{"name":"Nico Meisenzahl","@id":"https:\/\/whiteduck.de\/en\/#\/schema\/person\/c26beb86db4a71e77e24854ed07eda69"},"headline":"Production-ready Terraform project scaffolding for Azure","datePublished":"2021-11-18T08:38:55+00:00","dateModified":"2021-11-18T08:38:58+00:00","mainEntityOfPage":{"@id":"https:\/\/whiteduck.de\/en\/production-ready-terraform-project-scaffolding-for-azure\/"},"wordCount":820,"image":{"@id":"https:\/\/whiteduck.de\/en\/production-ready-terraform-project-scaffolding-for-azure\/#primaryimage"},"thumbnailUrl":"https:\/\/whiteduck.de\/wp-content\/uploads\/terraform-1.jpeg","keywords":["Azure","iac","InfrastructureAsCode","opensource","Terraform"],"articleSection":["Azure"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/whiteduck.de\/en\/production-ready-terraform-project-scaffolding-for-azure\/","url":"https:\/\/whiteduck.de\/en\/production-ready-terraform-project-scaffolding-for-azure\/","name":"Production-ready Terraform project scaffolding for Azure - white duck","isPartOf":{"@id":"https:\/\/whiteduck.de\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/whiteduck.de\/en\/production-ready-terraform-project-scaffolding-for-azure\/#primaryimage"},"image":{"@id":"https:\/\/whiteduck.de\/en\/production-ready-terraform-project-scaffolding-for-azure\/#primaryimage"},"thumbnailUrl":"https:\/\/whiteduck.de\/wp-content\/uploads\/terraform-1.jpeg","datePublished":"2021-11-18T08:38:55+00:00","dateModified":"2021-11-18T08:38:58+00:00","author":{"@id":"https:\/\/whiteduck.de\/en\/#\/schema\/person\/c26beb86db4a71e77e24854ed07eda69"},"description":"In this blogpost we will provide you with everything you need to know to scaffold a production-ready Terraform project for Azure.","breadcrumb":{"@id":"https:\/\/whiteduck.de\/en\/production-ready-terraform-project-scaffolding-for-azure\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/whiteduck.de\/en\/production-ready-terraform-project-scaffolding-for-azure\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/whiteduck.de\/en\/production-ready-terraform-project-scaffolding-for-azure\/#primaryimage","url":"https:\/\/whiteduck.de\/wp-content\/uploads\/terraform-1.jpeg","contentUrl":"https:\/\/whiteduck.de\/wp-content\/uploads\/terraform-1.jpeg","width":1921,"height":1332,"caption":"azure terraform"},{"@type":"BreadcrumbList","@id":"https:\/\/whiteduck.de\/en\/production-ready-terraform-project-scaffolding-for-azure\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/whiteduck.de\/en\/"},{"@type":"ListItem","position":2,"name":"Production-ready Terraform project scaffolding for Azure"}]},{"@type":"WebSite","@id":"https:\/\/whiteduck.de\/en\/#website","url":"https:\/\/whiteduck.de\/en\/","name":"white duck","description":"Your Partner for Microsoft Azure &amp; AI","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/whiteduck.de\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/whiteduck.de\/en\/#\/schema\/person\/c26beb86db4a71e77e24854ed07eda69","name":"Nico Meisenzahl","description":"Nico Meisenzahl works as Senior Cloud &amp; DevOps Consultant at white duck. As an elected Microsoft MVP, Docker Community Leader and GitLab Hero, his current passion is for topics around Cloud-Native and Kubernetes. Nico is a frequent speaker at conferences, user group events and Meetups in Europe and the United States.","sameAs":["https:\/\/meisenzahl.org","https:\/\/www.linkedin.com\/in\/nicomeisenzahl\/"],"url":"https:\/\/whiteduck.de\/en\/author\/nmeisenzahl\/"}]}},"_links":{"self":[{"href":"https:\/\/whiteduck.de\/en\/wp-json\/wp\/v2\/posts\/10855","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/whiteduck.de\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/whiteduck.de\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/whiteduck.de\/en\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/whiteduck.de\/en\/wp-json\/wp\/v2\/comments?post=10855"}],"version-history":[{"count":0,"href":"https:\/\/whiteduck.de\/en\/wp-json\/wp\/v2\/posts\/10855\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/whiteduck.de\/en\/wp-json\/wp\/v2\/media\/10858"}],"wp:attachment":[{"href":"https:\/\/whiteduck.de\/en\/wp-json\/wp\/v2\/media?parent=10855"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/whiteduck.de\/en\/wp-json\/wp\/v2\/categories?post=10855"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/whiteduck.de\/en\/wp-json\/wp\/v2\/tags?post=10855"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}