/terraform-azure-linux-vm

An end-to-end, full-stack provisioning demo that can be used as a starting point for more complex solutions

Primary LanguageSmartyMIT LicenseMIT

terraform-azure-linux-vm

This is a training sample I originally created for a Terraform on Azure workshop, which I am cleaning up for public consumption and as an end-to-end, full-stack provisioning demo that can be used as a starting point for more complex solutions.

(Blog post with more info)

Roadmap

This is the list of currently implemented/planned features:

  • Let's Encrypt support
  • Set up a full web stack
  • Set locale in cloud-config
  • Metrics agent 2.3/3.0 selection through conditionals
  • Improve comments
  • Move NSG outside the linux module for flexibility
  • Split current cloud-config into base and "PaaS" versions
  • Move cloud-config template outside the linux module and into its own folder
  • Set up docker and other core packages via cloud-init
  • Re-instate public IP, DNS alias and NSGs in main.tf
  • Set SSH port and harden configuration via cloud-init
  • Split naming for shared vs instance resources in base.tf
  • Add portal-compatible metrics using Microsoft.OSTCExtensions 2.3 (using a wadcfg.xml template)
  • Add boilerplate for Azure.Linux.Diagnostics 3.0 (using a ladCfg template inlined in settings.json)
  • Add availability set in base.tf
  • Update Ubuntu to 18.04 in main.tf
  • Add boot diagnostics in main.tf
  • Break out VM into linux module
  • Cleanup and namespacing
  • Single Ubuntu VM with managed disks