Keep the runs. See the whole cloud.
ops0 runs Terraform and OpenTofu with plan review, policy checks, and approval, like HCP Terraform. Then it covers what a run platform never sees: the resources nobody wrote in code.
A run platform only knows what is in state. Your bill and your outages do not stop there.
Same runs. Wider view.
- Plan and apply for Terraform, with every run numbered and logged
- Policy checks on the real plan before anything applies
- Approval before deploy and destroy, sent to Slack, email, or a webhook
- Variables and sensitive values per project
- Remote state with locking
Read-only discovery across AWS, Azure, Google Cloud, and Oracle Cloud marks every resource as managed by a project or unmanaged, then turns the ones you pick into reviewed Terraform with imported state.
Scheduled drift checks compare code, state, and the live cloud. Changed or deleted resources open an incident and close it when a later check is clean.
Each change gets a per-resource monthly estimate, and an org or project budget can block an over-limit deploy at creation and again at approval.
Keep each project’s state in your own S3, Cloud Storage, Azure Blob, or OCI bucket, and pull secrets at run time from AWS Secrets Manager, Google Secret Manager, Azure Key Vault, or OCI Vault.
Import policy packs for SOC 2, ISO 27001, ISO 27002, HIPAA, GDPR, and CIS in one step. With separation of duties on, the person who starts a deployment cannot approve it.
OpenTofu, CloudFormation and StackSets, Ansible, Kubernetes, and guardrails for coding agents run through the same approvals and audit trail.
When HCP Terraform is the better fit.
- You need a plan on every pull request and an apply on merge today. ops0 opens pull requests from projects; PR-triggered runs are not available yet.
- Your configurations depend on Terraform features released after 1.5 and you do not want to move them to OpenTofu.
- You rely on a private module registry or no-code provisioning from HCP Terraform.
- You already run a large Sentinel policy library and only need remote runs.
Six steps per workspace.
- 01Connect the cloud read-only
Run discovery first to see everything running in the account, so nothing outside your workspaces is missed.
- 02Create a project per workspace
Point it at the same GitHub or GitLab repository and folder.
- 03Move the state
Lock the HCP Terraform workspace so no run writes during the copy, then move its state into your own S3, Cloud Storage, Azure Blob, or OCI bucket, or into ops0-managed state.
- 04Bring the variables
Import values from tfvars, environment variables, or JSON. Secret values are never imported automatically; reference them from your vault instead.
- 05Attach policies and approvals
Turn on the policy packs you need and separation of duties for production projects.
- 06Run a plan-only run
A plan with no changes shows that code, state, and the live resources line up before the first apply.
Common questions
Start with what is running.
Move the runs after.
Connect one account read-only and see everything running in it, including what no workspace manages, before you change a single run.