Helm
This guide walks you through deploying Staqr on Kubernetes using the official Helm chart.
Prerequisites
- Kubernetes cluster (v1.19+)
- Helm 3.x installed
- kubectl configured to access your cluster
Quick Start
1. Clone the Repository
git clone
cd staqr
2. Install Dependencies
helm dependency update
3. Create a Values File
Create a my-values.yaml file with your configuration. You can use the [removed] as a reference.
The Helm chart has sensible defaults for required values while leaving the optional ones empty, but you should customize these core values for production
4. Install Staqr
helm install staqr deploy/staqr-helm -f my-values.yaml
5. Verify Installation
# Check deployment status
kubectl get pods
kubectl get services
Production Checklist
- Set
frontendUrlto your actual domain - Set strong passwords for PostgreSQL and Redis (or keep auto-generated)
- Configure proper ingress with TLS
- Set appropriate resource limits
- Configure persistent storage
- Choose appropriate execution mode for your security requirements
- Review environment variables for advanced configuration
- Consider using a separate workers setup for better availability and security
Upgrading
# Update dependencies
helm dependency update
# Upgrade release
helm upgrade staqr deploy/staqr-helm -f my-values.yaml
# Check upgrade status
kubectl rollout status deployment/staqr
Troubleshooting
Common Issues
- Pod won't start: Check logs with
kubectl logs deployment/staqr - Database connection: Verify PostgreSQL credentials and connectivity
- Frontend URL: Ensure
frontendUrlis accessible from external sources - Webhooks not working: Check ingress configuration and DNS resolution
Useful Commands
# View logs
kubectl logs deployment/staqr -f
# Port forward for testing
kubectl port-forward svc/staqr 4200:80 --namespace default
# Get all resources
kubectl get all --namespace default
Editions
Staqr supports three editions:
ce(Community Edition): Open-source version with all core features (default)ee(Enterprise Edition): Self-hosted edition with advanced features like SSO, RBAC, and audit logscloud: For Staqr Cloud deployments
Set the edition in your values file:
staqr:
edition: "ce" # or "ee" for Enterprise Edition
For Enterprise Edition features and licensing, visit staqr.com.
Environment Variables
For a complete list of configuration options, see the Environment Variables documentation. Most environment variables can be configured through the Helm values file under the staqr section.
Execution Modes
Understanding execution modes is crucial for security and performance. See the Workers & Sandboxing guide to choose the right mode for your deployment.
Mock Services (Development Only)
Staqr includes Microcks as an optional subchart for carrier API mocking during development:
Enabling Mocks
Mocks are enabled via values files:
# values-dev.yaml - Mocks enabled
microcks:
enabled: true
service:
type: ClusterIP
port: 8080
persistence:
enabled: true
size: 1Gi
ingress:
enabled: true
hosts:
- host: mocks.dev.example.com
# values-production.yaml - Mocks disabled
microcks:
enabled: false
Mock Connections
When mocks are enabled, connections are auto-configured:
staqr:
connections:
optus:
connectionId: mock-optus-wsg
endpoint: "http://{{ .Release.Name }}-microcks:8080/soap/WsgServiceOrderService/9.2"
isMock: true
Accessing Microcks UI
# Port forward for local access
kubectl port-forward svc/staqr-microcks 8080:8080
# Or use the ingress URL
open https://mocks.dev.example.com
For detailed mock service documentation, see:
Uninstalling
helm uninstall staqr
# Clean up persistent volumes (optional)
kubectl delete pvc -l app.kubernetes.io/instance=staqr