Using Harness for non-cloud Terraform "service" provider deployments

Could Harness be used for non-cloud deployments with Terraform?

For example, with terraform roots can configure 3rd party services like New Relic, Dyn, Datadog, etc - there’s no “Cloud Provider” that is a part of it, but I still want to manage / orchestrate updates to the systems that are defined in TF code.

Something like Terraform cloud provides a great execution environment for terraform, and so I’m looking for a way to manage the deployment directly via TF Cloud. Is this possible, or do I need to deploy a container as a delegate and use that? Seems less than optimal if I need to run a delegate in my infras to speak to a 3rd party service like TF Cloud which calls other public services (these sorts of TF providers: https://www.terraform.io/docs/providers/type/monitor-index.html)

What sort of configuration in Harness would be needed to drive these sorts of deployments?

Welcome to the Community, @bcave!

For the Harness Managed Infrastructure Provisioner, designed to lay down and destroy the infrastructure needed during a deployment.

Though you do have access to TF Apply which certainly expands the art of the possible:

The basis for any action in the Harness Platform is done via a Harness Delegate. So you still would have to install a Harenss Delegate [think of it as a worker node] at some point.

As of for now. TF Cloud Calls would be done via remote/SSH from a Delegate. We are looking at building enhancements to support more native TF Cloud calls.

Cheers!

-Ravi

1 Like

Thanks for the welcome and pointing in the right direction Ravi. Great to hear about native TFCloud calls on the roadmap…

On the “Terraform Provisioning” article: I’ve just signed up for a trial account and am familiarizing myself with configuring a pipeline, there looks like there’s a hard dependency on having a cloud provider to define a stage, linked via the environment / infrastructure definition… for the use-case outlined here, there’s no cloud infrastructure that needs to be provisioned… it looks like the model for TF provisioning is built on the assumption that TF always provisions infra, but it can be used for applying config too without provisioning… or am i misinterpreting the role that infra provisioner plays in this scenario?

With regards to delegates - got it. Often called agents in other CD environments, quite familiar with the cocnept.

1 Like