Engineering

Introducing the Basis Theory Terraform Provider

You are now able to manage your Basis Theory resources using Terraform!

What is the Basis Theory Terraform Provider?

Terraform allows engineers to manage resources with Infrastructure as Code (IaC). IaC enables versioning, reusability, and automation of code that provisions resources.

Why we built a Terraform Provider

In the end, deciding to build our Terraform Provider was a pretty easy decision. We knew we wanted to make it easier for us to manage shared resources among our community, as well as enable as many integration points as possible for our customers.

Not only does a Terraform Provider help our customers, but it also helps us at Basis Theory in managing publicly available resources! We needed a solution for managing the official Reactor Formulas that are available today. There were a few clunky ideas on how to maintain these Reactor Formulas, but nothing proved to be more simple and effective as Terraform. We depend on the Provider as much as anyone else would. And, just like our other products, we’ve tested it extensively to ensure it works for both ourselves and you. Wherever possible we try to be the first consumers of our own products, and this is no exception.

We strive to make securing data a seamless developer experience. To achieve this, we have to meet engineers where they are today. It’s important to us to offer polished workflows so that our products require the lowest possible effort to integrate and maintain. As mentioned before, using Terraform offers a reusable and versioned method for managing resources. 

What the Terraform Provider currently supports

Currently, our Provider supports managing Applications, Reactors, and Reactor Formulas. This enables you to manage any of these resources within your pipelines or programmatically. 

Reactor Formulas. Private Reactor Formulas can now be managed through Terraform. Our guide walks through examples of creating one, as well as requesting access to create private Reactor Formulas.

Reactors. Creating Reactors from an existing official or your own private Reactor Formulas is a cinch. All you need is the `id` for the Reactor Formula you're intending to use, whether that’s a static one or one that will be provided to you via Terraform. View our example here.

Applications. By creating Applications via Terraform, you’re able to use commands like `curl` to make requests using the generated API key in your pipelines. Visit our guide on managing an Application through Terraform if you would like help getting started.

For the latest supported resources and versions keep an eye on our Terraform documentation.

Future for our Provider and other infrastructure tools

We were quite eager to get this into the hands of our community as early as possible. For now, our current Provider is limited to a subset of possible resources you’re able to manage with us. Instead of assuming where we can go next, we want your input on what you would like to see next. Open an issue on our open source Terraform Provider repository to request other resources be supported.

Tangentially, we’re looking to see if there is interest in integrating with other infrastructure tools, such as Pulumi and Ansible. If you would like to see support for these or any other tools, click on this link and fill out the details to your request.

Wrapping up

We are so pleased to introduce our new Basis Theory Terraform Provider, a scalable way to manage your Applications, Reactors, and Reactor Formulas as code. View our documentation, and consider letting us know what you would like to see next on our Provider in our Terraform repository.

NEXT STEPS

Where to go from here?

{"type":"shift","speed":14,"random":1,"shift":1,"size":1,"rupture":70}
Usage-based pricing, but getting started is free
{"type":"shift","speed":20,"random":1,"shift":1,"size":1,"rupture":50}
Built by developers, for developers
{"type":"shift","speed":11,"random":1,"shift":1,"size":1,"rupture":50}
Helpful humans ready to work through your questions
{"type":"shift","speed":29,"random":1,"shift":1,"size":1,"rupture":50}
We’re building something special & would love your help