A state file knows what went through Terraform. It does not know the VM someone created from the console during an incident, the database a contractor set up in a second project, or the cluster another team deployed from a repo you have never seen. All of it runs in your accounts and all of it is on the invoice.

Control Cloud reads your clouds through the provider API with read-only credentials. If it exists, the API returns it, and it shows up, no matter who created it or how.

Control Cloud: the dashboard with six providers and an on-prem rack, then All Resources with instances, clusters, networks, volumes and databases in one list

One list, read live

On this demo organization: six providers and an on-prem rack, 24 instances, 19 running and 5 stopped. Per provider: totals, cores, memory, storage, and the time of the last read, so you know how fresh the number is. Below it, All Resources: instances, clusters, networks, volumes and databases in a single list you can filter.

Why not just tag everything

Tags are a policy; the inventory is a fact. A policy that requires an owner tag stops the next untagged resource. It does nothing for the ones already there, and it never applies to what was created by hand before the policy existed. You still need to list what exists and compare it with what you think you own. That comparison is the whole job.

No agents, no state to trust

Nothing is installed on your VMs and nothing depends on a state file being complete. The read is the provider API, the same source the console uses, with a credential that can only read.

Watch the 22-second clip · Full 60-second demo

Try it

Free plan: 1 operator, 1 provider, no card. Public clouds and on-prem on one surface, read-only API access.

Request access

How much of your cloud was created outside Terraform? I answer every comment.