Skip to content

Terraform Cloud / Enterprise setup

This connects Cloudkeel-DD to your Terraform Cloud or Terraform Enterprise workspaces. It’s the recommended first source - what Cloudkeel-DD compares live infrastructure against.

Cloudkeel-DD reads your workspaces. It does not run plan, run apply, or replace your Terraform runner - it verifies what your runner believes.

It’s in your workspace URL:

https://app.terraform.io/app/<organization>/workspaces/<workspace>
^^^^^^^^^^^^^^

Terraform Cloud -> Settings -> Tokens - either a user token or a team token. Copy it; it’s shown once.

A team token scoped to just the workspaces you want read is the tighter option. Read access is enough - Cloudkeel-DD never queues runs or modifies workspaces.

Connect -> Terraform Cloud (the default, marked Recommended):

FieldValue
Integration nameAny label, e.g. prod-terraform-cloud
Addressapp.terraform.io for Terraform Cloud. For Terraform Enterprise, your own hostname
OrganizationThe slug from step 1
API tokenFrom step 2
Sync scheduleManual, or every 15min / 30min / hourly / 6h / daily

Click Test connection - it reports how many workspaces it found - then Save and start scanning. A first scan starts automatically; results usually appear within a minute or two.

On its own, this integration tells you what Terraform reports. Pair it with a cross-check credential and Cloudkeel-DD independently re-verifies each resource against the live cloud API, and finds resources no Terraform state knows about:

Cloudkeel-DD reads each workspace’s resource_drift - Terraform’s own record of what changed outside Terraform - plus the declared resource set used for unmanaged-resource detection.

Resources declared in any of your Terraform integrations count as managed, not just the one being scanned. So a resource declared in workspace A won’t be falsely reported as unmanaged while scanning workspace B.

  • No Terraform Cloud? Keep raw .tfstate in cloud storage instead: Azure Blob · S3 · GCS.
  • Local plan file? The terraform_local integration type reads a terraform show -json plan directly - no Terraform Cloud account needed.
  • GitOps instead of Terraform? Kubernetes/Helm, Argo CD, and Flux are all supported sources.