Tailscale the Terraform way
Blog post from Tailscale
Tailscale has developed a Terraform module to address common issues encountered during the provisioning of virtual machines (VMs) across various cloud providers by integrating Tailscale networking into the setup process. This module aims to simplify the deployment process by encapsulating operational knowledge into a single, predictable solution that eliminates the need for fragile, custom cloud-init scripts. It handles tasks such as OS package installation, service enablement, Tailscale authentication, and route configuration, ensuring that VMs are seamlessly integrated into the tailnet in a consistent and reliable manner. The module supports ephemeral machines and complex environments like CI/CD setups, edge nodes, and autoscaling fleets, allowing them to register and deregister cleanly. Designed for future expansion, the module is expected to evolve with the Tailscale CLI, incorporating new features and improvements based on user feedback and real-world use cases, thereby providing a stable infrastructure-as-code (IaC) solution for multi-cloud deployments.