Skip to content

About

Terraform modules for building a multi-region Hub-Spoke infrastructure in Azure that supports the Landing Zone architectural pattern.

Resources

Contributing

Stars

0 stars

Watchers

3 watching

Forks

Repository files navigation

Azure :: Landing Zone :: Hub-Spoke :: Terraform Modules

This repo contains Terraform modules for building a multi-region Hub-Spoke infrastructure in Azure that supports the Landing Zone architectural pattern.

Usage

Modules could be used in your Terraform code by referencing this repo in the module block the following way:

module "linux_scale_set" {
  source = "github.com/undp/tf-modules//azure_landing_zone/vmss_for_each_rg?ref=v0.1.4rc1"

  region_rg_map = {
    eastus        = "rg1"
    canadacentral = "rg2"
  }

  conf_module = {
    enable_const_capacity = true
    enable_lb_ext         = true
    enable_lb_ext_nat_ssh = true
  }

  conf_common = {
    vm_size      = "Standard_DS1_v2"
    vm_instances = 2

    image_publisher = "Canonical"
    image_offer     = "UbuntuServer"
    image_sku       = "18.04-LTS"
    image_version   = "latest"

    os_disk_ephemeral = true
  }

  conf_map = {
    eastus  = {
      name = "alice"
      admin_username = "admin_alice"
      public_key = file("alice_ssh_key.pub")
    }
    canadacentral = {
      name = "bob"
      admin_username = "admin_bob"
      public_key = file("bob_ssh_key.pub")
    }
  }

  namespace = "deep"

  tags = {
    BU    = "Enterprise"
    Owner = "Security"
  }
}

Requirements

All modules have common.tf symlink to the single file defining the following requirements for the version of Terraform and Azure provider.

  • Terraform >= 0.12
  • Azure provider = 2.0

It is also expected that Terraform state is stored using azurerm backend. It is advised to use a tool like Terragrunt to manage state storage compartmentalization.

Versioning

We use Semantic Versioning Specification as a version numbering convention.

Release History

For the available versions, see the tags on this repository. Specific changes for each version are documented in CHANGELOG.md.

Also, conventions for git commit messages are documented in CONTRIBUTING.md.

Authors

  • Oleksiy Kuzmenko - OK-UNDP@GitHub - Initial design and implementation

Acknowledgments

  • Hat tip to all individuals shaping this project by sharing their knowledge in articles, blogs and forums.

License

Unless otherwise stated, all authors (see commit logs) release their work under the MIT License. See LICENSE.md for details.

Contributing

There are plenty of ways you could contribute to this project. Feel free to:

  • submit bug reports and feature requests
  • outline, fix and expand documentation
  • peer-review bug reports and pull requests
  • implement new features or fix bugs

See CONTRIBUTING.md for details on code formatting, linting and testing frameworks used by this project.

About

Terraform modules for building a multi-region Hub-Spoke infrastructure in Azure that supports the Landing Zone architectural pattern.

Resources

Contributing

Stars

0 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages