This guide explains how to deploy OpenOps on a Kubernetes cluster using the official Helm chart. The Helm chart provides a complete OpenOps stack with all necessary components. Before following the instructions, make sure that your Kubernetes cluster meets the system requirements for OpenOps.Documentation Index
Fetch the complete documentation index at: https://openops-ecb4f397-mintlify-helm-chart-documentation-30057.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
- Kubernetes cluster (version 1.19+)
- Helm 3.x installed
kubectlconfigured to access your cluster- At least 8GB of available memory and 4 CPU cores
- Persistent storage support (for databases and file storage)
Architecture Overview
The Helm chart deploys the following components:- nginx: Reverse proxy and load balancer (exposed via LoadBalancer)
- openops-app: Main application server
- openops-engine: Task execution engine
- openops-tables: Data tables service (Baserow)
- openops-analytics: Analytics dashboard (Superset)
- postgres: PostgreSQL database
- redis: Redis cache
Installation
Step 1: Clone the Repository
First, clone the OpenOps repository to access the Helm chart:Step 2: Create Values Override File
Create a custom values file to override the default configuration. Start by copying the example:values.overrides.yaml and customize the following required values:
Step 3: Install the Helm Chart
Install OpenOps using Helm:Step 4: Wait for Deployment
Monitor the deployment status:Running state. This may take several minutes as images are pulled and databases are initialized.
Step 5: Access the Application
Get the external IP address of the nginx service:EXTERNAL-IP to be assigned. You can then access OpenOps at:
http://localhost:8080.
Configuration
Storage Configuration
The chart creates PersistentVolumeClaims for:- PostgreSQL data (20Gi)
- Redis data (5Gi)
- Tables data (10Gi)
Resource Limits
Configure resource limits for better resource management:Ingress Configuration
To use an Ingress controller instead of LoadBalancer:Upgrading
To upgrade your OpenOps installation:Uninstalling
To completely remove OpenOps:Troubleshooting
Common Issues
Pods stuck in Pending state:- Check if your cluster has sufficient resources
- Verify storage classes are available
- Check node selectors and taints
- Ensure PostgreSQL pod is running and ready
- Check database credentials in your values file
- Verify network policies allow communication
- Confirm LoadBalancer service has an external IP
- Check firewall rules and security groups
- Verify DNS configuration if using custom domains
Viewing Logs
Check application logs:Debugging
Access a pod for debugging:Support
For additional help:- Join our Slack community
- Check the GitHub repository for issues
- Review Kubernetes and Helm documentation for cluster-specific issues
