FAQ & Troubleshooting
Common questions and solutions for ops0 users.
General Questions
What cloud providers does ops0 support?
ops0 supports AWS, Google Cloud Platform (GCP), Microsoft Azure, and Oracle Cloud Infrastructure (OCI). You can connect multiple accounts from each provider and manage them all from one interface.
What IaC tools are supported?
ops0 supports Terraform, OpenTofu, and Oxid for infrastructure provisioning, with Pulumi and CloudFormation support upcoming. For configuration management, we support Ansible, Chef, and Puppet.
Can I use my existing IaC code?
Yes. Connect your existing GitHub or GitLab repository and ops0 syncs your IaC files (Terraform, OpenTofu, Oxid, etc.) automatically with two-way sync. Your existing code, modules, providers, and state work without modification. You can also use Discovery to scan existing cloud resources and generate IaC code automatically.
Does ops0 support GitLab?
Yes. ops0 supports both GitHub and GitLab for repository sync, including self-hosted GitLab instances. You can sync IaC projects, create merge requests, and manage branches. See the GitLab integration docs.
Does ops0 detect infrastructure drift?
Yes. ops0 compares live cloud infrastructure against your IaC state to detect out-of-band changes across AWS, GCP, and Azure. See Drift Detection for details.
Does ops0 support cost estimation across clouds?
Yes. Cost estimation works across AWS, GCP, Azure, and Oracle Cloud. ops0 queries real-time pricing APIs and shows estimated monthly costs before you deploy. See Cost Estimation.
Is there a self-hosted or enterprise option?
Yes. ops0 offers SaaS, single-tenant, and self-hosted deployment options. Self-hosted and single-tenant are available for Enterprise customers with full data sovereignty and air-gapped environment support. See Architecture for details.
What policy engines does ops0 use?
ops0 uses OPA/Rego for IaC and configuration policies, Kyverno for Kubernetes policies, and Checkov for static vulnerability scanning of Terraform code. See Policies.
Can I visualize dependencies between IaC projects?
Yes. The Variable Graph auto-detects cross-project dependencies via terraform_remote_state references and visualizes them as an interactive DAG with impact analysis. See Variable Graph.
Is my data secure?
Yes. ops0 uses encryption at rest and in transit, role-based access controls, and enterprise-grade security practices. SOC 2 Type II certification is in progress (expected Q1 2026). Credentials are stored encrypted and never logged. See our security documentation for details.
Does ops0 store my cloud credentials?
For AWS, we recommend using IAM Assume Role which doesn't require storing long-lived credentials. For other providers, credentials are encrypted at rest using AES-256 and are only decrypted at runtime.
Account & Authentication
How do I reset my password?
Click "Forgot Password" on the login page, enter your email, and follow the link sent to your inbox. The link expires in 1 hour.
I lost my 2FA device. How do I recover my account?
Use one of your recovery codes to log in. If you don't have recovery codes, contact your organization admin to disable 2FA on your account. If you're the only admin, use the contact options on ops0.com.
How do I set up SSO?
Go to Settings → General → SSO. ops0 supports SAML 2.0 and OIDC providers including Okta, Auth0, Azure AD, and Google Workspace. See the Authentication docs for setup instructions.
Can I be part of multiple organizations?
Yes. One email can belong to multiple organizations. Use the organization switcher in the top-left corner to switch between them.
Infrastructure as Code
Why is my Terraform plan failing?
Common causes:
- Invalid credentials - Check your AWS/GCP/Azure integration is connected
- Missing provider - Ensure you have a provider block configured
- Syntax errors - Check the error message for line numbers
- State lock - Another deployment may be in progress
How do I import existing resources into IaC?
Use the Discovery feature: Go to Discovery → Run Scan → Select resources → Import to Project. ops0 generates the IaC code (Terraform, OpenTofu, etc.) and imports the state automatically.
Where is my Terraform state stored?
By default, ops0 manages state for you in encrypted storage. You can also configure a remote backend (S3, GCS, Azure Blob) in your Terraform configuration if you prefer.
My deployment is stuck. What should I do?
Check the deployment logs for errors. If it's waiting on a resource, there may be a dependency issue. You can cancel the deployment and retry. If state is corrupted, contact support.
How do I roll back a deployment?
Go to the deployment history, find the previous successful deployment, and click "Restore". This creates a new deployment that reverts to that state. Review the plan before applying.
Kubernetes
Why can't ops0 connect to my cluster?
Common causes:
- Agent not installed - Run the helm install command shown in Add Cluster
- Network issues - Ensure the agent can reach ops0's API endpoint
- Expired credentials - Regenerate the cluster token
- RBAC issues - Verify the service account has required permissions
What permissions does the ops0 agent need?
The agent needs read access to pods, deployments, services, and events. For incident response features, it needs write access to restart pods. See the Kubernetes docs for the full RBAC manifest.
How do I view pod logs?
Navigate to Kubernetes → Clusters → Select cluster → Pods → Click on a pod → Logs tab. You can filter by container if the pod has multiple containers.
Why am I getting "too many incidents"?
ops0 creates incidents for pod crashes, OOMKills, and failed health checks. You can adjust sensitivity in Settings → Notifications or suppress specific incident types.
Integrations
AWS integration shows "Access Denied"
Verify the IAM role or user has the required permissions. For Assume Role, check the trust policy allows ops0's AWS account. Test the connection in the integration settings.
GitHub sync isn't working
Check that:
- The GitHub App is installed on the repository
- The correct branch is configured
- There are no merge conflicts
- The repository hasn't been archived or deleted
Slack notifications aren't arriving
Verify the Slack integration is connected and the correct channel is selected. Check that the ops0 bot has permission to post in the channel. Test with the "Send Test" button.
Policies & Compliance
My deployment was blocked by a policy. What do I do?
Read the policy violation message to understand what's wrong. Fix the issue in your code (e.g., add encryption, fix security group rules). If the policy is incorrect, ask your admin to update it or suppress the violation with justification.
How do I write a custom policy?
Policies are written in Rego (Open Policy Agent's language). Go to Policies → Create Policy, choose a template or start from scratch. See the Creating Policies docs for examples and syntax.
Can I make exceptions to a policy?
Yes. Go to Compliance → Find the violation → Suppress. You must provide a justification and optionally an expiration date. Suppressed violations don't affect your compliance score.
Common Error Messages
Getting Help
If you can't find an answer here:
Search the Docs
Start from the setup path and follow the linked feature guides.
Troubleshooting
Use the symptom-based troubleshooting guide for operational issues.
Open the Product
Go directly to the ops0 workspace in brew.ops0.ai.
Company Site
Use the company site for contact and product context.