Are there any examples of infrastructure pipeline software built on Temporal?

Hi there,

I was just thinking that Temporal would be great to run Terraform pipelines. Has anyone done this before?

2 Likes

Hi Ira,

Could you elaborate some on what your Terraform pipelines look like?

Temporal Cloud leverages Terraform from activities to provision infrastructure. For example, one activity would be responsible for creating a VPC the next would be responsible for adding a peering connection.

I’m giving a talk and providing sample code, best practices, and tradeoffs on Tuesday January 25th, 2022 9AM PST at the Temporal Community Meetup. We invite you to join to learn more about how we use Terraform with Temporal! We look forward to seeing you there and sharing more!

1 Like

Sure. I’m currently consulting at a Google Partner for a Big Bank. Can’t go into too many details but it’s a pretty complicated setup with multiple teams and repos - probably close to 300 engineers working just on cloud infra. One team has repos for networking and firewalls, another owns core IAM and custom roles, I manage infra for sub-unit that has it’s own kubernetes platform and pipelines etc.

So to get a new cluster up we need to:

  • raise PR to create project and run TF
  • raise PR to add network and run TF
  • raise PR to add firewall rules and run TF
  • raise PR to create cluster and run TF
  • raise PR to create VMs with deployment agents targeting new cluster and run TF
  • (I could keep going!)

Having these steps as a work would be amazing, even if one of these steps was just polling GCP to see if something has been provisioned to then move to the next step. I mainly want to be able to identify bottlenecks and show why it takes 3 weeks to stand up a cluster!

It was certainly done before. Even HashiCorp is doing this.

Hopefully you attended my presentation or get a chance to watch our most recent community meetup when it’s available.

Here’s a link to a demo project that has two example activities to create a VPC and then subnets. The example is simple but surely can be expanded to your use case.

Feel free to open an issue on the demo repo if you have questions or need help getting started!

2 Likes

Sorry, didn’t get a chance to make it but definitely gonna check out any recordings and that repo!

1 Like