Blog

Introducing the DigitalOcean Terraform Provider

Terraform provides you with a safe and predictable way to create, change, and version your infrastructure. It has become an essential part of many DigitalOcean users' workflow, and we want to ensure it receives the support it deserves. That's why we were so excited to release version 1.0.0 of the DigitalOcean Terraform Provider. This release marks a major milestone: the first since DigitalOcean took ownership of the project and a declaration of our commitment to support its continued development.

The release is full of new features, improvements, and bug fixes. Here are some highlights:

  • New attachment resources for both volumes and floating IPs allowing you to better handle their life cycles separate from Droplets.
  • Ten new data sources allowing you to reference existing resources not managed by Terraform.
  • Support for recent DigitalOcean features like Let’s Encrypt certificates, auto-formatting for volumes, and CAA domain records.
  • And improvements to existing resources like volumes which now support resizing and creating from snapshots.

You can find the full changelog here.

Special thanks to all the community contributors that helped make this release possible: Aaron (slapula), Arve Knudsen (aknuds1), Nikolai Zujev (jaymecd), Piotr Grzesik (pgrzesik), Justin (justinbarrick), jonnydford, and Leandro López (inkel).

HashiConf 2018

To keep up on all the latest Terraform developments and hear your feedback face-to-face, next week we’ll be attending HashiConf in San Francisco, October 22 to 24. Find me at our booth with the rest of the DigitalOcean crew.

DigitalOcean’s Eddie Zaneski will be sharing some lessons learned in building a Terraform provider in his talk, “Creating a Terraform Provider for Just About Anything,” at 2:35 PM PST in the Gold Room on Tuesday, October 23.

Terraform is an amazing tool that lets you define your infrastructure as code. Under the hood it's an incredibly powerful state machine that makes API requests and marshals resources. In this talk we'll dive into the inner workings of Terraform and examine all the elements of a provider — from the documentation to the test suite. You'll walk away with the knowledge of how to contribute to an existing provider or create your own from scratch. We'll also take a look at some of the things we encountered while working on the DigitalOcean provider and the lessons learned from the community.

Get Started with Terraform

Whether you’re new to Terraform or looking to learn more, here are some recommended resources to dive into:

  • How To Use Terraform with DigitalOcean: Learn the basics of using Terraform in this tutorial on the DigitalOcean community site. It starts from square one and walks you through creating an infrastructure project consisting of two Nginx servers that are load balanced by an HAProxy server.

Andrew Starr-Bochicchio is an open source enthusiast and was DigitalOcean's first full-time community manager. Now he serves as a Product Manager in our Developer Experience group focused on our API. Follow Andrew on Twitter @astarrb.