Honesty is a feature

Exactly where our depth ends.

Most tools sell you the word “complete.” We’d rather show you the edge of our coverage so you know precisely what you’re getting — and what you’re not.

Field-level cross-check

200 resource types get a true field-level diff — desired state against live reality, property by property, naming the exact field that moved. How many of the 200 you get depends on where your Terraform state lives, not on which cloud you run.

Terraform Cloud

also Terraform Enterprise, or a local plan file

68 Azure types and all 59 GCP types, field-level. On AWS, security groups only.

Two Azure types — role assignments and role definitions — are reachable only on this path. The AWS limit is the one to know before you evaluate: from a plan we field-diff security groups and nothing else.

Raw .tfstate

S3, GCS, or Azure Blob

All 62 AWS types, all 59 GCP types, and 77 of 79 Azure types, field-level.

This is the path that unlocks AWS depth — every AWS spec runs here, against one on the plan path. Azure loses only role assignments and role definitions.

Kubernetes

Helm release records — no GitOps tool needed

Deployments, StatefulSets, DaemonSets, Services, ConfigMaps, Ingress.

Helm’s own stored release manifest is the desired state and a live API read is the actual, so no Argo or Flux is required. Secret values are never read or diffed.

Unmanaged-resource detection

A different question, and a different list: what is running that no Terraform state declares? This is the half terraform plan structurally cannot answer, so the coverage is broader than the field-level set above.

Azure

79 types

Every Azure type above. Across the subscriptions your credential can see.

AWS

64 types

The 62 above, plus 2 enumerated-only types. One account per credential.

GCP

59 types

The 59 above, plus 0 enumerated-only types. One project per credential.

Managed-state sources

Where Cloudkeel-DD learns what’s supposed to be running.

Terraform Cloud

Reads the workspace’s plan JSON over the API, including the resources Terraform’s own refresh already found drifted.

Terraform Enterprise

Same as Terraform Cloud, against your own hostname.

Terraform local

Reads a terraform show -json plan file — no Terraform Cloud account needed.

S3 / GCS / Azure Blob

Reads raw .tfstate straight from your bucket or container. This is the path that unlocks field-level AWS coverage.

Helm

Helm’s own release records, read from the cluster.

ArgoCD

Managed-resource state via the ArgoCD API.

Flux

HelmRelease / Kustomization drift via the Kubernetes API.

Where the depth ends

The honest edges. Everything below is either by design or on the roadmap, and stated up front rather than discovered in week three.

Anything outside field-level coverage is still discovered and tracked as clearly-labelled inventory — never silently assumed clean. You always know which resources are diffed and which are only tracked.
Two bars, kept separate. Engine-verified means a type passes golden-fixture tests. Real-cloud-proven means we’ve injected drift into a live account and watched the finding name the field. All 200 types are engine-verified. Three are real-cloud-proven — Azure NSG rules, AWS security-group rules, GCP firewall rules — and we would rather show you that ratio than average it into one number. The table generated from the product’s own type registry lives in the docs.
Install in 15 minutes